60
Modèles formels et outils génériques pour la gestion et la recherche de composants Soutenance de thèse présentée par Oualid KHAYATI dirigée par Jean-Pierre GIRAUDIN & Agnès FRONT 17 décembre 2005

Modèles formels et outils génériques pour la gestion et la recherche de composants

Embed Size (px)

DESCRIPTION

Modèles formels et outils génériques pour la gestion et la recherche de composants. Soutenance de thèse présentée par Oualid KHAYATI. dirigée par Jean-Pierre GIRAUDIN & Agnès FRONT. 17 décembre 2005. Client SIT Analyse Symphony. - PowerPoint PPT Presentation

Citation preview

Page 1: Modèles formels et outils génériques pour la gestion et la recherche de composants

Modèles formels et outils génériques pour la gestion et la recherche de composants

Soutenance de thèseprésentée par

Oualid KHAYATI

dirigée par

Jean-Pierre GIRAUDIN & Agnès FRONT

17 décembre 2005

Page 2: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 2

Problématique Composant

Définition(s)

C’est une unité de conception (de n’importe quel niveau d’abstraction) identifiée par un nom, avec une structure définie et des directives de conception sous la forme de documentation pour supporter sa réutilisation (Pernici, 2000) 

Il peut être spécifié et développé par différentes équipesIl décrit les services (interfaces) offerts et requis Il peut être assemblé avec d’autres composants(OMG 2003)

Client SIT Analyse

Client SITConception EJB

Client SIT Logiciel EJB

Java.rmi.Remote<<Interface>>

Javax.ejb.EJBObject<<Interface>>

Javax.ejb.EJBHome<<Interface>>

Client

Modifier()AttribuerClientPayeur()AttribuerAyantDroit()AjouterCarte()SupprimerCarte()ForfaitAbonnement()ChangerStatut()GetAdresse()SetAdresse()GetNom()SetNom()GetClefPrimaire()SetClefPrimaire()PayerAbonnement()PayerPersonnellement()

<<Interface>>

ClientHome

Client Créer()Supprimer()Client FindByPrimaryKey()Client FindByNom()

<<Interface>>

Raffine Implante

Concept métier de Client dans les Systèmes d’Information de Transport - SIT

(Initiative Centr’Actoll)(Khayati, 2003a) (Khayati, 2004b)

Client SIT AnalyseSymphony

Page 3: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 3

Les bibliothèques de composants au coeur des équipes de développement

Bibliothèques de Composants réutilisables

Concepteur d’applications

Extraire des composants Archiver et indexer des composants

Groupe d’identification et certification

Nouveaux Composants à archiver

Demander de nouveaux composants

Bibliothécaire de composants

Demandes

Problématique Acteurs et processus

Groupe de maintenance

Groupe de développement

Développer des composants

Demande de mise a jour

Acheter descomposants

Fournisseur de composants

Page 4: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 4

Exemple de requête composite d’un concepteur d’application

Requête utilisateur = R1 et (R2 ou R3) et R4

• R1 : retrouver un composant métier Client du domaine SIT.

• R2 : qui admet une implantation réalisée avec la technologie EJB.

• R3 : qui admet une implantation réalisée avec la technologie CCM.

• R4 : qui offre une fonction PayerAbonnement()

Problématique Requêtes

Page 5: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 5

expression des besoins conception réalisation

Hétérogénéité des niveaux d’abstraction de composants

Hétérogéné ité d es éq uip es

Ingénieur de composants

Concepteur d'applications

Hété rog éné ité d es m

o dè le s et d es so urce s de c omp osa nts

EJB

, CC

M, P

atro ns, …

Environnement d’aide à la réalisation et à l’utilisation de composants

Hétérogénéité des techniques de recherche de composants

Classification externe, classification structurelle, …

Cadre retenu 4 sources d’hétérogénéité

Page 6: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 6

Plan

I. Problématique

II. État de l’art

III. Propositions

IV. Conclusion et perspectives

Page 7: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 7

Plan

I. Problématique

II. État de l’arti. Approches à composants

ii. Approches de recherche de composants

