380 likes | 519 Views
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. What is Configuration System ?.
E N D
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
What is Configuration System ? • What is a Configuration Task ? • Components • Connections • Constraints • Requirements • Example: Electrical system of a house • Example: Automatic Code Generation
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
Configuration Task • Predefined Components • Connection of Components • Task Specification • Set of components (XCON) • Constraints • Constraint Satisfaction Problem
Properties • Comparatively tractable design task • Usually applied on relatively Closed Problems • Comparison with Planning tasks • Full Automation which is desired is possible.
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
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
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.
Component PC-Case Processor Mainboard Keyboard Monitor OS Mouse Dual-Core Single-Core Client Server CoreDuo Celeron Pentium XP-Home XP-Prof. Windows 2003 Concept Hierarchy – An Example
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
Video Card DVD-R/W Flatscreen Monitor Music – Photos – Videos PC Card Reader Sound Card Printer Example - Structured Approach
Hard Drive Memory Database Server Processor OS Example – Structured Approach
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.
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
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.
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
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
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
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
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.
Adaptation – Knowledge Growth • Configuration systems provide • Case Representation • Similarity Assessment • Retrieval • Configuration system don’t provide • Case adaptation • New case generation • Result: No learning
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
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
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
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
Common Configuration Operators • Configure (Object) • Parameterize (Attribute) • Compose (Concept) • Decompose (Concept) • Specialize (Concept)
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
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
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
Doesn’t always work • Conflict Resolution • Optimal solution not found/Incorrect of Incompatible Solutions • Revision of Decisions • Repair of a partial solution
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.
References • Configuration techniques for Adaptation • Wilke, Smyth, Cunningham. • Knowledge-Based Configuration – Survey and Future Directions • Andreas Gunter, Christian Kuhn