Styles d'évolution dans les architectures logicielles

Les architectures logicielles ont ete introduites en reponse a l'accroissement de la complexite des systemes, en favorisant leurs descriptions a un haut niveau d'abstraction. Dans cette these, nous proposons d'aborder la problematique de leurs evolutions avec comme objectif, de capitaliser les evolutions recurrentes et de favoriser leur reutilisation. Notre contribution se decline en deux volets majeurs. Le premier volet concerne la proposition du modele d'evolution SAEM (Style-based Architectural Evolution Model), permettant l'abstraction, la specification et la gestion de l'evolution dans les architectures logicielles au travers du concept de style d'evolution. SAEM se veut un modele d'evolution generique, uniforme et independant de tout langage de description d'architecture. Le formalisme propose decrit les concepts du style d'evolution selon un tryptique : domaine, entete et competence. Le deuxieme volet concerne le developpement d'une approche de reutilisation par dessus SAEM pour tenter de rendre les activites d'evolution plus rentables. Nous proposons une demarche pour la construction de bibliotheques pour les styles d'evolution, orchestree par differentes categories d'intervenants. Les bibliotheques sont elaborees selon deux types de processus complementaires : « pour la reutilisation » et « par la reutilisation ». Nous presentons une technique de raisonnement classificatoire pour permettre aux bibliotheques d'etre peuplees et interrogees dans le but de gerer les savoir et savoir-faire relatifs a l'evolution architecturale.

[1]  Marija Mikic-Rakic,et al.  Mae---a system model and environment for managing architectural evolution , 2004, TSEM.

[2]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[3]  Luc Steels,et al.  Components of Expertise , 1990, AI Mag..

[4]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[5]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[6]  M. Shaw Larger scale systems require higher-level abstractions , 1989, IWSSD '89.

[7]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[8]  Nenad Medvidovic,et al.  Domains of Concern in Software Architectures and Architecture Description Languages , 1997, DSL.

[9]  Philippe Kruchten Software architecture and iterative development process , 1995, TRI-Ada '95.

[10]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[11]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[12]  Mourad Oussalah,et al.  COEXISTENCE OF OBJECT-ORIENTED MODELING AND ARCHITECTURAL DESCRIPTION , 2005 .

[13]  Todd R. Johnson,et al.  Task-structure analysis for knowledge modeling , 1992, CACM.

[14]  Marc T. Sewell,et al.  The Software Architect's Profession: An Introduction , 2001 .

[15]  Paul Clements,et al.  Documenting Component and Connector Views with UML 2.0 , 2004 .

[16]  Flávio Oquendo,et al.  Support for evolving software architectures in the ArchWare ADL , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[17]  David Garlan,et al.  What Is Style? , 2018, The Writer’s Style.

[18]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[19]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[20]  Martin Fowler Design - Who needs an architect? , 2003, IEEE Software.

[21]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[22]  David S. Rosenblum,et al.  Exploiting ADLs to specify architectural styles induced by middleware infrastructures , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[23]  Uwe Zdun,et al.  Architectural Patterns Revisited - A Pattern Language , 2005, EuroPLoP.

[24]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[25]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[26]  Richard N. Taylor,et al.  Towards a knowledge-based approach to architectural adaptation management , 2004, WOSS '04.

[27]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[28]  Jeremy S. Bradbury Organizing Definitions and Formalisms for Dynamic Software Architectures , 2004 .

[29]  Tom Mens,et al.  Towards a taxonomy of software change: Research Articles , 2005 .

[30]  Enrico Motta,et al.  Constructing knowledge-based systems , 1993, IEEE Software.

[31]  Mehdi Jazayeri Species evolve, individuals age , 2005, IWPSE.

[32]  David Garlan,et al.  Specifying Dynamism in Software Architectures , 1997 .

[33]  Adel Smeda Contribution à l'élaboration d'une métamodélisation de description d'architecture logicielle , 2006 .

[34]  Thaís Vasconcelos Batista,et al.  Managing Dynamic Reconfiguration in Component-Based Systems , 2005, EWSA.

[35]  Bradley R. Schmerl,et al.  Evolution styles: Foundations and tool support for software architecture evolution , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[36]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[37]  Peyman Oreizy,et al.  On the role of software architectures in runtime system reconfiguration , 1998, IEE Proc. Softw..

[38]  Olivier Barais,et al.  TranSAT : maîtriser l'évolution d'une architecture logicielle , 2004, Obj. Logiciel Base données Réseaux.

[39]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[40]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[41]  Gabriele Taentzer AGG: A Tool Environment for Algebraic Graph Transformation , 1999, AGTIVE.