III. Propositions

IV. Conclusion et perspectives

Page 8: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 8

Environnement d’exécution

Attribut de déploiement

Dépendance de déploiement

Vue de déploiement

Vue externe

Interface fonctionnelle requise

Interface fonctionnelle fournieAttribut de

configuration

Vue externe

État de l’art

Les composants logiciels : concepts (COM, EJB, Fractal, …)

Approches à composants

Vue interne Interface de contrôle requise

Interface de contrôle fournie

Instance de composant

Page 9: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 9

État de l’art

Exemple de composant logiciel : Client SIT logiciel en EJB

Approches à composants

Java.rmi.Remote<<Interface>>

Javax.ejb.EJBObject<<Interface>>

Javax.ejb.EJBHome<<Interface>>

Client

Modifier()AttribuerClientPayeur()AttribuerAyantDroit()AjouterCarte()SupprimerCarte()ForfaitAbonnement()ChangerStatut()GetAdresse()SetAdresse()GetNom()SetNom()GetClefPrimaire()SetClefPrimaire()PayerAbonnement()PayerPersonnellement()

<<Interface>>

ClientHome

Client Créer()Supprimer()Client FindByPrimaryKey()Client FindByNom()

<<Interface>>

Page 10: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 10

État de l’art

Exemple de composant conception : le patron Composite de Gamma (Gamma, 1995) …

Approches à composants

Formalisme de patrons

Système de patrons

Interface Réalisation Relation

Patron

n1 n

+Formalisme

1

n

n

n

n

Catégorie Rubrique

1..n1..n

1..n n

+Catégorie de rubrique1..n n

Champ

nn

Nom patron Composite

Auteur E. Gamma

Intention ce patron permet de gérer une composition récursive d’objets. Il définit des hiérarchies de classes d’objets simples et d’objets composites et facilite l’ajout des nouveaux composants.

Solution

Leaf

Operation(opérande : Texte)

Composite

Add(child : Component)Remove(child : Component)Operation()

ClientComponent

Operation() **

Page 11: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 11

État de l’art

Exemple de composant Analyse : Client SIT analyse dans Symphony

Approches à composants

Client SIT AnalyseSymphony

Page 12: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 12

État de l’art

Bilan

Approches à composants

• Multitude de niveaux d’abstraction• Multitude de modèles de composants par niveau d’abstraction

Extraire un métamodèle unificateur et évolutif

Approches à composants :

Page 13: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 13

État de l’art

I. Problématique

II. État de l’arti. Approches à composants

ii. Approches de recherche de composants

III. Propositions

IV. Expérimentations

V. Conclusion et perspectives

Page 14: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 14

Les techniques de recherche de composants

Recherche comportementaleClassification externe

Classification structurelle Recherche par navigation

État de l’art Approches de recherche de composants

Page 15: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 15

Représentation de composant Composant* 1* 1

Représentation par facettes

Nom

Vocabulaire

Facette

1..*1..*

11Terme

1..*1..*

**

Domaine métier : Bancaire, SIT, …Technologie implantation : EJB, CCM, … Niveau abstraction : Analyse, conception,…

Indexation sémantique Indexation sémantique

Classification externe : classification par facettes (Asset, 1993) (Poulin, 1995) (Zhang, 2000) …

État de l’art Approches de recherche de composants

• Retrouver un composant Client du domaine métier SIT.

Indexation manuelleIndexation manuelle

Page 16: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 16

Rigueur mathématique, indexation automatiqueRigueur mathématique, indexation automatique

Classification structurelle : appariement de signatures (Gaudel, 1991) (Ritti, 1992) (Zarimski, 1995)…

État de l’art Approches de recherche de composants

Langage de spécification, performanceLangage de spécification, performance

• Retrouver un composant qui offre la fonction PayerAbonnement (p1:Type1)

Opération

Composant

Interface

1..*1..*

1..*1..*

Signature d'opération 1 11 1

Représentation par signatures

11 11

Signature d'interface 1 11 1

1..*1..*

1..*1..*

Page 17: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 17

