Reliable Dynamic Reconfigurations in a Reflective Component Model

Software engineering must cope with a more and more increasing need for evolutivity of software systems in order to make their administration easier. However, evolution and especially dynamic evolution in a system must not be done at the expense of its reliability, that is to say its ability to deliver the expected functionalities. Actually runtime modifications in a given system may lead to inconsistent states and so it can have an impact on its reliability. The aim of this paper is to guarantee reliability of dynamic reconfigurations used to make component-based systems evolve at runtime while preserving their availability. We propose a definition of consistency for configurations and reconfigurations in Fractal component architectures with a model based on integrity constraints like for example structural invariants. Reliability of reconfigurations is ensured thanks to a transactional approach which allows us both to deal with error recovery and to manage distributed and concurrent reconfigurations in Fractal applications.

[1]  Thomas Ledoux,et al.  Reliable dynamic reconfigurations in the fractal component model , 2007, ARM '07.

[2]  Alexander L. Wolf,et al.  Software architecture , 2001 .

[3]  Gordon S. Blair,et al.  Supporting adaptable distributed systems with FORMAware , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

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

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

[6]  Meir M. Lehman,et al.  Program evolution and its impact on software engineering , 1976, ICSE '76.

[7]  Thomas Ledoux,et al.  FPath and FScript: Language support for navigation and reliable reconfiguration of Fractal architectures , 2009, Ann. des Télécommunications.

[8]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

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

[10]  Brice Morin,et al.  Taming Dynamically Adaptive Systems using models and aspects , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[11]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[12]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[13]  Peyman Oreizy Issues in the Runtime Modification of Software Architectures , 1997 .

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

[15]  Irving L. Traiger,et al.  Transactions and consistency in distributed database systems , 1982, TODS.

[16]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[17]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[18]  Mira Mezini,et al.  Variability management with feature-oriented programming and aspects , 2004, SIGSOFT '04/FSE-12.

[19]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[20]  Robert T. Monroe Capturing Software Architecture Design Expertise with Armani , 2000 .

[21]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[22]  Thierry Coupaye,et al.  An Open Component Model and Its Support in Java , 2004, CBSE.

[23]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[24]  David Garlan,et al.  Acme: architectural description of component-based systems , 2000 .

[25]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

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

[27]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

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