38
Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration Systems - CSE 435 - Sudhan Kanitkar

Embed Size (px)

Citation preview

Page 1: Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration Systems

- CSE 435- Sudhan Kanitkar

Page 2: Configuration Systems - CSE 435 - Sudhan Kanitkar

Outline of the Presentation

What is a Configuration System ? Requirements, Issues and Approaches Use of Case-based Reasoning for

Configuration Systems Adaptation Problem and its Issues

Page 3: Configuration Systems - CSE 435 - Sudhan Kanitkar

What is Configuration System ?

What is a Configuration Task ?– Components– Connections– Constraints– Requirements

Example: Electrical system of a house Example: Automatic Code Generation

Page 4: Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration – A Design Task

Function of Configuration System is thus analogous to a Design Task

Types of Design– Routine Design– Innovative Design– Creative Design

Configuration Task can be modeled as Routine Design

Page 5: Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration Task

Predefined Components Connection of Components Task Specification

– Set of components (XCON)– Constraints

Constraint Satisfaction Problem

Page 6: Configuration Systems - CSE 435 - Sudhan Kanitkar

Properties

Comparatively tractable design task Usually applied on relatively Closed Problems Comparison with Planning tasks Full Automation which is desired is possible.

Page 7: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Rule-Based Systems– Very attractive choice owing to closeness to

Configuration System– Drawbacks - Knowledge Acquisition, Consistency

checking, Lack of modularity & Adaptability– Limited use resolves these issues. – Found useful for representation of Glue

components

Page 8: Configuration Systems - CSE 435 - Sudhan Kanitkar

XCON – eXpert CONfigurer

Assist in configuration of DEC’s VAX computer systems

Input: Required Characteristics of computer Output: Specification of computer system Inference Engine: Forward chaining 25000 rules, 95-98% accuracy Processed 80000 orders by 1986 Developed to overcome lack of technical

knowledge of sales people

Page 9: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Concept Hierarchies– Use of Object-oriented techniques such as frames

for knowledge representation– Supports IS-A and HAS-A relationships– Supports the use of description logics– Enables definitions of “Skeletal Plans”.– OWL – Web Ontology Language may provide the

ability to represent data on the web.

Page 10: Configuration Systems - CSE 435 - Sudhan Kanitkar

Concept Hierarchy – An Example

Component

MonitorKeyboardMainboardProcessorPC-Case OS Mouse

Single-CoreDual-Core

PentiumCeleronCoreDuo

ServerClient

Windows 2003XP-Prof.XP-Home

Page 11: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Structure-Based Approach– Relies on forming solutions based on structure of

knowledge (Concept Hierarchies)– Solution is represented in same form as the

knowledge and can be generalized or specialized.

e.g. Music-Photos-Videos PC– Flatscreen Monitor, Printer, Card Reader .

e.g. Database Server– Hard drive, RAM, Processor

Page 12: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example - Structured Approach

Music – Photos – Videos PC

DVD-R/W

Printer

Sound Card

Flatscreen Monitor

Video Card

Card Reader

Page 13: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example – Structured Approach

Database Server

Processor OS

MemoryHard Drive

Page 14: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Constraint-Based System– Usually used in specifying requirements rather than

knowledge representation– Used in conjunction with a knowledge base

represented using a different approach– Impose restrictions as relations between objects.– Incremental built up of a solution causing reduction– Gives rise to the concept of constraint satisfaction– e.g. Use with skeletons generated by structured

approach to obtain complete solutions.

Page 15: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Resource-Based Approach– Requirements specify only the functionality of the

developed system.– Component knowledge needs to be represented in

terms of the task it performs.– Depending on tasks needed to fulfill a function

components are selected.– Connectivity knowledge representation can be

incorporated into components itself

Page 16: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example – Resource based Approach

Robot - Localization– GPS– Map building and Path planning algorithms

Robot – Obstacle Avoidance– Sensors – IR, Sonar, Laser, Camera– Potential fields and Obstacle avoidance

algorithms.

Page 17: Configuration Systems - CSE 435 - Sudhan Kanitkar

Approaches

Case-based Reasoning– Stores a set of solutions called Cases– Possible use of preprocessing on stored cases– Use these case to generate new solutions– May/May Not use a case completely– Methods of use:

Retrieval Adaptation Derivational Analogy

Page 18: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example - Case-Based Reasoning

Problem is to configure an alarm system for a house from a set of pre defined components.

Problem Description consists number of rooms, windows and doors on each floor

Attribute Value

Doors 1

Rooms-1 2

Windows-1 2

Rooms-2 1

Windows-2 1

Fire Protection True

Motion Protection False

Page 19: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example – Case based Reasoning

Properties– Maximum 6 sensors to one circuit– Fire & Motion sensors should be on separate circuits

