Managing Dynamic Reconfiguration in Component-Based Systems

We propose a meta-framework called ‘Plastik' which i) supports the specification and creation of runtime component-framework-based software systems and ii) facilitates and manages the runtime reconfiguration of such systems while ensuring integrity across changes. The meta-framework is fundamentally an integration of an architecture description language (an extension of ACME/Armani) and a reflective component runtime (OpenCOM). Plastikgenerated component frameworks can be dynamically reconfigured either through programmed changes (which are foreseen at design time and specified at the ADL level); or through ad-hoc changes (which are unforeseen at design time but which are nevertheless constrained by invariants specified at the ADL level). We provide in the paper a case study that illustrates the operation and benefits of Plastik.

[1]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .

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

[3]  Paolo Falcarin,et al.  Software Architecture Evolution through Dynamic AOP , 2004, EWSA.

[4]  Cecilia Mascolo,et al.  Satin: A Component Model for Mobile Self Organisation , 2004, CoopIS/DOA/ODBASE.

[5]  Dennis Heimbigner,et al.  Software Architecture, Configuration Management, and Configurable Distributed Systems: A Menage a Trois , 1998 .

[6]  Dennis Heimbigner,et al.  Versioned software architecture , 1998, ISAW '98.

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

[8]  Gordon S. Blair,et al.  The design of a configurable and reconfigurable middleware platform , 2002, Distributed Computing.

[9]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996, Softw. Pract. Exp..

[10]  Gordon S. Blair,et al.  NETKIT: a software component-based approach to programmable networking , 2003, CCRV.

[11]  Stephen S. Yau,et al.  An Adaptive Middleware for Context-Sensitive Communications for Real-Time Applications in Ubiquitous Computing Environments , 2004, Real-Time Systems.

[12]  Kevin Lee,et al.  OpenCOM v2: A Component Model for Building Systems Software , 2004 .

[13]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[14]  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).

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

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

[17]  Perdita Stevens,et al.  Modelling Recursive Calls with UML State Diagrams , 2003, FASE.

[18]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996 .

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

[20]  Thierry Coupaye,et al.  Recursive and Dynamic Software Composition with Sharing , 2002 .

[21]  Gordon S. Blair,et al.  FORMAware: Framework of Reflective Components for Managing Architecture Adaptation , 2002, SEM.

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

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

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

[25]  Amar Ramdane-Cherif,et al.  Dynamic Reconfigurable Software Architecture: Analysis and Evaluation , 2002, WICSA.

[26]  Wilhelm Schäfer,et al.  Software Engineering — ESEC '95 , 1995, Lecture Notes in Computer Science.