Recherche comportementale : analyse des traces d’exécution(Podgursky, 1993) (Hall, 1993) (Chou, 1996) …

État de l’art Approches de recherche de composants

Composant 3

Composant 2

Composant 1

Trace d’exécution

Indexation automatiqueIndexation automatique Temps de réponseTemps de réponse

Espaces des valeurs d’entrée

Espaces des valeurs de sortie

(5,3,2,4,1),(4,3,5,1,2),(2,1,5,3,4) -> (1,2,3,4,5)

• Retrouver tous les composants implantant une fonction de tri croissant

Filtrage

Résultat

Page 18: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 18

Recherche par navigation : navigation hypertexte (Cybulski, 1993) (Jeng, 1993) (Freitag, 1994) …

État de l’art Approches de recherche de composants

RaffinementRaffinement

Organisation manuelle ou semi automatique, point de départ Organisation manuelle ou semi automatique, point de départ

C2

C7

C1C6

C3

C4

C5utilise

hérite

équivalent

Page 19: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 19

Comparaison entre les techniques de recherche de composants

État de l’art Approches de recherche de composants

• Critères techniques : Précision, Rappel, Couverture, Complexité d’appariement, Potentiel d’automatisation

• Critères économiques : Coût d’investissement, coût de fonctionnement, degré de diffusion, état de développement.

• Critères humains : Difficulté d’utilisation et transparence.

• Caractéristiques de conception : Nature des composants, représentation des composants, objectif de la recherche, etc.

24 critères de comparaison divisés en 4 groupes :

Page 20: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 20

État de l’art Bilan

• Multitude de TRC pour multitude de types de requêtes• Une représentation spécialisée pour chaque TRC

Créer un environnement pour intégrer différentes TRC

Approches de recherche de composants :

Page 21: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 21

Plan

I. Problématique

II. État de l’art

III. Propositions

IV. Expérimentations

V. Conclusion et perspectives

Page 22: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 22

Propositions

Environnement d’aide à la réalisation et à l’utilisation de composants

expression des besoins conception réalisation

Hétérogénéité des niveaux d’abstraction de composants

Hétérogéné ité d es éq uip es

Ingénieur de composants

Ingénieur d'applications

Hété rog éné ité d es m

o dè le s et d es so urce s de c omp osa nts

EJB

, CC

M, P

atro ns, …

Hétérogénéité des techniques de recherche de composants

Classification externe, classification structurelle, …

Cadre retenu

Page 23: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 23

Propositions

Environnement

M-Sigma

C-Sigma

B-Sigma

Modèle de SRC

Instance

Instance

TRC

Utilise

Utilise

SRC

SGBDC

Gestion des composants Recherche de composants

Architecture

Page 24: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 24

Plan

III. Propositionsi. La base B-Sigma et le modèle C-Sigma

ii. Le Système de Gestion de Bases Descriptives de Composants

iii. Le Système de Recherche de Composants

iv. Une TRC structurelle externe spécifique

Page 25: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 25

Objectif : Gestion de composants et de leurs relations

Propositions La base B-Sigma

Niveau conception

Niveau analyse

Niveau logiciel

utilise raffine implante Composant métierimite

Composant

Page 26: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 26

Exemple de composants gérés dans B-Sigma

Propositions La base B-Sigma

Patron Rôle imite

raffine

implante

Client Conception EJB

utilise

Client analyse

utilise

utilise

Client Logiciel EJB

raffine

implante

AgentConception EJB

Agent analyse

AgentLogiciel EJB

Utilise

utilise

utilise

Composant métierClient

Composant métierAgent

raffine

implante

ClientConception CCM

ClientLogiciel CCM

Patron Composite

Page 27: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 27

Exemple de description du composant Client SIT logiciel en EJB

Propositions La base B-Sigma

Nom Client logiciel

Auteur Khayati

Intention Ce composant présente une implantation du concept métier Client du domaine des systèmes d’information transport en utilisant la technologie des EJB.

Modèle de composants

Enterprise JavaBeans

Type de Bean

Entity Bean

Interfaces offertes

