Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.
-
Upload
maleah-formby -
Category
Documents
-
view
214 -
download
0
Transcript of Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.
ConfigurationConfigurationIngegneria della Conoscenza e Sistemi Ingegneria della Conoscenza e Sistemi
EspertiEsperti
Paolo MereghettiPaolo Mereghetti
Problem-Solving TypesProblem-Solving Types
ClassificationClassification
ConstructionConstruction ConfigurationConfiguration AssignmentAssignment PlanningPlanning
SimulationSimulation
Problem Solving MethodsProblem Solving Methods
Heuristic constructionHeuristic construction Skeletal constructionSkeletal construction Propose-revise strategyPropose-revise strategy Propose-exchange strategyPropose-exchange strategy Least-commitment strategyLeast-commitment strategy
Model based constructionModel based construction
Case based constructionCase based construction
Business Service Business Service Components: a Knowledge Components: a Knowledge
Based ApproachBased ApproachS. Bandini, S. Manzoni and P. MereghettiS. Bandini, S. Manzoni and P. Mereghetti
Department of Computer Science, Systems and Department of Computer Science, Systems and CommunicationCommunication
University of Milano-BicoccaUniversity of Milano-Bicocca
Project GoalProject Goal
Development of a KB support system that Development of a KB support system that helps Telcordia Tecnologies consultants in helps Telcordia Tecnologies consultants in the activity of design and develop the activity of design and develop architectures for Business Servicesarchitectures for Business Services
Namely BellcoreMorristown, NJ (USA)
Consultants activitiesConsultants activities
formulate high-level business goals and a formulate high-level business goals and a strategy to achieve these goals (business strategy to achieve these goals (business service design)service design)
identify suitable functionalities to provide a identify suitable functionalities to provide a business servicebusiness service
identify a suitable configuration of products identify a suitable configuration of products to realize a technological solutionto realize a technological solution
Component DefinitionComponent Definition
I.I. A component is a self-contained software construct that A component is a self-contained software construct that has a defined use, has a run-time interface, can be has a defined use, has a run-time interface, can be autonomously deployed, and is built with foreknowledge autonomously deployed, and is built with foreknowledge of a specific component socketof a specific component socket
II.II. A component socket is software that provides a well-A component socket is software that provides a well-defined and well-known interface to a supporting defined and well-known interface to a supporting infrastructure into which the component will fitinfrastructure into which the component will fit
III.III. A component is built for composition and collaboration A component is built for composition and collaboration with other componentswith other components
(Business Component Factory: (Business Component Factory: A Comprehensive Overview of Component-Based Development for the Enterprise A Comprehensive Overview of Component-Based Development for the Enterprise by Peter Herzum, Oliver Simsby Peter Herzum, Oliver SimsJohn Wiley & Sons, 2000John Wiley & Sons, 2000ISBN: 0471327603)ISBN: 0471327603)
Component TypesComponent Types
BCBC - Business Component - Business Component Realization of a defined functionalityRealization of a defined functionality BC maps to definition IBC maps to definition I
MSCMSC - Middleware Service Component - Middleware Service Component Realization of a defined middleware serviceRealization of a defined middleware service MSCs define the supporting infrastructure of MSCs define the supporting infrastructure of
BCsBCs MSC maps to definition IIMSC maps to definition II
BCs support the relationships:BCs support the relationships: collaborationcollaboration RequiresRequires
MSCs support the relationships:MSCs support the relationships: compatibilitycompatibility SuppliesSupplies
MSCs comply standardsMSCs comply standards
Relationships allow to build components for Relationships allow to build components for composition and collaboration with other composition and collaboration with other components (maps to definition III)components (maps to definition III)
BC collaboration
requires
RelationshipsRelationships
compatibilitysuppliesstandard
MSC
BC collaboration relationshipBC collaboration relationship
collaborationcollaboration relationship is defined between relationship is defined between BCs onlyBCs only
A BC may support many A BC may support many collaborationcollaboration relationshipsrelationships
collaborationcollaboration relationship can be classified in: relationship can be classified in: By dependencyBy dependency
(well-known relationship)(well-known relationship) By designBy design
(deduced by configuration(deduced by configurationrequirements)requirements)
collaboration by dependency
collaboration by design
requiresrequires relationship is defined between BCs relationship is defined between BCs and MSCsand MSCs
A BC may have many A BC may have many requiresrequires relationships relationships
requiresrequires relationship can only be: relationship can only be: By dependencyBy dependency
(well-known relationship)(well-known relationship) BC BC
BC
BC
BC requires relationBC requires relation
Vignette catalog manager
Vignette transaction manager
Middleware Service ComponentMiddleware Service Component
compatibilitycompatibility relationship is defined between relationship is defined between MSCs only MSCs only
A MSC may have many A MSC may have many compatibilitycompatibility relationshipsrelationships
compatibilitycompatibility relation can be classified in: relation can be classified in: By dependencyBy dependency
(well-known relationship)(well-known relationship) By designBy design
(deduced by configuration(deduced by configurationrequirements)requirements)
compatibility by dependency
compatibility by design
MSC MSC
MSC
MSC
Middleware Service ComponentMiddleware Service Component
suppliessupplies relation is defined between MSCs and relation is defined between MSCs and BCsBCs
A MSC may have many A MSC may have many suppliessupplies relations relations
suppliessupplies relation can only be: relation can only be: By dependencyBy dependency
(well-known relation)(well-known relation)
Vignette catalog manager
Vignette transaction manager
AdapterAdapter
Is a MSC without supplies relationshipsIs a MSC without supplies relationships
It helps two different MSCs to be It helps two different MSCs to be compatiblecompatible
MSC Adapter MSC
Legacy SystemsLegacy Systems
A Software Bundle composed by a set of BCs and A Software Bundle composed by a set of BCs and MSCsMSCs
No information on a single BC or MSC (internal No information on a single BC or MSC (internal structure)structure)
MSC
BC BC
MSC
BC
Software Bundle
Legacy SystemsLegacy Systems
Possibility to buy or build AdaptersPossibility to buy or build Adapters
MSC2
BC1 BC2
MSC1
BC3
Software Bundle
Adapter
Adapter
Using Adapters
MSC3
Legacy SystemsLegacy Systems
Possibility to know the standards that Possibility to know the standards that comply tocomply to
MSC2
BC1 BC2
MSC1
BC3
Software Bundle
“Exporting” Standards
MSC3
The Supporting ToolThe Supporting Tool
Based on “Generate and Test” approach Based on “Generate and Test” approach with an Adapter modulewith an Adapter module
A solution hypothesis is generatedA solution hypothesis is generated
The solution is testedThe solution is tested
If the Test phase failed, the tool is able to If the Test phase failed, the tool is able to adapt the solutionadapt the solution
The Supporting Tool (logical steps)The Supporting Tool (logical steps)
Input acquisition (set of BCs, Input acquisition (set of BCs, functionalities and collaboration by design functionalities and collaboration by design relations)relations)Input verification and completionInput verification and completion Using the component selection criteriaUsing the component selection criteria Using knowledge on collaboration by Using knowledge on collaboration by
dependencydependency
Identification of the set of MSCs that Identification of the set of MSCs that satisfies all the services required by BCssatisfies all the services required by BCs
The Supporting Tool (logical steps)The Supporting Tool (logical steps)
Relationships projectionRelationships projection
Each compatibility by design is testedEach compatibility by design is tested
MSC
BC BC
MSC
MSCs CompatibilityMSCs Compatibility
Two MSCs are considered compatible if:Two MSCs are considered compatible if: A compatibility by dependency is definedA compatibility by dependency is defined Exist an MSC with compatibility by Exist an MSC with compatibility by
dependency relationship with themdependency relationship with them There is at least one common standard they There is at least one common standard they
comply tocomply to
MSCs CompatibilityMSCs Compatibility
Solution exampleSolution example
WirelessGateway
VoiceGateway
Cocoon
JMSRouter
UserInterface
DeliverySystem
Prof.-Cont.Manag.
Credit-CardSystem E-Shop Call Center
DeliverySystem
Leg
acy
Sys
tem
EJBContainer
JMS-XML
JMS-XML
JMS-XML
JMS-XML
RMI
Compatibility by dependency
Compatibility by standards
RMITomcat
HTTP
HTTP
Component selection criteriaComponent selection criteria
A tree-structured hierarchy of quality A tree-structured hierarchy of quality features (Quality Tree) has been definedfeatures (Quality Tree) has been definedA quality value (i.e. in [1..10]) and a weight A quality value (i.e. in [1..10]) and a weight are assigned to each nodeare assigned to each nodeDifferent tree branches represent different Different tree branches represent different quality features (i.e. Technical quality quality features (i.e. Technical quality features, Marketing quality features, etc.)features, Marketing quality features, etc.)Each tree level correspond to a specific Each tree level correspond to a specific level of granularity for that featurelevel of granularity for that feature
Quality TreeQuality Treequality
technical marketing
managementfriendliness
productengineering
marketposition
investmentrisk
cost
configuration operation
Handling the Quality TreeHandling the Quality Tree
The Tool can handle Quality Trees whose The Tool can handle Quality Trees whose values are not completely assignedvalues are not completely assigned Some nodes have no quality value assigned to Some nodes have no quality value assigned to themthem
The Tool uses Upwards and Downwards The Tool uses Upwards and Downwards Completion Completion functions to complete the treefunctions to complete the tree
Product Tree completionProduct Tree completion
Node values calculated with the upwards functionNode values calculated with the downwards function
Node values defined by the Product Steward
Product and Query Quality TreeProduct and Query Quality Tree
Product Quality TreeProduct Quality Tree Associated to a product (component)Associated to a product (component) Weights are defined and configured tool-wide, Weights are defined and configured tool-wide,
but not for each productbut not for each product
Query Quality TreeQuery Quality Tree Isomorphic to the Product Quality TreeIsomorphic to the Product Quality Tree A relational operator is defined for each node A relational operator is defined for each node
and is used in the quality indicators and is used in the quality indicators computationcomputation
The Query The Query Quality Features ListQuality Features List
Users are presented with simple, high-level questions in Users are presented with simple, high-level questions in order to assess:order to assess:
Their propension to riskTheir propension to risk Their technology and SW budgetTheir technology and SW budget Their expected levels of traffic (customer targets)Their expected levels of traffic (customer targets)
Using this simple data, the Tool infers values for some of Using this simple data, the Tool infers values for some of the remaining features that are collected in a list (Quality the remaining features that are collected in a list (Quality Features List):Features List):
Investment RiskInvestment Risk CostCost ScalabilityScalability
Using the Using the Quality Features ListQuality Features List
A new Query Tree is constructed using the A new Query Tree is constructed using the values values in the Query in the Query Quality Features ListQuality Features List
Quality Features List Query Quality Tree created
Nodes without an associated valueInput values
QQuality indicatorsuality indicators
ItIt i is now is possible to compute the Quality s now is possible to compute the Quality Indicators valuesIndicators values
Query Quality Tree Product Quality Tree
Only the values are used to compute the indexes
IndicatorsIndicators
DistanceDistance
Quality IndicatorQuality Indicator
Constraint Violation Constraint Violation IndicatorIndicator
BibliogrphyBibliogrphy
Rolston, D.W., Principles of Artificial Intelligence and Rolston, D.W., Principles of Artificial Intelligence and Expert systems Development , McGraw Hill International Expert systems Development , McGraw Hill International Edition, 1988.Edition, 1988.Rolston D.W., Sistemi esperti: teoria e sviluppo-, Rolston D.W., Sistemi esperti: teoria e sviluppo-, MacGraw Hill Libri Italia, Milano, 1991.MacGraw Hill Libri Italia, Milano, 1991.Guida, G., G. Berini, Ingegneria della Conoscenza: Guida, G., G. Berini, Ingegneria della Conoscenza: Strumenti per Innovare e per Competere, E.G.E.A., Strumenti per Innovare e per Competere, E.G.E.A., 2000.2000.Forgy, C.: On the efficient implementation of production Forgy, C.: On the efficient implementation of production systems, Ph.D. Thesis, Carnagy Mellon University, 1979.systems, Ph.D. Thesis, Carnagy Mellon University, 1979.Forgy, C.: Rete: A Fast Algorithm for the Many Pattern Forgy, C.: Rete: A Fast Algorithm for the Many Pattern Many Object Pattern Match Problem, Artificial Many Object Pattern Match Problem, Artificial Inelligence, 19(1) 1982.Inelligence, 19(1) 1982.