Using a model to generate reconfiguration plans at runtime

In this paper, we present a reconfiguration procedure that generates a software reconfiguration sequence at runtime, being architecturally-consistent in respect to the components, compositions and connections provided by the underlying component model. Besides this, the procedure also regards the state for reconfiguration. Our procedure is based on the concept of Automated Planning, an Artificial Intelligence area. Given two architectural configurations, the procedure generates, if existing, a sequence of reconfigurations actions that will drive the architectural evolution among the configurations. The procedure can also generate an initialization sequence when the current configuration is empty, and the goal configuration represents a functional application. We generated the procedure for the Fractal component model and applied it to a publish/subscribe communications software developed in Fractal, as a proof of concept.

[1]  Thomas Ledoux,et al.  Reliable Dynamic Reconfigurations in a Reflective Component Model , 2010, CBSE.

[2]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[3]  Nenad Medvidovic,et al.  PLASMA: a plan-based layered architecture for software model-driven adaptation , 2010, ASE '10.

[4]  Cláudia Maria Lima Werner,et al.  A declarative approach for software compositional reconfiguration , 2012, ARM '12.

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

[6]  Biplav Srivastava,et al.  A decision-support framework for component reuse and maintenance in software project management , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[7]  Paolo Traverso,et al.  Automated Planning: Theory & Practice , 2004 .

[8]  Dennis Heimbigner,et al.  Deployment and dynamic reconfiguration planning for distributed software systems , 2007, Software Quality Journal.

[9]  Fabienne Boyer,et al.  Robust reconfigurations of component assemblies , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[10]  Dana S. Nau,et al.  SHOP2: An HTN Planning System , 2003, J. Artif. Intell. Res..

[11]  Richard S. Hall,et al.  iPOJO: an Extensible Service-Oriented Component Framework , 2007, IEEE International Conference on Services Computing (SCC 2007).

[12]  Hector Geffner The Model-Based Approach to Autonomous Behavior: A Personal View , 2010, AAAI.

[13]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[14]  Jeff Magee,et al.  From goals to components: a combined approach to self-management , 2008, SEAMS '08.

[15]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[16]  Yue Cao,et al.  Total-Order Planning with Partially Ordered Subtasks , 2001, IJCAI.

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

[18]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[19]  Arnaud Lanoix,et al.  Combining Proof and Model-checking to Validate Reconfigurable Architectures , 2011, Electron. Notes Theor. Comput. Sci..