public interface Client extends EJBObject{ public void modifier(); … public abstract void PayerAbonnement(); public abstract void PayerPersonnellement(); } public interface ClientHome extends EJBHome{ public Client creer(String nom, String adresse, String Clefprimaire ); … public Collection findByNom(String nom ) ; }

Classe Bean public abstract class ClientBean implements EntityBean{ public void modifier(); … public abstract void PayerPersonnellement(); }

Description de composants

Modèle de composants

Démarche de réutilisation

Récuperation d'une référence sur la maison de composants Client

Demande de Créat ion d'une instance du composant Client

Recherche et récupération d'une instance du composants Client déja existante

Utilisation des services d'une instance d'un composant Client

Suppression d'une instance d'un composant Client

Connexion sur un serveur EJB

Fermeture de session avec le serveur EJB

Cas d’utilisation

Exemple d’utilisation de la fabrique de composants (home interface) par un client :

Context initial = new InitialContext(); Object objref = initial.lookup( "ClientBean" ); ClientHome home = (ClientHome)PortableRemoteObject.narrow( objref, ClientHome.class ) ; Client durand = home.creer( "Durand" );

Réutilisation

Page 28: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 28

Les concepts

**

Relation

Relation verticale Relation horizontale

Propositions La base B-Sigma

Description

**

Description de sources Modèle de composantsRéutilisation Description de composants

0..10..10..10..1

B-Sigma

Composant

1..*1..*

Artefact

**

Page 29: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 29

Relation horizontaleRelation verticale

Modèle de composantsRéutilisation Description de composants

1111

Description de composants logicielDescription de composants conceptionDescription de composants analyse Description de composants métier

******

Modèle de composants logicielModèle de composants conceptionModèle de composants analyse

Modèle de composants EJBModèle de composants Design PatternModèle de composants Symphony analyse

Utilise ImplanteIntervient dans

Relation

Description

Base descriptive de composants

* 1* 1

**

Description de sources

Artefact

Composant

*1 *1

*

*

*

*

1..*1..*

Organisation

Modèle Abstrait

Modèle Concret

Propositions Le modèle C-Sigma

Modèle de composants RéutilisationAuteurIntentionNom

Description de composants

11 111..*1..*1111

Description de composants logiciel

Description de composants conception

Domaine

Description de composants analyse

Description de composants métier

**

**

1..*1..*

**

Page 30: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 30

Organisation

Modèle Abstrait

Modèle Concret

Relation horizontaleRelation verticale

Modèle de composantsRéutilisation Description de composants

1111

Description de composants logicielDescription de composants conceptionDescription de composants analyse Description de composants métier

******

Modèle de composants logicielModèle de composants conceptionModèle de composants analyse

Modèle de composants EJBModèle de composants Design PatternModèle de composants Symphony analyse

Utilise ImplanteIntervient dans

Relation

Description

Base descriptive de composants

* 1* 1

**

Description de sources

Artefact

Composant

*1 *1

*

*

*

*

1..*1..*

Propositions Le modèle C-Sigma

Commentaire

Description de composants

Forces Faiblesses

Cas de réutilisation

*

1

*

+Technique de réutilisation

1

*

*

*

+Réutilisation

*

*

Relation horizontale

Réutilisation

**

11

* 1*

+Réutilisé

1

Démarche**

Page 31: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 31

Plan

III. Propositionsi. La base B-Sigma et le modèle C-Sigma

ii. Le Système de Gestion de Bases Descriptives de Composants

iii. Le Système de Recherche de Composants

iv. Une TRC structurelle externe spécifique

Page 32: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 32

Positionnement : le métamodèle du SGBDC, une extension d’UML

Propositions Le SGBDC

B-SigmaSystème d’information

Métamétamodèle MOF

?M-SigmaMétamodèle UML

C-SigmaModèle UML du SI

Page 33: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 33

Le métamodèle M-Sigma : Extension du métamodèle UML

Propositions Le SGBDC

M-Sigma

Core package Backbone

Core package Relationships

Core package Classifiers

Package Data Types

Core package Auxiliary elements

Package Instances

Page 34: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 34

