Styles d'évolution dans les architectures...

56
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 OUSSALAH Encadré 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

Transcript of Styles d'évolution dans les architectures...

Page 1: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 2: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 3: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 4: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 5: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 6: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 7: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 8: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 9: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 10: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 11: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 12: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 13: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 14: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 15: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 16: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 17: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 18: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 19: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 20: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 21: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 22: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 23: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 24: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 25: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 26: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 27: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 28: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 29: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 30: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 31: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 32: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 33: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 34: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 35: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 36: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 37: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 38: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 39: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 40: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 41: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 42: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 43: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 44: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 45: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 46: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 47: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 48: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 49: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 50: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 51: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 52: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 53: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 54: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 55: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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

Page 56: Styles d'évolution dans les architectures logiciellesolegoaer.perso.univ-pau.fr/works/soutenanceLeGoaer.pdf · Un pont entre les exigences et la conception détaillée ... assignment

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