so that they can be operated independently– Fire & motion if required should protect all the rooms– Atleast one door should have a door delay sensor– Each system should have atleast one sensor unit and

one alarm unit

Page 20: Configuration Systems - CSE 435 - Sudhan Kanitkar

Example – Case Based Reasoning

Page 21: Configuration Systems - CSE 435 - Sudhan Kanitkar

Case-Based Reasoning

Compositional Adaptation– Select 2-3 cases that match most closely with the

input case.– For each attribute use the value from the case

which suits the solution the best– No modifications are made on the values– Values are however used from multiple cases

Page 22: Configuration Systems - CSE 435 - Sudhan Kanitkar

Case Based Reasoning

Page 23: Configuration Systems - CSE 435 - Sudhan Kanitkar

Case-Based Reasoning

Transformational Adaptation– Used when compositional adaptation doesn’t

provide satisfactory– Arises when input case is quite different from all

the cases in the case base.– Starts with an approach similar to compositional

adaptation– Involves changing of values, adding new values

or deleting values for certain attributes.

Page 24: Configuration Systems - CSE 435 - Sudhan Kanitkar

Case Based Reasoning

Page 25: Configuration Systems - CSE 435 - Sudhan Kanitkar

Adaptation – Knowledge Growth

Configuration systems provide – Case Representation– Similarity Assessment– Retrieval

Configuration system don’t provide– Case adaptation– New case generation

Result: No learning

Page 26: Configuration Systems - CSE 435 - Sudhan Kanitkar

Adaptation as Configuration

Adaptation can be said to be an incremental step to Configuration.

Should be able to generate new cases Add the new cases to the case base Update the inference engine accordingly

Page 27: Configuration Systems - CSE 435 - Sudhan Kanitkar

Adaptation Techniques

Substitutional Adaptation Transformational Adaptation Derivational Adaptation Composition Adaptation (Configuration) Incremental level of complexity in above

methods Actual adaptation system may be semi-

automatic

Page 28: Configuration Systems - CSE 435 - Sudhan Kanitkar

Adaptation – Configuration Perspective

Configuration task involves organizing an identifiable and predefined set of components in order to satisfy some constraints

Configuration Problem should involve:– Set of Configurable components– Set of ordering constraints – Configuration Operators that encode valid component

configurations

Adaptation Operators

Page 29: Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration Operators

Describe a unit of operation in the configuration task

Application of a certain operator will govern the next step in the configuration process

Maintain the dependencies and constraints at each stage

Operators are an abstract concept and implementation is domain dependent.

Application of operators is generally controlled by a certain rule based system

Page 30: Configuration Systems - CSE 435 - Sudhan Kanitkar

Object Model for Electrical System

Page 31: Configuration Systems - CSE 435 - Sudhan Kanitkar

Object Model of Electrical System

Page 32: Configuration Systems - CSE 435 - Sudhan Kanitkar

Common Configuration Operators

Configure (Object) Parameterize (Attribute) Compose (Concept) Decompose (Concept) Specialize (Concept)

Page 33: Configuration Systems - CSE 435 - Sudhan Kanitkar

Benefits of Operators

Explicit representation of decisions made during generating solution and dependencies

Support for withdrawing decisions in effective manner

Can easily be controlled through rules and constraints

Page 34: Configuration Systems - CSE 435 - Sudhan Kanitkar

Configuration based Adaptation

Most CBR systems implement adaptation limited to substitutional techniques

Difference between description space and solution space.

If there is a mapping between these two spaces then it might be possible to generate cases for various solutions created

Page 35: Configuration Systems - CSE 435 - Sudhan Kanitkar

Adaptation Operator & Action

Adaptation Operator is applied on attributes of a solution to adapt them into a case

This assumes the use of concept hierarchy representation

Adaptation Action involves application of a sequence of one of more Adaptation Operators– Simple Action – Applies on just one attribute– Complex Action – Applies on a more than one

operator

Page 36: Configuration Systems - CSE 435 - Sudhan Kanitkar

Doesn’t always work

Conflict Resolution Optimal solution not found/Incorrect of

Incompatible Solutions Revision of Decisions Repair of a partial solution

Page 37: Configuration Systems - CSE 435 - Sudhan Kanitkar

Inferences

There are primarily two approaches– Case based reasoning– Conceptual hierarchy

Although the latter is more promising in almost all criteria it also comes with a level of complexity

Most of the configuration systems currently use the CBR based techniques.

Page 38: Configuration Systems - CSE 435 - Sudhan Kanitkar

References

Configuration techniques for Adaptation– Wilke, Smyth, Cunningham.

Knowledge-Based Configuration – Survey and Future Directions– Andreas Gunter, Christian Kuhn