Le métamodèle M-Sigma

Propositions Le SGBDC

Core package Classifiers

Classifier

DescriptionDataType

ComponentsRepository

ComponentArtifact

ArtifactLocalizationOtherToolArtifactLocalizationURL

Page 35: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 35

Core package Backbone

ModelElementProperty

StructuralPropertymultiplicity : Multiplicitychangeability : ChaneableKindordering : OrderingKindinitialValue : Expression

VariableProperty FixProperty

Iteminitialvalue : Expression

Scriptbody : String

{ordered}

{Ordered}

GeneralizableElementisAbstract : Boolean

ElementElementOwnershipvisibility : Visibilitykindmultiplicity : Multiplicitykind

Namespace

ModelElementname : Name

0..1

*

+namespace

0..1

+ownedelement

*Bundle

Constraintbody : String

*

1

+scripttrigger

*

+triggeredscript1

*

*

+constrainedElement

*

+Constraint

*

Featureownerscope : ScopeKindvisibility : VisibilityKind

StructuralFeaturemultiplicity : Multiplicitychangeability : ChaneableKindordering : OrderingKind

Classifier

*

+Owner

+feature*

Composition

1

*

+type1

+typedFeature

* *

1

+typedProperty*

+type1

ParameterdefaultValue : Expressionkind : ParameterDirectionKind

1

*

1

+typed parameter*

BehavioralFeature

*

+parameter

*

Le métamodèle M-Sigma

Propositions Le SGBDC

Page 36: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 36

Le métamodèle M-Sigma

Propositions Le SGBDC

Core package Relationships

Description AssociationDescription

Relationship

{Ordered}

AssociationClassifierAssociationEnd

isNavigable : Booleanmultiplicity : Multiplicity 2..* +association

+connection

2..*

1

*+participant

1 +association

*

Generalization GeneralizableElementisAbstract : Boolean

1*

+child

1

+generalization

*

* 1

+Specialisation

*

+parent

1

ModelElementname : Name

Page 37: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 37

Le métamodèle M-Sigma

Propositions Le SGBDC

Package Data Type

AdvancedDataType

UmlDiagram

UmlClassDiagram

{Ordered}

Primitive Enumeration

EnumerationLiteral

1..*

+Enumeration

+Literal1..*

ProgrammingLanguageDataType

ModelElementname : Name

DataType

ExternalTool ExternalOperation**

Page 38: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 38

Exemple

Propositions Le SGBDC

Modèle de composants RéutilisationAuteurIntentionNom

Description de composants

11 111..*1..*1111

Description de composants logiciel

Description de composants conception

Domaine

Description de composants analyse

Description de composants métier

**

**

1..*1..*

**

Modèle de composants<<Description>>

Réutilisation<<Description>>

Auteur<<Item>>

Intention<<Item>>

Nom<<Item>>

Description de composants<<Description>>

11 111..*1..*1111

Description de composants logiciel<<Description>>

Description de composants conception<<Description>>

Domaine<<Item>>

Description de composants analyse<<Description>>

Description de composants métier<<Description>>

**

**1..*1..*

**

Page 39: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 39

Plan

III. Propositionsi. La base B-Sigma

ii. Le système de gestion de bases descriptives de composants

iii. Le Système de Recherche de Composants

iv. Une TRC structurelle externe spécifique

Page 40: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 40

Propositions

Prendre en compte l’hétérogénéité des TRC• Par un modèle générique, le modèle de SRC• Pour « composer » des TRC

Le SRC

Objectif

Page 41: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 41

Modèle de SRC

Propositions Le SRC

Modèle de SRC

Components Retrieval System Package

Simple Query Package

Query Integration Package

Page 42: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 42

Exemple de requête composite :

Propositions Le SRC

Requête utilisateur = R1 et (R2 ou R3) et R4

• R1 : retrouver un composant métier Client du domaine SIT.

• R2 : qui admet une implantation réalisée avec la technologie EJB.

• R3 : qui admet une implantation réalisée avec la technologie CCM.

• R4 : qui offre une fonction PayerAbonnement()

Page 43: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 43

