Professional Documents
Culture Documents
Soutenance de thse
prsente par
Oualid KHAYATI
dirige par
17 dcembre 2005
Problmatique
Client
SIT Analyse
Composant
Symphony
Dfinition(s)
Client SIT
Analyse
<<Interface>>
Java.rmi.Remote
<<Interface>>
Javax.ejb.EJBObject
<<Interface>>
Client
Modifier()
AttribuerClientPayeur()
AttribuerAyantDroit()
AjouterCarte()
SupprimerCarte()
ForfaitAbonnement()
ChangerStatut()
GetAdresse()
SetAdresse()
GetNom()
SetNom()
GetClefPrimaire()
SetClefPrimaire()
PayerAbonnement()
PayerPersonnellement()
<<Interface>>
Javax.ejb.EJBHome
<<Interface>>
ClientHome
Client Crer()
Supprimer()
Client FindByPrimaryKey()
Client FindByNom()
samedi 17 dcembre 20
Problmatique
Acteurs et processus
Bibliothcaire de composants
Demandes
Bibliothques de
Composants rutilisables
Archiver et indexer
des composants
Nouveaux Composants archiver
Groupe de dveloppement
Acheter des
composants
Fournisseur de composants
samedi 17 dcembre 20
Groupe didentification et
certification
Groupe de maintenance
Problmatique
Requtes
samedi 17 dcembre 20
Cadre retenu
4 sources dhtrognit
ralisation
samedi 17 dcembre 20
Ingnieur de
composants
Concepteur
d'applications
Plan
I.
II.
III.
IV.
Problmatique
tat de lart
Propositions
Conclusion et perspectives
samedi 17 dcembre 20
Plan
I.
II.
Problmatique
tat de lart
i.
ii.
Approches composants
Approches de recherche de composants
III. Propositions
IV. Conclusion et perspectives
samedi 17 dcembre 20
tat de lart
Approches composants
Interface
de contrle fournie
Environnement dexcution
Vue interne
Interface de contrle
requise
Interface fonctionnelle
requise
Vue externe
Instance de
composant
Vue externe
Interface fonctionnelle
fournie
Attribut de
configuration
Dpendance de
dploiement
samedi 17 dcembre 20
Attribut de
dploiement
Vue de dploiement
tat de lart
Approches composants
<<Interface>>
Javax.ejb.EJBObject
<<Interface>>
Client
Modifier()
AttribuerClientPayeur()
AttribuerAyantDroit()
AjouterCarte()
SupprimerCarte()
ForfaitAbonnement()
ChangerStatut()
GetAdresse()
SetAdresse()
GetNom()
SetNom()
GetClefPrimaire()
SetClefPrimaire()
PayerAbonnement()
PayerPersonnellement()
samedi 17 dcembre 20
<<Interface>>
Javax.ejb.EJBHome
<<Interface>>
ClientHome
Client Crer()
Supprimer()
Client FindByPrimaryKey()
Client FindByNom()
tat de lart
Approches composants
patron Composite
Auteur
E. Gamma
Intention
Solution
Systme de patrons
n
Component
Client
Operation()
Leaf
Operation(oprande : Texte)
Composite
Add(child : Component)
Remove(child : Component)
Operation()
Patron
n
1..n
Catgorie
Interface
samedi 17 dcembre 20
+Catgorie de rubrique
1..n
Ralisation
Relation
Rubrique
n
n
Champ
10
tat de lart
Approches composants
samedi 17 dcembre 20
11
tat de lart
Approches composants
Bilan
Approches composants :
samedi 17 dcembre 20
12
tat de lart
I.
II.
Problmatique
tat de lart
i.
ii.
Approches composants
Approches de recherche de composants
III. Propositions
IV. Exprimentations
V. Conclusion et perspectives
samedi 17 dcembre 20
13
tat de lart
Classification externe
Recherche comportementale
Les techniques
de recherche de composants
Classification structurelle
samedi 17 dcembre 20
14
tat de lart
Composant
*
1..*
Nom
Facette
1
1..*
*
Terme
Indexation smantique
Indexation manuelle
samedi 17 dcembre 20
15
tat de lart
Composant
1
1..*
Signature d'interface
1..*
Signature d'opration
1..*
1
Interface
1..*
Opration
16
tat de lart
Composant 1
Espaces des
valeurs dentre
Composant 2
Trace
dexcution
Composant 3
Espaces des
valeurs de sortie
Filtrage
Rsultat
Indexation automatique
samedi 17 dcembre 20
Temps de rponse
17
tat de lart
C2
C1
C6
C4
C7
utilise
C5
C3
hrite
quivalent
18
tat de lart
samedi 17 dcembre 20
19
tat de lart
Bilan
samedi 17 dcembre 20
20
Plan
I.
II.
III.
IV.
V.
Problmatique
tat de lart
Propositions
Exprimentations
Conclusion et perspectives
samedi 17 dcembre 20
21
Propositions
Cadre retenu
ralisation
samedi 17 dcembre 20
Ingnieur de
composants
Ingnieur
d'applications
22
Propositions
Architecture
Environnement
SGBDC
M-Sigma
SRC
Instance
Utilise
C-Sigma
Instance
Modle de SRC
Utilise
B-Sigma
TRC
Recherche de composants
samedi 17 dcembre 20
23
Plan
III. Propositions
i.
ii.
iii.
iv.
samedi 17 dcembre 20
24
Propositions
La base B-Sigma
Niveau analyse
Niveau conception
Niveau logiciel
utilise
raffine
implante
imite
Composant mtier
Composant
samedi 17 dcembre 20
25
Propositions
La base B-Sigma
Patron Rle
Client
analyse
raffine
raffine
Patron
Composite
Client
Conception CCM
Client
Logiciel CCM
raffine
utilise
utilise
Agent
Conception EJB
implante
utilise
Client
Logiciel EJB
Composant mtier
Client
samedi 17 dcembre 20
Utilise
Client
Conception EJB
implante
implante
Agent
analyse
utilise
Agent
Logiciel EJB
Composant mtier
Agent
26
Propositions
La base B-Sigma
Description
de composants
Dmarche
de
rutilisation
Rutilisation
Modle
de composants
Cas
dutilisation
samedi 17 dcembre 20
27
Propositions
La base B-Sigma
Les concepts
B-Sigma
1..*
Relation
Relation verticale
Artefact
Description de sources
*
Description
*
Composant
Rutilisation
0..1
samedi 17 dcembre 20
Modle de composants
Relation horizontale
Description de composants
0..1
28
Propositions
Le modle C-Sigma
Organisation
Modle Abstrait
Relation
Description
1 de composants
Description de sources
1
Nom
Utilise
Intervient dans
1..*
1
Intention
Rutilisation
1
Auteur
*
1..*
Artefact
*
Description
Relation horizontale
Relation verticale
Composant
1
Modle de composants
Description de composants
Modle de composants
Implante
1..*
Domaine
*
*
1
Rutilisation
Modle Concret
samedi 17 dcembre 20
29
Propositions
Le modle C-Sigma
Organisation
Modle Abstrait
Relation
Composant
1
Relation horizontale
Relation verticale
1..*
Artefact
*
Description
Relation horizontale
+Technique de rutilisation
Description de sources
*
+Rutilisation
Rutilisation
Modle de composants
Description de composants
Description de composants
*
Utilise
Intervient dans
Implante
*
*
Cas de rutilisation
*
1
+Rutilis Rutilisation
1
Modle de composants logiciel
*
Forces
Commentaire
Description de composants analyse
*
*
Dmarche
*
Faiblesses
Modle Concret
samedi 17 dcembre 20
30
Plan
III. Propositions
i.
ii.
iii.
iv.
samedi 17 dcembre 20
31
Propositions
Le SGBDC
Mtamtamodle MOF
?
Mtamodle UML
M-Sigma
Modle UML du SI
C-Sigma
Systme dinformation
B-Sigma
samedi 17 dcembre 20
32
Propositions
Le SGBDC
M-Sigma
Core package
Backbone
Package
Instances
Core package
Auxiliary elements
Core package
Relationships
samedi 17 dcembre 20
Package
Data Types
Core package
Classifiers
33
Propositions
Le SGBDC
Le mtamodle M-Sigma
DataType
Description
Artifact
Component
ComponentsRepository
ArtifactLocalizationURL
samedi 17 dcembre 20
ArtifactLocalizationOtherTool
34
Propositions
Le SGBDC
Le mtamodle M-Sigma
Element
ElementOwnership
visibility : Visibilitykind
multiplicity : Multiplicitykind
+ownedelement
ModelElement
* name : Name
Bundle
Feature
ownerscope : ScopeKind
visibility : VisibilityKind
+Constraint
+namespace
+parameter
0..1
*
Parameter
Namespace
defaultValue : Expression
kind : ParameterDirectionKind
* +feature
GeneralizableElement
isAbstract : Boolean
+scripttrigger
*
+typed parameter
1
Composition
+Owner
{ordered}
1
Script
body : String
1
+type
+type
+typedFeature
StructuralFeature
multiplicity : Multiplicity
changeability : ChaneableKind
ordering : OrderingKind
Item
initialvalue : Expression
ModelElementProperty
Classifier
BehavioralFeature
Constraint
body : String
1
+typedProperty
*
StructuralProperty
multiplicity : Multiplicity
changeability : ChaneableKind
ordering : OrderingKind
initialValue : Expression
VariableProperty
FixProperty
+triggeredscript
samedi 17 dcembre 20
35
Propositions
Le SGBDC
Le mtamodle M-Sigma
Core package Relationships
ModelElement
name : Name
Relationship
+generalization
+child
1
GeneralizableElement
1 isAbstract : Boolean
+parent
Generalization
*
+Specialisation
Classifier
+participant
Description
samedi 17 dcembre 20
AssociationEnd
+connection
Association
isNavigable : Boolean
+association
* multiplicity : Multiplicity 2..*
{Ordered}
+association
AssociationDescription
36
Propositions
Le SGBDC
Le mtamodle M-Sigma
Package Data Type
DataType
ExternalTool
AdvancedDataType
ExternalOperation
Primitive
Enumeration
{Ordered}
+Enumeration
ProgrammingLanguageDataType
UmlDiagram
1..*
UmlClassDiagram
samedi 17 dcembre 20
ModelElement
name : Name
+Literal
EnumerationLiteral
37
Propositions
Le SGBDC
Exemple
<<Description>>
Description
de composants
composants
Description de
<<Item>>1
Nom
Nom
1..*
1
<<Item>>
Intention
Intention
1..*
<<Item>>
1
<<Description>>
Auteur
Auteur
Modle de composants
Modle
composants
<<Description>>
1
<<Description>>
Rutilisation
Rutilisation
<<Description>>
Description
Descriptionde
decomposants
composants conception
conception
Description
composants
mtier
Description
dede
composants
mtier
*
Description de
composants analyse
<<Description>>
Description de composants analyse
Description
de composants logiciel
<<Description>>
Description de composants logiciel
*
*
1..*1..*
<<Item>>
Domaine
Domaine
samedi 17 dcembre 20
38
Plan
III. Propositions
i.
ii.
iii.
iv.
La base B-Sigma
Le systme de gestion de bases
descriptives de composants
Le Systme de Recherche de Composants
Une TRC structurelle externe spcifique
samedi 17 dcembre 20
39
Propositions
Le SRC
Objectif
samedi 17 dcembre 20
40
Propositions
Le SRC
Modle de SRC
Modle de SRC
Components Retrieval
System Package
Simple Query
Package
samedi 17 dcembre 20
Query Integration
Package
41
Propositions
Le SRC
samedi 17 dcembre 20
42
Propositions
Le SRC
Modle de SRC
Simple Query Package
<<UML metamodel>>
DataType
(from Pack age DataType)
ComponentsRetrievalTechnique
RelevanceFunction(v1 : Instance-DataType, v2 : Instance-DataType) : Double
1
Item
(from Core Package Backbone)
SimpleQuery *
1
1
StruturalProperty
1 (from Core Pack age Back bone)
Instance-DataType
(from Instances package)
samedi 17 dcembre 20
43
Propositions
Le SRC
Modle de SRC
2
2
RelevanceMergingStrategy
Relevance(rel1, rel2) : Double
OR_Query
MinRelevance
Relevance(rel1, rel2) : Double
MaxRelevance
Relevance(rel1, rel2) : Double
SimpleQuery
CompositeQuery
0..*
And_Query
AverageRelevance
Relevance(rel1, rel2) : Double
0..*
Not_Query
0..*
samedi 17 dcembre 20
44
Propositions
Le SRC
Modle de SRC
ComponentsRetrievalSystem
1
Query
ComponentsRetrievalTechnique
samedi 17 dcembre 20
QueryEditor
1
45
Propositions
Le SRC
Bilan
samedi 17 dcembre 20
46
Plan
III. Propositions
i.
ii.
iii.
iv.
samedi 17 dcembre 20
47
Propositions
Serialisable
Diagramme de classes
dune requte utilisateur
(Cible)
Component
Operation()
+Child
Technique de
composition
Nom
Serialiser()
+composant
composition
Component
Nom : Texte
*
Operation()
+composite
Composant composite
AjouterComposant(c : Component)
SupprimerComposant(c : Component)
Calculer(oprande : Texte)
Composant simple
Calculer(oprande : Texte)
+Documentation
Document
*
Leaf
Composite
Add(child : Component)
Remove(child : Component)
samedi 17 dcembre 20
1..*
Document simple
Document composite
48
Propositions
samedi 17 dcembre 20
49
Propositions
Le processus de recherche
samedi 17 dcembre 20
50
Propositions
Component
Operation()
entit(id_Classe_1)
nom_entit(id_Classe_1, Component)
classe(id_Classe_1)
classe_abstraite(id_Classe_1)
entit(id_opration_1)
nom_entit(id_opration_1, Operation)
opration(id_opration_1)
entit(id_signature_1)
signature(id_signature_1)
classe_opration(id_classe_1, id_opration_1, id_signature_1)
opration_abstraite(id_opration_1)
visibilit(id_opration_1, publique)
samedi 17 dcembre 20
Leaf
Composite
Add(child : Component)
Remove(child : Component)
51
Propositions
entit(_id_Classe_11)
*
Operation()
nom_entit(_id_Classe_11,
_NomClasse)
+composite
classe(_id_Classe_11)
Composant composite
classe_abstraite(_id_Classe_11)
AjouterComposant(c : Component)
SupprimerComposant(c : Component)
Calculer(oprande : Texte)
Composant simple
Calculer(oprande : Texte)
Diagramme cible
NomClasse
NomOperation()
entit(_id_opration_11)
nom_entit(_id_opration_11,
_NomOperation)
Appariement : 5 rsultats
opration(_id_opration_11)
entit(_id_signature_11)
signature(_id_signature_11)
classe_opration(_id_classe_11, _id_opration_11, _id_signature_11)
visibilit(_id_opration_11, _visibility1)
Requte (_id_Classe_11, _NomClasse, , _visibility1)
samedi 17 dcembre 20
52
Propositions
Diagramme cible
NomClasse
Operation()
Composant simple
Calculer(oprande : Texte)
nom_entit(_id_opration_11, Operation)
Appariement : 1 rsultat
opration(_id_opration_11)
entit(_id_signature_11)
signature(_id_signature_11)
classe_opration(_id_classe_11,
_id_opration_11,
Pourquoi
lalamthode
Operation()
Pourquoipas
pas33rsultats
rsultatspuisque
puisque
mthode_id_signature_11)
Operation()est
esttransmise
transmise
par
Composite
visibilit(_id_opration_11,
_visibility1)
parhritage
hritageaux
auxclasses
classes
Compositeet
etLeaf
Leaf??
Requte (_id_Classe_11, _NomClasse, , _visibility1)
samedi 17 dcembre 20
53
Propositions
Exploitation de mtaconnaissances
Propagation des
gnralisation.
proprits
par
la
54
Plan
I.
II.
III.
IV.
Problmatique
tat de lart
Propositions
Conclusion et perspectives
samedi 17 dcembre 20
55
Conclusion
Un environnement permettant :
La gestion de composants htrognes par leur niveau dabstraction,
leurs modles et leurs sources
La recherche de composants par des techniques htrognes dans un
environnement unifi
Un environnement volutif :
Par sa structure
Par la dmarche spcifie dans le guide mthodologique sous forme dun
systme de patrons
samedi 17 dcembre 20
56
Conclusion
samedi 17 dcembre 20
Prototype SGBDC
57
Conclusion
samedi 17 dcembre 20
Prototype SRC
58
Perspectives
SGBDC
Passer du prototype un environnement plus grande chelle
SRC
tendre la TRC pour dautres diagrammes UML ( Prcision/Rappel) et
intgrer dautres TRC
tudier les fonctions de fusion de requtes
samedi 17 dcembre 20
59
Merci
samedi 17 dcembre 20
60