Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

33
Configuration Configuration Ingegneria della Conoscenza e Ingegneria della Conoscenza e Sistemi Esperti Sistemi Esperti Paolo Mereghetti Paolo Mereghetti

Transcript of Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

Page 1: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

ConfigurationConfigurationIngegneria della Conoscenza e Sistemi Ingegneria della Conoscenza e Sistemi

EspertiEsperti

Paolo MereghettiPaolo Mereghetti

Page 2: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

Problem-Solving TypesProblem-Solving Types

ClassificationClassification

ConstructionConstruction ConfigurationConfiguration AssignmentAssignment PlanningPlanning

SimulationSimulation

Page 3: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 4: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 5: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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)

Page 6: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 7: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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)

Page 8: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 9: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 10: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 11: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 12: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 13: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 14: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 15: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 16: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 17: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 18: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 19: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 20: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 21: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 22: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

MSCs CompatibilityMSCs Compatibility

Page 23: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 24: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 25: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

Quality TreeQuality Treequality

technical marketing

managementfriendliness

productengineering

marketposition

investmentrisk

cost

configuration operation

Page 26: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 27: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 28: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 29: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 30: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 31: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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

Page 32: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

IndicatorsIndicators

DistanceDistance

Quality IndicatorQuality Indicator

Constraint Violation Constraint Violation IndicatorIndicator

Page 33: Configuration Ingegneria della Conoscenza e Sistemi Esperti Paolo Mereghetti.

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.