Modèle de SRC

Propositions Le SRC

Simple Query Package

L' Instance-DataType doit correspondre au DataType qui fournit la ComponentsRetrievalTechnique

Une requête simple ne peut porter simultanément sur un Item et une Structural property

Item(from Core Package Backbone)

StruturalProperty(from Core Package Backbone)

Instance-DataType(from Instances package)

DataType(from Package DataType)

<<UML metamodel>>

SimpleQuery 1*

1*

1* 1*1

*1

*

ComponentsRetrievalTechnique

RelevanceFunction(v1 : Instance-DataType, v2 : Instance-DataType) : Double*1 *1

*

1

*

1

Page 44: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 44

Modèle de SRC

Propositions Le SRC

Query Integration Package

SimpleQuery(from Simple Query Package)

MaxRelevance

Relevance(rel1, rel2) : Double

MinRelevance

Relevance(rel1, rel2) : Double

AverageRelevance

Relevance(rel1, rel2) : Double

OR_Query

And_Query

Query

2

0..*

2

0..*

2

0..*

2

0..*

Not_Query

1

0..*

1

0..*

RelevanceMergingStrategy

Relevance(rel1, rel2) : DoubleCompositeQuery

1 *1 *

Page 45: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 45

Modèle de SRC

Propositions Le SRC

Components Retrieval System Package

Query(from Query Integration Package)

ComponentsRetrievalSystem

11

ComponentsRetrievalTechnique(from Simple Query Package)

**

QueryEditor

**

1 *1 *

Page 46: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 46

Bilan

Propositions Le SRC

• Possibilité de composer des TRC • Possibilité d’utiliser les TRC à faible complexité

algorithmique comme outil de présélection pour les TRC à haute complexité.

• Possibilité de raffiner les résultats de la recherche par l’approche par navigation

Page 47: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 47

Plan

III. Propositionsi. La base B-Sigma et le modèle C-Sigma

ii. Le Système de Gestion de Bases Descriptives de Composants

iii. Le Système de Recherche de Composants

iv. Une TRC structurelle externe spécifique

Page 48: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 48

Composant simpleCalculer(opérande : Texte)

Document simple Document composite

Document

*

1..*

*

1..*

Component

Nom : Texte

Operation()

*

1

+Documentation*

1

Composant compositeAjouterComposant(c : Component)SupprimerComposant(c : Component)Calculer(opérande : Texte)

*

+composant

*

+composite

composition

Serialisable

Serialiser()

<<Interface>>

Technique de composition

Nom

Diagramme de classes d’un composant réutilisable

(Source)

Propositions Une TRC spécifique

Objectif : reconnaissance par appariement de diagrammes de classes

Exemple : retrouver le diagramme du patron Composite dans un composant de la base

Diagramme de classes d’une requête utilisateur

(Cible)

Leaf

Component

Operation()

Composite

Add(child : Component)Remove(child : Component)

**

+Child

Page 49: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 49

• Description des DC sous forme logique

• Le calcul des prédicats offre des axiomes et des règles d’inférence

Possibilité de prouver qu’une spécification cible est une conséquence logique d’une spécification source

Propositions Une TRC spécifique

Utilisation de la logique du premier ordre

Page 50: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 50

Propositions Une TRC spécifique

Le processus de recherche

Base de composants

Diagrammes de classes des composants

SpécificationsSources

Extraction de la structure

Génération desSpécifications sources

Spécificationcible

Génération de laSpécification cible

Appariement deSpécifications

Méta-connaissances

Composants retrouvés

ProcessusProduit

Diagramme de classes cible

Spécifications des composants de la Base de composants Spécification de la requête utilisateur

Page 51: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 51

• entité(id_Classe_1) • nom_entité(id_Classe_1, Component) • classe(id_Classe_1)• classe_abstraite(id_Classe_1)

Propositions Une TRC spécifique

Génération d’une spécification source

• entité(id_opération_1)

• nom_entité(id_opération_1, Operation)

• opération(id_opération_1)

• entité(id_signature_1)

• signature(id_signature_1)

