styles d'évolution dans les architectures...
TRANSCRIPT
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Styles d’évolution dans les
architectures logicielles
Olivier LE GOAER
Sous la direction du Pr. Mourad OUSSALAHEncadré par les Dr. Dalila TAMZALIT et Dr. Abdelhak SERIAI
9 octobre 2009
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 1 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 2 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 3 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Motivations
Il existe des évolutions récurrentes dans les architectures
Notre intuition : l’évolution gagnerait à être réutilisée
La représenter : fournir un support de représentationLa gérer : fournir une mécanique opératoire
Raisonner en termes de familles d’évolutions plutôt qu’en termesd’évolutions spécifiques
Bénéfices attendus de la réutilisation de l’évolution :
Efficacité : maîtriser les coûts et les délaisCompréhensibilité : mettre un nom sur des savoir-faire habituellementimplicitesQualité : faire émerger des bonnes pratiques d’évolution
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 4 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Motivations
Figure: Représentation schématique de nos motivations
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 5 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Objectifs
Nécessité de faire évoluer les systèmes logiciels
Facteurs endogènes (besoins utilisateurs, technologies utilisées, . . .)Facteurs exogènes (budgets alloués, deadlines, . . .)
Discipline de l’évolution logicielle (Software Evolution)
Légitimée par l’accroissement de la complexité des systèmesPrise de recul sur la problématique ces dernières annéesRecherche de nouvelles approches pour l’aborder
La notion de réutilisation a fait ses preuves pour la conception. Quidpour l’évolution ?
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 6 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 7 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Architecture logicielle ?
Histoire de l’architecture logicielle (AL) :
Naissance dans les années 70Émergence dans les années 80Maturité dans les année 2000
Une AL capture la structure "brute" d’un système :
Comment celui-ci est composé de parties en interactionComment les interactions ont lieu
Une AL fournit :
Un pont entre les exigences et la conception détailléeUn moyen d’analyser et de concevoir des systèmes à un haut niveaud’abstractionUn éclairage sur les choix de conception fondamentaux
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 8 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Architecture logicielle : définitions
Diversement définie
Définitions influentes [Perry et Wolf, 1992 ; Bass et al., 1998 ; . . .]
Cadre conceptuel offert par IEEE-Std-1471-2000Nombreuses autres définitions
Définition par une structure organisée de composants
« Designing and specifying the overall system structure emerges as anew kind of problem. Structural issues include gross organization andglobal control structure ; protocols for communication, synchronization,and data access ; assignment of functionality to design elements ;composition of design elements ; scaling and performance ; and selectionamong design alternatives. This is the software architecture level of
design » (Garlan, 1992).
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 9 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Inspiration de la construction de bâtiments [Alexander, 1977 ; Perry et
Wolf, 1992]
Figure: Modélisation architecturale
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 10 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Styles architecturaux
Un style architectural capture de l’expertise pour la conception
Utiliser l’expérience passée et prouvée en appliquant des stylesarchitecturaux
Un style architectural défini une famille d’architectures (vocabulaire,topologie, règles sémantiques)
Pour chaque style architectural, un pattern peut être défini (contexte,problème, solution)
Exemples récurrents : client/serveur, tableau noir, tuyau & filtre, . . .
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 11 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Styles architecturaux dans la construction de bâtiments
Figure: Les styles gothique etroman
Application d’un style architectural
Roman : Voûte en berceau, Voûte endemi-berceau, etc.Gothique : Arc-boutant, Pinacle,Culée d’Arc-boutant, etc.
Pattern incarné par le style gothique :
Contexte : concurrence entre lesévêchés du nord de la FranceProblème : course à la hauteur desnefsSolution : utiliser des arcs-boutant
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 12 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Langage de description d’une AL
Une notation pour décrire la structure et le comportement d’une AL
Remplace les notations informelles de type "boite et ligne"
Un ADL doit offrir au minimum les concepts de :
Composant : unité de calcul/stockageConnecteur : unité d’interactionConfiguration : assemblage de composants et de connecteurs
La grande famille des ADLs :
Un ancêtre : MIL75 (Module Interconnection Language)Une première génération repliée sur ses problèmes spécifiques (Darwin,Wright, Rapide, etc.)Une seconde génération reposant sur un consensus des concepts(ACME, xADL 2.0, etc.)
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 13 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Hiérarchie de modélisation d’AL
Figure: “Architecture égyptienne” dans l’ingénierie des ALs
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 14 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Récapitulatif
Figure: Notions et concepts importants
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 15 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 16 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Evolution architecturale : notre vision
« Evolving-in-the-large » vs. «
Evolving-in-the-small »
Une architecture met en jeu denombreux éléments bien définis
Chaque élément peut avoirdifférentes voies d’évolutionspossibles
Ce savoir-faire n’est détenu quepar un petit groupe d’architectescompétents
Figure: Evolutions possibles des élémentsd’une architecture de style gothique
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 17 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Evolution architecturale : vers sa réutilisation
Eviter de réinventer la roue à chaque fois
L’évolution doit nécessairement être abstraite pour pouvoir êtreréutilisée
Déclinaisons de la réutilisation de l’évolution :
Les savoir-faire sont réutilisés tels quelsLes savoir-faire sont réutilisés à travers leurs adaptations (spécialisés,généralisés, composés, etc.)Les nouveaux savoir-faire sont capitalisés
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 18 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Construction d’un cadre d’étude
Un modèle d’évolution (ME) = dispositifs offerts pour spécifier etgérer l’évolution
Définition d’une pyramide des besoinsHiérarchise les besoins associés à un METrois niveaux hiérarchiques identifiés
Figure: Pyramide des besoins
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 19 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Etude menée sur un ensemble d’ADLs
La pyramide a été construite pour :
Positionner un ME existantDéfinir un ME souhaité
Notre étude a été menée en positionnant des ME académiques
De l’école américaine : C2, Dynamic Wright, Dynamic ACMEDe l’école européenne : Darwin, XADL 2.0, SOFADe l’école française : Archware, SAEV, TranSAT
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 20 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Résultats synthétique de l’étude
Figure: Prise en compte des critères de comparaison de l’évolution : synthèse
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 21 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Bilan tiré de l’étude
Figure: Critères les plus importants vis-à-vis de l’évolution architecturale
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 22 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 23 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
SAEM : un modèle d’évolution à base de style
Extraire l’évolution de la description d’un élément architectural
Représenter l’évolution sous forme d’un style d’évolution
Thésauriser les styles d’évolution dans des bibliothèques
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 24 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
SAEM : un modèle d’évolution à base de style
Extraire l’évolution de la description d’un élément architectural
Représenter l’évolution sous forme d’un style d’évolution
Thésauriser les styles d’évolution dans des bibliothèques
Définition proposée
Un style d’évolution capture une manière caractéristique de procéder à
l’évolution de tout ou partie d’une architecture logicielle. Il sert de guide
pour un architecte qui doit alors se conformer au style.
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 24 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Support de représentation de l’évolution
Element évolutif : tout élément architectural susceptible d’évoluer
Style d’évolution : voie d’évolution possible d’un élément évolutif
Relation : organisation inter-style (spécialisation, composition etutilisation)
Bibliothèque : ensemble organisé de styles d’évolution mis à disposition
Figure: Illustration des éléments clés de représentation dans SAEM
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 25 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Focus sur la spécification d’un style d’évolution
Un nom : le plus évocateur possible
Un entête : déclare les éléments descriptifs de l’évolution (paramètres,assertions)
Une compétence : indique comment procéder à l’évolution
Figure: Le style d’évolution pour retirer un arc-boutant
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 26 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Mécanique opératoire de l’évolution
SAEM supporte quatre mécanismes différents
Excepté l’instanciation, ils permettent de propager les impactsstructurels d’une évolution ���������������� �������������
����������������������� ������������������������� �!�"" #��$�%����&���'���������()�*�+��*,-���()+)�,./+ �0�1������&���'���������()�*�+�2*/��/,�3+�*���/�)+)��""4��'������*5��,*��6�7+�""
����������&�'����'%���������()+)�,./+ �������/�����,���!�""8%����������������������9,�:�/�*���; �,/),�<9,�:�/�*��������� =9,��>?@������/�""
Figure: Illustration des 4 mécanismes de SAEM
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 27 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Définition du méta-modèle de SAEM
ABCDEFGCHIFJDKLMNOPQRSTLUVTWTXTYTRZP[TWTXTYTRZ\S]OWWP_S]OWWTLUTLabKcdKeU]MYPQRSTLU fcecgKFKeLMNOPQRSTLUNhYRT\YT TRZPiLYTNTROajMRhSMYkTLaP_MSMNlTSORT]LTLam\MSMNWnoopq]SaOSOar stuvwxyzuwX]aZP{]]YOML|}\SOWWT]L~Cg�KFKH�KX]aZPiST �noo��G�eceJLMNOPQRSTLU m]LRMTLOS �oop ABCDBc�DKADKgKHFm]LRO}Rp �oop�KDcFGCH]LLORT]LP{]]YOMLTLYhWT]LP{]]YOMLWTNTYMSTRZP{]]YOML]NP�]NNhLTMRT]L�]aOmW]hSO p� mRMSUOR�p
IFeE�FEecD~CH�FecGHF���KeFGCHmRZ\O �p
mTLVm]LWRSMTLOa|YONOLR
pm\SO�m\]WR�
s�yvvz�z�xmLMNOPQRSTLUfeGgGFGBK�J�K
Figure: Meta-modèle noyau de SAEM
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 28 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Représentation et gestion de l’évolution dans SAEM
Figure: Principe adopté via la hiérarchie de modélisation d’une AL
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 29 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Formalisme de représentation en ’Y’
Le modèle en Y (MY)
Trois conceptsLiens inter/intraconceptsMulti-vuesMulti-abstractions
Incarne un micro-patternd’évolution
Figure: MY
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 30 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 31 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Motivations
Rentabiliser les activités d’évolution
Construire des bibliothèques d’éléments réutilisablesDisposer de styles d’évolution sur étagères (Evolution-off-the-shelf )
Offrir un processus pour et par la réutilisation basé sur SAEM
Identifier des acteurs et leurs rôles respectif dans ces processus
Offrir une infrastructure de réutilisation de styles d’évolution
Exploiter l’organisation inter-styles à travers un raisonnement :
Au niveau statiqueAu niveau dynamique
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 32 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Bibliothèques pour les styles d’évolution
Trois niveaux de modélisation
E2 : Niveau MétaE1 : Niveau TypesE0 : Niveau Instances
Quatre catégories d’acteurs
CIE : constructeurd’infrastructure d’évolutionAAE : architecte d’applicationévolutiveDAE : développeurd’application évolutiveBE : bibliothécaire del’évolution
Figure: Bibliothèques pour les stylesd’évolution
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 33 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Processus par et pour la réutilisation
Processus pour la réutilisation
Etablir des élémentsréutilisablesLes représenterLes ajouter à la bibliothèque
Processus par la réutilisation
Sélectionner des élémentsréutilisablesLes adapter si besoinLes instancier
Figure: Bibliothèques pour les stylesd’évolution
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 34 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Focus sur la bibliothèque de niveau E1
Fonctionnalités del’infrastructure :
Intégrer des types de stylesd’évolution (AAE)Rechercher des types de stylesd’évolution (AAE/DAE)Instancier des types de stylesd’évolution (DAE)
Figure: Bibliothèques pour les stylesd’évolution
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 35 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Intégration dans la bibliothèque de niveau E1
Objectif
Peupler la bibliothèque tout en maintenant sa cohérenceTenir compte des hiérarchies de spécialisation et de compositionSe résume formellement en : (E ,⊤,⊑)× {x} → (E ∪ x ,⊤,⊑)
Fonctionnement
Insère une spécification dans un graphe, au bon endroitPeut entraîner des restructurations dans les spécifications concernées
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 36 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Intégration dans la bibliothèque de niveau E1
Objectif
Peupler la bibliothèque tout en maintenant sa cohérenceTenir compte des hiérarchies de spécialisation et de compositionSe résume formellement en : (E ,⊤,⊑)× {x} → (E ∪ x ,⊤,⊑)
Fonctionnement
Insère une spécification dans un graphe, au bon endroitPeut entraîner des restructurations dans les spécifications concernées
Nature de cette fonctionnalité
L’intégration met en jeu un raisonnement classificatoire statique
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 36 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Illustration de l’opération d’intégration
Figure: Représentation schématique de l’intégration d’un style x à la bibliothèquede niveau E1
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 37 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Recherche dans la bibliothèque de niveau E1
Objectif
Interroger la bibliothèque (réservoir de couples problème/solution)Tenir compte des hiérarchies de spécialisation et de compositionSe résume formellement en : (E ,⊤,⊑)× {q} → R
Fonctionnement
Situer un "problème" dans ceux déjà connus et rapatrier la "solution"à ce problèmeRe-découpage de l’évaluation en trois classes de résultats : succès –candidats – échecSpécification uniforme de la requête sous forme d’un style abstrait
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 38 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Recherche dans la bibliothèque de niveau E1
Objectif
Interroger la bibliothèque (réservoir de couples problème/solution)Tenir compte des hiérarchies de spécialisation et de compositionSe résume formellement en : (E ,⊤,⊑)× {q} → R
Fonctionnement
Situer un "problème" dans ceux déjà connus et rapatrier la "solution"à ce problèmeRe-découpage de l’évaluation en trois classes de résultats : succès –candidats – échecSpécification uniforme de la requête sous forme d’un style abstrait
Nature de cette fonctionnalité
La recherche met en jeu un raisonnement classificatoire statique
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 38 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Illustration de l’opération de recherche
Figure: Représentation schématique de la recherche d’un style x dans labibliothèque de niveau E1
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 39 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Instanciation depuis la bibliothèque de niveau E1
Déclenche un processus d’évolution à quatre phases :1 Invocation2 Recherche dynamique (en cas de style abstrait)3 Exécution4 Validation
Focus sur la phase 2 : recherche dynamique de compétence
Exploration en profondeur de la hiérarchie de spécialisationRepose sur les conditions d’attachement d’une instance à son type destyle (évaluée à sûr, possible ou impossible)Mécanisme d’inférence supportant un polymorphisme de compétence
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 40 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Instanciation depuis la bibliothèque de niveau E1
Déclenche un processus d’évolution à quatre phases :1 Invocation2 Recherche dynamique (en cas de style abstrait)3 Exécution4 Validation
Focus sur la phase 2 : recherche dynamique de compétence
Exploration en profondeur de la hiérarchie de spécialisationRepose sur les conditions d’attachement d’une instance à son type destyle (évaluée à sûr, possible ou impossible)Mécanisme d’inférence supportant un polymorphisme de compétence
Nature de cette fonctionnalité
L’instanciation met en jeu un raisonnement classificatoire dynamique
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 40 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Illustration du processus de recherche dynamique
Figure: Représentation schématique de la classification d’une instance de styled’évolution
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 41 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 42 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Projection de SAEM vers COSA
Finalité : cibler des plateformes à objet exécutables
Passer par une description à l’aide d’éléments d’un ADL
Choix de l’ADL COSA (Component-Object Description Langage)
Les niveaux de modélisation sont natifs dans COSACOSA offre certains mécanismes requis par SAEMQuestion du passage COSA→UML 2.0 déjà réglée
Nécessite d’augmenter le méta-modèle COSA
introduire la sémantique de SAEMfixer les règles de passage de SAEM vers COSA (dans sa versionaugmenté)
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 43 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Le projet ZOOM
Modélisation de systèmes navals complexes
Emblématique de la nécessité de disposer de plusieurs vues
Besoins d’évolutions dans chacune des vues
Figure: Vues sur un système naval
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 44 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Projet ZOOM : conception de réseaux de tuyauterie
Description des réseaux à l’aide des éléments de COSA
Figure: Mapping "one-to-one" entre TU et AL
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 45 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Projet ZOOM : évolution de réseaux de tuyauterie
Description des évolutions des réseaux à l’aide de SAEM
Figure: Cas du tronçonnage des tubes
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 46 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Cas du tronçonnage d’un tube�������������������������� ���¡¢�£��¤¡���¥�¡�¦£§��� ©¦¡£ª¡�«¬ ���¡¢�¬�ª�¡®� �¥¡ª°±²³�ª� ©�µ°± �¶ª¡�«¬���¥�¡�¦³°·¹±ºª¡�«¬ ���¡¢�¬���¥�¡�¦©�ª�£ª¡�«¬ ���¡¢�»©�ª�¼½��¾¿ÀÁÂÃÄÅ¿ÆÇÈÉ ���¡¢�£��¤¡®�¦� ÊËÌ¿ÀÁÂÃÄÅ¿ÆÇÈÉ ���¡¢�£��¤¡®�¦�ÍÎÎÏ�Ð�����Ñ��Î��£Ò��¡ ÓÔ�Õ�����Ñ��Î��£®�¦� Ö�ÎÏ�Ð�����Ñ��Î ×��Ô�Õ�����Ñ��ÎÍÕÕ�������ØÏ�Ö�ÎÏÔÙ ���¡¢�£��µ�Ú¡� ��Û��ÏÎ���������¥�¡�¦£§���¶� ¡�¦¡£§����¶£Ü�¦��¥Ý��Ù�Õ��������ØÏ�Ö�ÎÏÔÙ ���¡¢�£��µ�Ú¡� ���£��¤¡ ÍÕÕÞ��Õ������ØÏ�Ö�ÎÏÔÙ ���¡¢�£��µ�Ú¡� ��Û��ÏÎ��Þ��Õ���´��¡¦¡£ß�¡¦� �¶��¡£Ü�¡© Ý��Ù�Õ�Þ��Õ������ØÏ�Ö�ÎÏÔÙ ���¡¢�£��µ�Ú¡� ��ª£Ü��¶�¦¡Figure: Extrait de la bibliothèque de niveau E1 pour le domaine de la tuyauterie
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 47 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Plan de la soutenance
1 Introduction
2 Architecture Logicielle
3 Evolution Architecturale
4 Modèle d’évolution à base de style
5 Bibliothèques pour les styles d’évolution
6 Réalisations et expérimentations
7 Conclusion et perspectives
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 48 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Bilan du travail
Contribution à l’état de l’art sur l’évolution dans les ADLs académiques
Proposition du modèle d’évolution architecturale SAEM
Naissance du concept de style d’évolution (repris dans [Garlan, 2009])
Statut de première classe conféré à l’évolutionPossibilité de hiérarchiser les évolutions
Proposition d’une démarche accompagnant le modèle SAEM
Définition des activités nécessaires à la réutilisationDescription du fonctionnement d’une infrastructure informatique
Premier pas vers une validation de nos propositions
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 49 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
Perspectives (sous-ensemble)
SAEM reflexif : étendre et modifier notre méta-modèle noyau
Styles de co-évolution : coordonner l’évolution sur deux niveaux demodélisation
Relations génériques inter-styles : exprimer tout type de relationsémantique
Styles d’évolution génériques (templates) : introduire dupolymorphime paramétrique
. . .
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 50 / 52
Introduction Architecture Evolution SAEM Bibliothèques Expérimentations Conclusion
That’s all folks
Merci de votre attention
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 51 / 52
Annexes
Bibliographie citée dans cette présentation
[Alexander, 1977] “A pattern language, town, buildings, constructions”.Oxford University Press
[Perry et Wolf, 1992] “Foundations for the Study of SoftwareArchitecture”. ACM SIGSOFT Software Engineering Notes
[Bass et al., 1998] “Software architecture in practice”. Addison-Wesley
[Garlan et al., 2009] “Evolution styles : Foundations and tool supportfor software architecture evolution”. WICSA/ECSA 2009
Olivier LE GOAER (LINA) Soutenance de thèse 9 octobre 2009 52 / 52