[42]  Version,et al.  Model-Driven Architecture and Integration Opportunities and Challenges , 2001 .

[43]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[44]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[45]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[46]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[47]  V. R. Benjamins,et al.  Problem-Solving Methods for Diagnosis and their Role in Knowledge Acquisition , 1996 .

[48]  Christelle Urtado,et al.  Propagation de versions dans les objets complexes , 1996, INFORSID.

[49]  Henri Basson An integrated Model for Impact Analysis of Software Change , 1998 .

[50]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[51]  Mehdi Jazayeri,et al.  Component Programming - a Fresh Look at Software Components , 1995, ESEC.

[52]  Philippe Kruchten,et al.  The Past, Present, and Future for Software Architecture , 2006, IEEE Software.

[53]  Bradley R. Schmerl,et al.  Using Architectural Style as a Basis for System Self-repair , 2002, WICSA.

[54]  David S. Wile AML: an Architecture Meta-Language , 1999, 14th IEEE International Conference on Automated Software Engineering.

[55]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[56]  Roger Chaffin,et al.  The nature of semantic relations: a comparison of two approaches , 1989 .

[57]  Dieter Fensel,et al.  The Unified Problem-Solving Method Development Language UPML , 2003, Knowl. Inf. Syst..

[58]  Mary Shaw,et al.  Comparing Architectural Design Styles , 1995, IEEE Softw..

[59]  Jean Bézivin,et al.  KM3: A DSL for Metamodel Specification , 2006, FMOODS.

[60]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[61]  David Garlan,et al.  Towards engineered architecture evolution , 2009, 2009 ICSE Workshop on Modeling in Software Engineering.

[62]  Mourad Oussalah,et al.  Mapping COSA Software Architecture Concepts into UML 2.0 , 2006, 5th IEEE/ACIS International Conference on Computer and Information Science and 1st IEEE/ACIS International Workshop on Component-Based Software Engineering,Software Architecture and Reuse (ICIS-COMSAR'06).

[63]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[64]  Mary Shaw,et al.  Formulations and Formalisms in Software Architecture , 1995, Computer Science Today.

[65]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[66]  Mourad Oussalah,et al.  A Conceputalization of OO Evolution , 2003, OOIS.

[67]  Sylvia Ilieva,et al.  System level modeling of component based software systems , 2004, CompSysTech '04.

[68]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[69]  Henrik Eriksson,et al.  The evolution of Protégé: an environment for knowledge-based systems development , 2003, Int. J. Hum. Comput. Stud..

[70]  Jeff Magee,et al.  Using resemblance to support component reuse and evolution , 2006, SAVCBS '06.

[71]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[72]  William J. Clancey,et al.  Heuristic Classification , 1986, Artif. Intell..

[73]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[74]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[75]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[76]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[77]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[78]  Jan Bosch,et al.  Evaluation of tool support for architectural evolution , 2004 .

[79]  Adel. Smeda,et al.  My Architecture: a Knowledge Representation Meta-Model for Software Architecture , 2008, Int. J. Softw. Eng. Knowl. Eng..

[80]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[81]  Mourad Oussalah,et al.  MADL: Meta Architecture Description Language , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[82]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[83]  Ruben Prieto-Diaz,et al.  Criteria for Comparing Reuse-Oriented Domain Analysis Approaches , 1992, Int. J. Softw. Eng. Knowl. Eng..

[84]  Mary Shaw,et al.  The golden age of software architecture , 2006, IEEE Software.

[85]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[86]  Steve Vestal,et al.  Domain-Specific Software Architectures for Guidance, Navigation and Control , 1996, Int. J. Softw. Eng. Knowl. Eng..

[87]  David Garlan,et al.  Acme: an architecture description interchange language , 2010, CASCON.

[88]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[89]  Marvin Minsky,et al.  Matter, Mind and Models , 1965 .

[90]  Carine Souveyet,et al.  Concepts clés et techniques de réutilisation dans l'ingénierie des systèmes d'information , 2004, Obj. Logiciel Base données Réseaux.

[91]  David Garlan,et al.  Software Architecture and Object-Oriented Systems , 2000 .

[92]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[93]  Flávio Oquendo,et al.  Gestion des architectures évolutives dans ArchWare , 2006, CAL.

[94]  Fabien Leymonerie Asl : un langage et des outils pour les styles architecturaux : contribution à la description d'architectures dynamiques , 2004 .

[95]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[96]  Mary Shaw,et al.  Some patterns for software architectures , 1996 .

[97]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).