• classe_opération(id_classe_1, id_opération_1, id_signature_1)

• opération_abstraite(id_opération_1)

• visibilité(id_opération_1, publique)

Leaf

Component

Operation()

Composite

Add(child : Component)Remove(child : Component)

**

Page 52: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 52

_id_Classe_11, _NomClasse, …, _visibility1

entité(_id_Classe_11)

nom_entité(_id_Classe_11, _NomClasse)

classe(_id_Classe_11)

classe_abstraite(_id_Classe_11)

entité(_id_opération_11)

nom_entité(_id_opération_11, _NomOperation)

opération(_id_opération_11)

entité(_id_signature_11)

signature(_id_signature_11)

classe_opération(_id_classe_11, _id_opération_11, _id_signature_11)

visibilité(_id_opération_11, _visibility1)

Requête (_id_Classe_11, _NomClasse, …, _visibility1)

Propositions Une TRC spécifique

Génération d’une spécification cible

Diagramme cible

NomClasse

NomOperation()

Diagramme source

Composant compositeAjouterComposant(c : Component)SupprimerComposant(c : Component)Calculer(opérande : Texte)

Component

Nom : Texte

Operation()

Composant simpleCalculer(opérande : Texte)

*

+composite

*

Appariement : 5 résultats

Page 53: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 53

_id_Classe_11, _NomClasse, …, _visibility1

entité(_id_Classe_11)

nom_entité(_id_Classe_11, _NomClasse)

classe(_id_Classe_11)

classe_abstraite(_id_Classe_11)

entité(_id_opération_11)

nom_entité(_id_opération_11, Operation)

opération(_id_opération_11)

entité(_id_signature_11)

signature(_id_signature_11)

classe_opération(_id_classe_11, _id_opération_11, _id_signature_11)

visibilité(_id_opération_11, _visibility1)

Requête (_id_Classe_11, _NomClasse, …, _visibility1)

Propositions Une TRC spécifique

Génération d’une spécification cible

Diagramme cible

Pourquoi pas 3 résultats puisque la méthode Operation() est transmise par héritage aux classes Composite et Leaf ?

Pourquoi pas 3 résultats puisque la méthode Operation() est transmise par héritage aux classes Composite et Leaf ?

NomClasse

Operation()

Diagramme source

Composant compositeAjouterComposant(c : Component)SupprimerComposant(c : Component)Calculer(opérande : Texte)

Component

Nom : Texte

Operation()

Composant simpleCalculer(opérande : Texte)

*

+composite

*

Appariement : 1 résultat

Page 54: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 54

• Propagation des propriétés par la généralisation.– Opérations, attributs, associations, interfaces

• Mécanisme de relaxation des critères de recherche– Type des associations– Type, ordre et nombre des paramètres des

opérations

Propositions Une TRC spécifique

Exploitation de métaconnaissances

Page 55: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 55

Plan

I. Problématique

II. État de l’art

III. Propositions

IV. Conclusion et perspectives

Page 56: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 56

Conclusion

Un environnement permettant : – La gestion de composants hétérogènes par leur niveau d’abstraction,

leurs modèles et leurs sources

– La recherche de composants par des techniques hétérogènes dans un environnement unifié

Un environnement évolutif :– Par sa structure

– Par la démarche spécifiée dans le guide méthodologique sous forme d’un système de patrons

Un prototype validant cet environnement …

Page 57: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 57

Conclusion Prototype SGBDC

Page 58: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 58

Conclusion Prototype SRC

Page 59: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 59

Perspectives

• SGBDC– Passer du prototype à un environnement à plus grande échelle

• SRC– Étendre la TRC pour d’autres diagrammes UML ( Précision/Rappel) et

intégrer d’autres TRC

– Étudier les fonctions de fusion de requêtes

• Alimentation des BDC– Étudier le processus d’alimentation des BDC

– Étudier la possibilité d’utiliser des techniques de routage et de filtrage

• Adopter une architecture à base de composants connectables

Page 60: Modèles formels et outils génériques pour la gestion et la recherche de composants

samedi 17 décembre 2005 60

Merci