From Product Lines to Self-Managed Systems: An Architecture-Based Runtime Reconfiguration Framework

Adaptability and/or high availability are requirements which have become more prevalent and important for computing systems in recent years. To support adaptability and availability, a system must be able to dynamically change its behavior at runtime as user requirements, execution environments, or technologies change. Our aim is to develop a dynamic software product line in which a product line member can be dynamically modified after its deployment and thus new products can be produced during runtime without newly developing the products. To do so, we present a runtime reconfiguration framework based on reconfigurable components in supporting building dynamic product lines, particularly within the embedded software domain. Ultimately, our framework supports dynamic reconfiguration and not only reusable, but also reconfigurable components development in the context of self-managed systems.

[1]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[2]  Hassan Gomaa,et al.  Software reconfiguration patterns for dynamic evolution of software architectures , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[3]  Daniel Hoffman,et al.  Commonality and Variability in Software Engineering , 1998, IEEE Softw..

[4]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[5]  Jamie Hillman,et al.  An open framework for dynamic reconfiguration , 2002, Proceedings. 26th International Conference on Software Engineering.

[6]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[7]  Santosh K. Shrivastava,et al.  Architectural support for dynamic reconfiguration of large scale distributed applications , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[8]  Mary Shaw,et al.  Dynamic configuration of resource-aware services , 2004, Proceedings. 26th International Conference on Software Engineering.

[9]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 1997 .

[10]  Charles W. Krueger,et al.  Variation Management for Software Production Lines , 2002, SPLC.

[11]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

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

[13]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[14]  Bradley R. Schmerl,et al.  Versioning and Consistency for Dynamically Composed Configurations , 1997, SCM.

[15]  Pradeep K. Khosla,et al.  The Chimera Methodology: Designing Dynamically Reconfigurable and Reusable Real-Time Software Using Port-Based Objects , 1996, Int. J. Softw. Eng. Knowl. Eng..

[16]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[17]  Sooyong Park,et al.  A method and tool support for variant requirements analysis: goal and scenario based approach , 2004, 11th Asia-Pacific Software Engineering Conference.

[18]  Mike Mannion,et al.  Using Patterns to Model Variability in Product Families , 1999, IEEE Softw..

[19]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

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

[21]  Mohsen Afsharchi,et al.  A Scenario , 2007 .

[22]  Sooyong Park,et al.  A scenario, goal and feature-oriented domain analysis approach for developing software product lines , 2004, Ind. Manag. Data Syst..

[23]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..