Upload
fritzi
View
31
Download
2
Embed Size (px)
DESCRIPTION
Gwladys GUZELIAN. Conception de systèmes d’information : une approche orientée service. Directrice de thèse : Corine CAUVET. Laboratoire des Sciences de l’Information et des Systèmes, UMR 6168, Marseille. Système réel. Système logiciel. Schéma conceptuel. - PowerPoint PPT Presentation
Citation preview
Conception de systèmes d’information : Conception de systèmes d’information : une approche orientée serviceune approche orientée service
Gwladys GUZELIANGwladys GUZELIAN
Laboratoire des Sciences de l’Information et des Systèmes, UMR 6168, Marseille
Directrice de thèse : Corine CAUVET
Contexte : Ingénierie des Contexte : Ingénierie des SSystèmes d’ystèmes d’IInformation (nformation (SISI))
Valid
ationvérifi
cation
Analyse d
es
besoin
s et
mod
élisation
Con
ceptio
n et
prod
uctio
n
IB (Ingénierie des Besoins)
IL (Ingénierie du Logiciel)
Système réel
Système logiciel
Schéma conceptuel
Contexte : Les méthodes Contexte : Les méthodes d’ingénierie des SId’ingénierie des SI
Méthode d’ingénierie des SI :Méthode d’ingénierie des SI :
Des modèles et des langagesDes modèles et des langages pour décrire un SI à différents niveaux d’abstractionpour décrire un SI à différents niveaux d’abstraction
Une démarcheUne démarche pour conduire le travail de conceptionpour conduire le travail de conception
Des outils logicielsDes outils logiciels pour la mise en œuvre des modèles, des langages et de la pour la mise en œuvre des modèles, des langages et de la
démarchedémarche
Toutes les méthodes des années 80-90 ont été Toutes les méthodes des années 80-90 ont été définies sur ce modèle.définies sur ce modèle.
La problématiqueLa problématique
Limites des méthodes :
-Monolithiques-Manquent de guidage
Nouveaux besoins des concepteurs :
-Besoin de flexibilité/adaptation-Besoin de réutilisation-Besoin d’intégration
SO2MSO2M ((SService-ervice-OOriented riented MMeta-eta-MMethod)ethod)
une nouvelle approche de la notion de méthode d’ingénierie des SI
Principes de la solutionPrincipes de la solution
SO2MSO2M (Service-Oriented Meta-Method)(Service-Oriented Meta-Method) offre offre un ensemble de servicesun ensemble de services
Services Services " " méthode méthode "" = unités réutilisables = unités réutilisables offrant des fragments de méthodeoffrant des fragments de méthode
Peuvent être composés dynamiquement Peuvent être composés dynamiquement
pour construire des méthodes adaptées pour construire des méthodes adaptées
aux besoins des concepteursaux besoins des concepteurs
PLANPLAN
Etat de l’artEtat de l’art Approches composants Approches composants Méthodes de développement de SIMéthodes de développement de SI
La méta-méthode SO2MLa méta-méthode SO2M Le modèle de services Le modèle de services " méthode "" méthode " Les ontologies de l’ingénierie des SILes ontologies de l’ingénierie des SI Le processus de compositionLe processus de composition
Conception et mise en œuvre de SO2MConception et mise en œuvre de SO2M
Conclusion/perspectivesConclusion/perspectives
Etude dans 2 domainesEtude dans 2 domaines ::
- - Méthodes de développement de SIMéthodes de développement de SIEtude des points faibles de ces méthodes du Etude des points faibles de ces méthodes du
point de point de vue de la flexibilitévue de la flexibilité
- - Approches composantsApproches composantsL’étude a abouti à un modèle de domaine L’étude a abouti à un modèle de domaine
montrant leurs montrant leurs ressemblances et leurs différencesressemblances et leurs différences
Etat de l’artEtat de l’art Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Méthodes de développement de SI étudiéesMéthodes de développement de SI étudiées monolithiquesmonolithiques (Merise, Remora…) (Merise, Remora…) basées sur UML et UPbasées sur UML et UP (EUP, 2TUP…) (EUP, 2TUP…) agilesagiles (XP, ASD…) (XP, ASD…) modulairesmodulaires (MMC, Ralyté…) (MMC, Ralyté…)
Critères pour mesurer le degré de flexibilitéCritères pour mesurer le degré de flexibilité StructureStructure de la méthode de la méthode OrganisationOrganisation du processus du processus NatureNature du processus du processus ProduitProduit de la méthode de la méthode
Vers des méthodes de Vers des méthodes de développement de SI développement de SI
flexiblesflexibles
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Vers des méthodes de Vers des méthodes de développement de SI développement de SI
flexiblesflexibles
StructureStructure de la méthodede la méthode ((figée, adaptable, évolutivefigée, adaptable, évolutive)) OrganisationOrganisation du processus du processus ((prescriptive, rationnelle, dynamiqueprescriptive, rationnelle, dynamique)) NatureNature du processus du processus ((libre, opératoire, décisionnel, exploratoirelibre, opératoire, décisionnel, exploratoire)) ProduitProduit de la méta-méthode de la méta-méthode ((spécifique, générique, méta-produitspécifique, générique, méta-produit))
Nature duNature duprocessusprocessus
Produit de Produit de la méthodela méthode
Organisation Organisation du processusdu processus
Structure deStructure de la méthodela méthode
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Vers des méthodes de Vers des méthodes de développement de SI développement de SI
flexiblesflexibles
StructureStructure de la méthodede la méthode ((figéefigée, , adaptableadaptable, , évolutiveévolutive)) OrganisationOrganisation du processus du processus ((prescriptive, rationnelle, dynamiqueprescriptive, rationnelle, dynamique)) NatureNature du processus du processus ((libre, opératoire, décisionnel, exploratoirelibre, opératoire, décisionnel, exploratoire)) ProduitProduit de la méta-méthode de la méta-méthode ((spécifique, générique, méta-produitspécifique, générique, méta-produit))
Nature duNature duprocessusprocessus
Produit de Produit de la méthodela méthode
Organisation Organisation du processusdu processus
Structure deStructure de la méthodela méthode
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Les plus rigides : monolithiquesLes plus rigides : monolithiques Les plus Les plus flexiblesflexibles : modulaires : modulaires (ie. approches composants)(ie. approches composants)
Points faibles : organisation et nature du processusPoints faibles : organisation et nature du processus
Vers des méthodes de Vers des méthodes de développement de SI développement de SI
flexiblesflexibles
Méthodes monolithiquesMéthodes monolithiques
Méthodes UML/UPMéthodes UML/UP
Méthodes agilesMéthodes agiles
Méthodes modulairesMéthodes modulaires
Nature duNature duprocessusprocessus
Produit de Produit de la méthodela méthode
Organisation Organisation du processusdu processus
Structure deStructure de la méthodela méthode
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Utilisation d’un modèle de domaine pour Utilisation d’un modèle de domaine pour comparercomparer ces ces approchesapproches en montrant les ressemblances et les différencesen montrant les ressemblances et les différences
La modélisation de domaine est utilisée en ingénierie du La modélisation de domaine est utilisée en ingénierie du logiciellogiciel
Formalisme de la méthode Formalisme de la méthode FODAFODA (Feature-Oriented Domaine (Feature-Oriented Domaine Analysis)Analysis)
DéfinitionDéfinition : :Un Un modèle de domainemodèle de domaine est un arbre dans lequel les est un arbre dans lequel les nœudsnœuds sont appelés sont appelés caractéristiquescaractéristiques et les arcs permettent d’affiner et les arcs permettent d’affiner une caractéristique en sous-caractéristiquesune caractéristique en sous-caractéristiques
Une Une caractéristiquecaractéristique : optionnelle, obligatoire, ou variable : optionnelle, obligatoire, ou variable
Les approches composantsLes approches composants Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
statiquestatique
Usage de composantsUsage de composants
Technique de manipulationTechnique de manipulation
NiveauNiveau ObjectifObjectif
1..21..2
IntégrationIntégrationFlexibilitéFlexibilité
RéutilisationRéutilisationIngénierie Ingénierie des SIdes SI
RechercheRechercheCompositionComposition Méta-Méta-
ingénierieingénierie
EnvironnementEnvironnement
dynamiquedynamique
Développement de composantsDéveloppement de composants
MéthodeMéthode ProcessusProcessus CouplageCouplage
11
IntégréIntégré
InverséInverséProducteur/Producteur/consommateurconsommateur
AnalyseAnalyse
AscendanteAscendante DescendanteDescendante MixteMixteConceptionConception
Spécification de composantsSpécification de composants
ModèleModèle LangageLangage TechniqueTechnique
ProduitProduit ProcessusProcessus1..21..2
Usage de composantsUsage de composants
Technique de manipulationTechnique de manipulationNiveauNiveau ObjectifObjectif
1..21..2
FlexibilitéFlexibilitéIntégrationIntégration
Ingénierie Ingénierie des SIdes SI
RechercheRecherche
CompositionComposition Méta-Méta-ingénierieingénierie
EnvironnementEnvironnement
statiquestatique dynamiquedynamique
Développement de composantsDéveloppement de composants
MéthodeMéthode ProcessusProcessus CouplageCouplage
11
IntégréIntégré
InverséInverséProducteur/Producteur/consommateurconsommateur
AnalyseAnalyse
AscendanteAscendante DescendanteDescendante MixteMixteConceptionConception
Spécification de composantsSpécification de composants
ModèleModèle LangageLangage TechniqueTechnique
ProduitProduit ProcessusProcessus1..21..2
RéutilisationRéutilisation
ContextualisationContextualisation
APPROCHE WSMOAPPROCHE WSMO
impliqueimplique
L’orientation service comble le L’orientation service comble le besoin de flexibilitébesoin de flexibilité
Service méthodeService méthode : composant de type processus. : composant de type processus.
Ils définissent des fragments de processus que l’on Ils définissent des fragments de processus que l’on
peut assembler de différentes manières peut assembler de différentes manières
Définition d’un cadre flexible : Définition d’un cadre flexible : SO2MSO2M
Des composantsDes composants méthode méthode aux services méthodeaux services méthode
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Description des servicesDescription des services guidée par la finalitéguidée par la finalité Un problème de développement = un but à atteindreUn problème de développement = un but à atteindre
Buts adaptés à l’expression de la variabilitéButs adaptés à l’expression de la variabilité Buts utilisés dans la recherche de servicesButs utilisés dans la recherche de services
Description des servicesDescription des services centrée sur les processuscentrée sur les processus Un service fournit un Un service fournit un fragment de processus pour réaliser un fragment de processus pour réaliser un
butbutexempleexemple : : démarche pour construire un diagramme de classesdémarche pour construire un diagramme de classes
Activité d’identification des classes, Activité d’identification des classes, Activité d’identification des attributs, des méthodes…Activité d’identification des attributs, des méthodes…
Description sémantique des servicesDescription sémantique des services Connaissances relatives au Connaissances relatives au contexte d’utilisation…contexte d’utilisation… Utilisation des Utilisation des ontologiesontologies
SO2M : principes du modèle SO2M : principes du modèle de servicesde services
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Concepts du modèle de services décrits par des Concepts du modèle de services décrits par des diagrammes de classes UMLdiagrammes de classes UML
Certains concepts décrits à l’aide d’une ontologie Certains concepts décrits à l’aide d’une ontologie
SéparationSéparation Modèle de services/Ontologies Modèle de services/Ontologies Modèle de services : concepts pour spécifier les servicesModèle de services : concepts pour spécifier les services Ontologies pour définir la valeur d’un conceptOntologies pour définir la valeur d’un concept Modèle de services Modèle de services utilisé parutilisé par le concepteur de services le concepteur de services Ontologies Ontologies partagéespartagées entre entre
Le concepteur de services méthode (fournisseur de Le concepteur de services méthode (fournisseur de services )services )
Le concepteur de SI (consommateur de services)Le concepteur de SI (consommateur de services)
Modèle de services et Modèle de services et ontologiesontologies
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
3 niveaux 3 niveaux complémentaires :complémentaires : Partie Partie identifiantidentifiant : décrit : décrit
l’usage du servicel’usage du service
Partie Partie processusprocessus : décrit ce : décrit ce que le service offreque le service offre
Partie Partie ressourceressource : décrit une : décrit une démarche exécutable par le démarche exécutable par le concepteurconcepteur
Niveaux de description d’un Niveaux de description d’un service méthodeservice méthode
Service méthodeService méthodePartie Partie identifiant identifiant
(pourquoi ?)(pourquoi ?)Partie Partie processus processus
(quoi ?)(quoi ?)Partie Partie ressource ressource
(Comment ?)(Comment ?)
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie identifiant : précise Partie identifiant : précise ce que fait le servicece que fait le service en en indiquant le but qu’il permet d’atteindre.indiquant le but qu’il permet d’atteindre.
Partie identifiantPartie identifiant
Partie identifiantPartie identifiant
FinalitéFinalité
(Lbut)(Lbut)ButBut
ManièreManière ContexteContexte
ArgumentArgument
PourPour ContreContre
(Lact)(Lact)ActeurActeur
(Lproc)(Lproc)Unité de processusUnité de processus
(Lprod)(Lprod)Elément de produitElément de produit
ProjetProjet
11
1111
0..*0..*0..*0..*110..10..111
11
11
0..*0..*0..*0..*11 1..*1..*
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
11
Partie identifiant : exemplePartie identifiant : exemple
Service méthodeService méthode-Finalité : -Finalité :
--ButBut : : Construire un diagramme de classesConstruire un diagramme de classes -Manière : -Manière : manuellementmanuellement -Contexte :-Contexte : -projet:-projet:
-nature : -nature : développementdéveloppement - domaine : -- domaine : -
--acteuracteur : : concepteur, ingénieur méthodeconcepteur, ingénieur méthode --unité de processusunité de processus : : expression des besoins, conceptionexpression des besoins, conception --élément de produitélément de produit : : diagramme de classesdiagramme de classes-Argument :-Argument : -pour : -pour : Le processus proposé guide la construction d’un diagramme de classesLe processus proposé guide la construction d’un diagramme de classes -contre : -contre : Nécessite des compétences en UMLNécessite des compétences en UML
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie processus : Partie processus : décrit le processus fournidécrit le processus fourni par le service par le service comporte une situation initiale, une situation finale et comporte une situation initiale, une situation finale et un un
processusprocessus
Processus = décomposition du but du serviceProcessus = décomposition du but du service
4 types de processus :4 types de processus :1)1) Atomique Atomique
2)2) CompositeComposite
3)3) SimpleSimple
4)4) DécisionnelDécisionnel
Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
4 types de processus :4 types de processus :
1)1) AtomiqueAtomique : but non décomposable en sous-buts : but non décomposable en sous-buts
Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
AtomiqueAtomique« Définir des attributs »« Définir des attributs »
4 types de processus :4 types de processus :
1)1) AtomiqueAtomique
2)2) CompositeComposite : but décomposable en sous-buts : but décomposable en sous-buts
processus constituants organisés avec processus constituants organisés avec des des constructions de contrôleconstructions de contrôle (séquence ou parallèle) (séquence ou parallèle)
Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie processus : exemple Partie processus : exemple de processus compositede processus composite
Service méthodeService méthode
-Situation initiale : --Situation initiale : --Situation finale : -Situation finale : Diagramme de classesDiagramme de classes
--ProcessusProcessus : :
Composite Composite SéquenceSéquence « Construire un diagramme de classes manuellement »« Construire un diagramme de classes manuellement »
SimpleSimple« Identifier les « Identifier les
classes conceptuelles »classes conceptuelles »
AtomiqueAtomique« Identifier des relations « Identifier des relations
entre les classes »entre les classes »
AtomiqueAtomique« Définir des attributs »« Définir des attributs »
AtomiqueAtomique« Définir des méthodes »« Définir des méthodes »
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
4 types de processus :4 types de processus :1)1) AtomiqueAtomique 2)2) CompositeComposite
3)3) SimpleSimple : : but pour lequel on ne connaît pas (ou ne but pour lequel on ne connaît pas (ou ne souhaite pas préciser) leur décompositionsouhaite pas préciser) leur décomposition
--Diffère le choix d’un processus au moment de l’utilisation des Diffère le choix d’un processus au moment de l’utilisation des servicesservices
-Peut représenter un processus composite -Peut représenter un processus composite
Favorise la flexibilité de SO2MFavorise la flexibilité de SO2M - évite de prédéfinir un processus- évite de prédéfinir un processus - adapte des parties de processus- adapte des parties de processus
Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
4 types de processus :4 types de processus :1)1) AtomiqueAtomique 2)2) CompositeComposite 3)3) SimpleSimple
4)4) DécisionnelDécisionnel : propose : propose plusieursplusieurs décompositions en décompositions en sous-buts sous-buts
Processus constituants organisés avec une Processus constituants organisés avec une construction de contrôle de type « choix »construction de contrôle de type « choix »
engendre de la variabilitéengendre de la variabilité
permet de choisir un processus parmi plusieurs permet de choisir un processus parmi plusieurs alternatives prédéfinies alternatives prédéfinies
Partie processusPartie processus Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie processus : exemple Partie processus : exemple de processus décisionnelde processus décisionnel
Service méthodeService méthode
--ProcessusProcessus : :
DécisionnelDécisionnelChoisirChoisir 11 processus pour processus pour
« Configurer un processus de développement »« Configurer un processus de développement »
SimpleSimple« Configurer un processus de « Configurer un processus de
développement en utilisant SO2M »développement en utilisant SO2M »
SimpleSimple« Configurer un processus de « Configurer un processus de
développement en utilisant le RUP »développement en utilisant le RUP »
Compétences en UML 2Compétences en UML 2Documentation 3Documentation 3
Guidage 1Guidage 1Temps de réalisation 5Temps de réalisation 5 Temps de réalisation 1Temps de réalisation 1
Guidage 5Guidage 5
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie ressource : Partie ressource : détaille le détaille le déroulement de l’exécution du processusdéroulement de l’exécution du processus
avec ses ressourcesavec ses ressources comporte des ressources et un comporte des ressources et un graphe d’exécutiongraphe d’exécution
Graphe d’exécution :Graphe d’exécution : Nœuds : Nœuds :
activitésactivités (opérations élémentaires) (opérations élémentaires) servicesservices (proposent une aide au concepteur) (proposent une aide au concepteur) points de variationpoints de variation (partie variable du graphe d’exécution) (partie variable du graphe d’exécution) points de décisionpoints de décision (décision que doit prendre le concepteur) (décision que doit prendre le concepteur)
Arcs : liens entre les nœuds (séquence, parallèle…)Arcs : liens entre les nœuds (séquence, parallèle…)
Partie ressourcePartie ressource
+ flexibilité+ flexibilité
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Partie ressource : exemplePartie ressource : exemple
Service méthodeService méthode
« point de variation »« point de variation »Identifier des Identifier des
classes conceptuellesclasses conceptuelles
« activité »« activité »Identifier des Identifier des
relations entre classesrelations entre classes
« activité »« activité »Définir Définir
des attributsdes attributs
« activité »« activité »Définir des Définir des méthodesméthodes
« sortie » Diagramme de
classes[complet]
« sortie » Diagramme de
classes[partiel]
…… …… ……
……
SimpleSimple« Identifier des classes conceptuelles »« Identifier des classes conceptuelles »
- Graphe d’exécution :
- Processus :
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Elles correspondent à des Elles correspondent à des ontologies de tâchesontologies de tâches vocabulaire pour décrire la résolution des problèmes associés à une vocabulaire pour décrire la résolution des problèmes associés à une
tâchetâche
Relatives aux Relatives aux problèmes de l’ingénierie problèmes de l’ingénierie des SIdes SI
LiensLiens entre ontologies (une ontologie peut utiliser les concepts et les entre ontologies (une ontologie peut utiliser les concepts et les instances d’une autre ontologie)instances d’une autre ontologie)
Les ontologies dans SO2MLes ontologies dans SO2M
(Lbut)(Lbut)ButBut
(Lproc)(Lproc)processusprocessus
(Lact)(Lact)ActeurActeur
est mis en est mis en œuvre parœuvre par
(Lprod)(Lprod)ProduitProduit
porte surporte sur
réaliseréalise utilise/génèreutilise/génère
Rôles des personnes impliquées dans les projets SI
Objets manipulés lors de la résolution de problèmes
Problèmes d’ingénierie des SI
Processus offerts par les services
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
VerbeVerbe = action = action plus ou moins plus ou moins complexe de complexe de développementdéveloppement
ObjetObjet = = élément de élément de produit sur produit sur lequel porte le lequel porte le verbeverbe
L’ontologie des buts L’ontologie des buts LLbut but
(simplifiée) (simplifiée)
ButBut
VerbeVerbe ObjetObjet
CréerCréer ConstruireConstruire
ConfigurerConfigurerUn diagramme Un diagramme de classesde classes
UnUnMCDMCD
ComporteComporte ComporteComporte
est similaire àest similaire à
ButBut = verbe + objet = verbe + objet
Exemple de butExemple de but : :
Construire Construire un diagramme de classesun diagramme de classes
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
1.1. Enrichir la description des servicesEnrichir la description des services
2.2. Réduire la distance entre les concepteurs Réduire la distance entre les concepteurs et les utilisateurs des services et les utilisateurs des services
3.3. Guider et automatiser la recherche/composition de Guider et automatiser la recherche/composition de services (services (exex : lien « est similaire à ») : lien « est similaire à »)
Apports des ontologies dans Apports des ontologies dans SO2MSO2M
Service méthodeService méthode
But :But : Construire Construire un diagramme de classesun diagramme de classes......
LLbutbut
ConstruireConstruire
CréerCréer
LLprodprod
un Diagramme un Diagramme de classesde classes
un MCDun MCD
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
ObjectifObjectif : créer de nouvelles méthodes en composant : créer de nouvelles méthodes en composant les processus offerts par les services existantsles processus offerts par les services existants
RequêteRequête = problème de développement = problème de développement = 1 but (verbe + objet) = 1 but (verbe + objet)
RechercheRecherche des services dont le but correspond des services dont le but correspond au but de la requêteau but de la requête
Le processus de composition Le processus de composition de servicesde services
RequêteRequête du concepteur du concepteur
CompositionComposition de services de services
ProcessusProcessus de développement de développement
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Le processus de composition Le processus de composition de servicesde services
EntréeEntrée : but initial : but initial RequêteRequête Processus simples (issus Processus simples (issus d’un même service)d’un même service)
Processus itératif = Processus itératif = 3 activités3 activités RechercheRecherche Composition Composition ExploitationExploitation
SortieSortie : : graphe de composition de services graphe de composition de services
GcGc graphe de processus Gpgraphe de processus Gp
But initial But initial (ie. requête ou processus simples)(ie. requête ou processus simples)
Graphes Graphes Gc et GpGc et Gp
RechercheRecherche
CompositionComposition
ExploitationExploitation
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Activités du processus de Activités du processus de compositioncomposition
But initialBut initial(ie. requête ou processus simples)(ie. requête ou processus simples)
Graphes Graphes Gc et GpGc et Gp
RechercheRecherche
CompositionComposition
ExploitationExploitation
-Sélection de services-Mise à jour de Gc
-Formulation de la requête-Formulation de la requête-Découverte de services
-Mise à jour de Gp-Mise à jour de Gp-Initialisation des itérations suivantes
au cours du processus au cours du processus Gc s’enrichitGc s’enrichit de de nouveaux services et nouveaux services et Gp se raffineGp se raffine
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
noeudsnoeuds = services = services sélectionnéssélectionnés
ArcsArcs = liens entre services = liens entre services
Racine = requête initialeRacine = requête initiale Feuilles = services Feuilles = services
atomiques atomiques
Graphe de processus / Graphe de processus / Graphe de compositionGraphe de composition
C1C1=Sequ(S1,S2)=Sequ(S1,S2)
Graphe de processus:Graphe de processus: assemblage des graphes assemblage des graphes d’exécution des services sélectionnés au cours du d’exécution des services sélectionnés au cours du processus de compositionprocessus de composition
Graphe de composition de servicesGraphe de composition de services (arbre):(arbre): services services trouvés et sélectionnés au cours du processus de trouvés et sélectionnés au cours du processus de compositioncomposition
S1S1 service service atomiqueatomique
S2S2 service service compositecomposite
S3S3 service service atomiqueatomique
SEQUENCESEQUENCE
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Définition de processus Définition de processus flexibles avec SO2Mflexibles avec SO2M
Les processus simples/décisionnels jouent un rôle Les processus simples/décisionnels jouent un rôle essentiel dans la définition de processus flexiblesessentiel dans la définition de processus flexibles
Les processus simples/décisionnels expriment de la variabilitéLes processus simples/décisionnels expriment de la variabilité Processus décisionnels impliquent un choix parmi plusieurs processusProcessus décisionnels impliquent un choix parmi plusieurs processus Processus simples définis par des servicesProcessus simples définis par des services
Service méthodeService méthode
Processus décisionnel P0Processus décisionnel P0
P1P1 P2P2 P3P3
Processus simple P3Processus simple P3
PPii
PPii
Processus décisionnelProcessus décisionnel
Processus simpleProcessus simple
SSii ServiceService
S4S4 S5S5 S9S9
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Itération 1Itération 1 : : RequêteRequête : « : « construire un diagramme de cas construire un diagramme de cas
d’utilisation »d’utilisation » Services sélectionnés Services sélectionnés : S1, S2: S1, S2 Graphe de composition GcGraphe de composition Gc : :
Graphe de processus GpGraphe de processus Gp : 1 point de variation : 1 point de variation
Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition
C1C1=Sequ(S1,S2)=Sequ(S1,S2)
S1S1 service atomiqueservice atomique« Consulter la notation UML d’un « Consulter la notation UML d’un diagramme de cas d’utilisation »diagramme de cas d’utilisation »
SEQUENCESEQUENCES2S2 service compositeservice composite
« Construire un diagramme « Construire un diagramme de cas d’utilisation »de cas d’utilisation »
Graphe Graphe d’exécution d’exécution
de S1de S1
Graphe Graphe d’exécution d’exécution
de S2de S2
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Itération 1 : (graphe de Itération 1 : (graphe de processus partiel)processus partiel)
Service méthode S2Service méthode S2
-Processus :-Processus :
CompositeComposite SéquenceSéquence « Construire un diagramme de cas d’utilisation » « Construire un diagramme de cas d’utilisation »
SimpleSimple«« Identifier les cas d’utilisation Identifier les cas d’utilisation »»
AtomiqueAtomique« Représenter les cas d’utilisation par « Représenter les cas d’utilisation par
un diagramme de cas d’utilisation »un diagramme de cas d’utilisation »
Graphe d’exécution de S2Graphe d’exécution de S2
« point de variation »« point de variation »Identifier les cas Identifier les cas
d’utilisationd’utilisation
« activité »« activité »Représenter les Représenter les cas d’utilisationcas d’utilisation
Graphe Graphe d’exécution d’exécution
de S1de S1
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Itération 2Itération 2 : : But initialBut initial : « : « identifier les cas d’utilisation »identifier les cas d’utilisation » Services sélectionnés Services sélectionnés : S3: S3 Graphe de composition GcGraphe de composition Gc : :
Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition
C1C1=Sequ(S1,S2)=Sequ(S1,S2)
S1S1 service atomiqueservice atomique« Consulter la notation UML d’un « Consulter la notation UML d’un diagramme de cas d’utilisation »diagramme de cas d’utilisation »
SEQUENCESEQUENCE S2S2 service compositeservice composite« Construire un diagramme « Construire un diagramme
de cas d’utilisation »de cas d’utilisation »
S3S3 service atomiqueservice atomique« Identifier les cas d’utilisation« Identifier les cas d’utilisation
en formulant les fonctions en formulant les fonctions de chaque acteur »de chaque acteur »
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Itération 2Itération 2 : : Graphe de processus GpGraphe de processus Gp : :
Point de variation du graphe d’exécution de S2 substitué par Point de variation du graphe d’exécution de S2 substitué par le graphe d’exécution de S3le graphe d’exécution de S3
Le graphe d’exécution de S3 ne comporte pas de point de Le graphe d’exécution de S3 ne comporte pas de point de
variabilité variabilité pas d’itération suivantepas d’itération suivante
Processus de composition terminé Processus de composition terminé : Gp ne comporte ni : Gp ne comporte ni point de variation ni de point de décisionpoint de variation ni de point de décision
Exemple d’exécution du Exemple d’exécution du processus de compositionprocessus de composition
Graphe Graphe d’exécution d’exécution
de S1de S1Graphe d’exécution de S2Graphe d’exécution de S2
Graphe Graphe d’exécution de S3d’exécution de S3
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
L’objectif de flexibilité de SO2M est satisfait par:L’objectif de flexibilité de SO2M est satisfait par: L’orientation butL’orientation but: suggère des alternatives (chaque : suggère des alternatives (chaque
alternative est une solution adaptée à un contexte précis)alternative est une solution adaptée à un contexte précis) Les processus décisionnels/simplesLes processus décisionnels/simples: expriment des : expriment des
points de variabilité dans la spécification des processuspoints de variabilité dans la spécification des processus La composition dynamiqueLa composition dynamique: liens entre services non : liens entre services non
prédéfinisprédéfinis
SO2M : un cadre flexibleSO2M : un cadre flexible
Temps TTemps T Temps T ’Temps T ’
S1S1 S2S2Base de servicesBase de services
Composition de Composition de servicesservices
S1S1 S2S2
S1S1 S2S2
Requête R1Requête R1 Requête R1Requête R1
S1S1 S3S3
S3S3
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Conception de services à partir du processus de compositionConception de services à partir du processus de composition
RèglesRègles de conception de services à partir de Gc de conception de services à partir de Gc
RécursivitéRécursivité : composition de services considérée comme un : composition de services considérée comme un nouveau service pouvant entrer à son tour dans une composition nouveau service pouvant entrer à son tour dans une composition de servicesde services
La propriété de récursivité de La propriété de récursivité de SO2MSO2M
Composition de services
Service entrant dans une composition de services
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
La récursivité permet :La récursivité permet : D’enrichir automatiquementD’enrichir automatiquement la base de services la base de services De rendreDe rendre réutilisableréutilisable des méthodes construites par le des méthodes construites par le
processus de compositionprocessus de composition
La propriété de récursivité de La propriété de récursivité de SO2MSO2M
Composition / Composition / réutilisation réutilisation de servicesde services
ExécutionExécution
Base de services
conceptionconceptionde servicesde services
Graphe de compositionGraphe de composition
Nouveau serviceNouveau service
requêterequête
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Fragment réutilisableFragment réutilisable: sous-arbre de Gc qui a pour racine une : sous-arbre de Gc qui a pour racine une composition de servicescomposition de services Fragments maximauxFragments maximaux: toutes les feuilles sont des services : toutes les feuilles sont des services
atomiquesatomiques Fragments minimauxFragments minimaux: profondeur = 1 et au moins une feuille : profondeur = 1 et au moins une feuille
correspondant à un service composite ou décisionnel correspondant à un service composite ou décisionnel
Conception de services à Conception de services à partir d’un graphe Gcpartir d’un graphe Gc
C1C1=Sequ(S1,S2)=Sequ(S1,S2)
S1S1 service atomiqueservice atomique« Consulter la notation « Consulter la notation UML d’un diagramme UML d’un diagramme de cas d’utilisation »de cas d’utilisation »
SEQUENCESEQUENCE S2S2 service compositeservice composite« Construire un diagramme « Construire un diagramme
de cas d’utilisation »de cas d’utilisation »
S3S3 service atomiqueservice atomique« Identifier les cas d’utilisation« Identifier les cas d’utilisation
en formulant les fonctions en formulant les fonctions de chaque acteur »de chaque acteur »
engendre un nouveau serviceengendre un nouveau service
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Le prototype SO2MX Le prototype SO2MX ((S02MS02M e eXXecution)ecution)
Prototype SO2MXPrototype SO2MX Conception des servicesConception des servicesRecherche de services Recherche de services Mise en œuvre du processus de compositionMise en œuvre du processus de composition
Le développement de ce prototype utilise :Le développement de ce prototype utilise :XMLXML pour la description des services (conforme à la pour la description des services (conforme à la DTDDTD))OWLOWL pour la description des ontologies pour la description des ontologiesAPI DOMAPI DOM pour la manipulation des documents au format XML pour la manipulation des documents au format XMLPHPPHP pour l’implémentation des fonctionnalités du prototype pour l’implémentation des fonctionnalités du prototypeLa librairie La librairie JpGraphJpGraph pour la représentation des graphes (Gc et pour la représentation des graphes (Gc et Gp)Gp)
Le prototype a été élaboré à l’aide d’une architecture Le prototype a été élaboré à l’aide d’une architecture client/serveurclient/serveur
Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Concepteur de SIConcepteur de SI Mise en œuvre du processus Mise en œuvre du processus
de compositionde composition
Outil de type workflowOutil de type workflow Gère et exécute des processus Gère et exécute des processus
entièrement définisentièrement définisRecherche de services
Concepteur de SI
<< include >>
Concepteur de services
Conception de services
Conception de méthodes
Formulation de la requête
Exécution d’une méthode
<< include >><< include >>
SO2M
But initial But initial
Gc et GpGc et Gp
RechercheRecherche CompositionComposition
ExploitationExploitationOutil de type workflow
<< système >>
Résultats majeurs :Résultats majeurs :
Modèle de servicesModèle de services méthode (description des services méthode (description des services méthode)méthode)
Ontologies de tâchesOntologies de tâches (spécification des services et des (spécification des services et des requêtes)requêtes)
Processus de compositionProcessus de composition de services (assemblage dynamique) de services (assemblage dynamique)
RèglesRègles (nouvelle forme de conception de services) (nouvelle forme de conception de services)
Prototype SO2MXPrototype SO2MX
ConclusionConclusion Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
Prise en compte du contexte dans l’expression de la Prise en compte du contexte dans l’expression de la requêterequête Affine la mise en correspondance entre les services et la Affine la mise en correspondance entre les services et la
requêterequête Pour augmenter le degré d’automatisationPour augmenter le degré d’automatisation
Assemblage des services pendant l’exécution de la Assemblage des services pendant l’exécution de la méthodeméthode Prend en compte l’état du déroulement du projet pour Prend en compte l’état du déroulement du projet pour
sélectionner sélectionner les servicesles services Pour augmenter le degré d’adaptabilité/flexibilitéPour augmenter le degré d’adaptabilité/flexibilité
Enrichissement dynamique des ontologiesEnrichissement dynamique des ontologies Ajout de nouveaux termes pendant Ajout de nouveaux termes pendant l’expression des l’expression des
requêtes…requêtes… Pour augmenter le degré d’automatisation du processusPour augmenter le degré d’automatisation du processus
PerspectivesPerspectives Etat de l’artEtat de l’art La méta-méthode SO2MLa méta-méthode SO2M De la composition à la conception De la composition à la conception
dynamique de servicesdynamique de services Conclusion/perspectivesConclusion/perspectives
MERCIMERCI