Automated planning for software architecture evolution

In previous research, we have developed a theoretical framework to help software architects make better decisions when planning software evolution. Our approach is based on representation and analysis of candidate evolution paths-sequences of transitional architectures leading from the current system to a desired target architecture. One problem with this kind of approach is that it imposes a heavy burden on the software architect, who must explicitly define and model these candidate paths. In this paper, we show how automated planning techniques can be used to support automatic generation of evolution paths, relieving this burden on the architect. We illustrate our approach by applying it to a data migration scenario, showing how this architecture evolution problem can be translated into a planning problem and solved using existing automated planning tools.

[1]  Mohammad Ghafari,et al.  A Framework for Classifying and Comparing Architecture-centric Software Evolution Research , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[2]  Ivan Serina,et al.  An Approach to Temporal Planning and Scheduling in Domains with Predictable Exogenous Events , 2011, J. Artif. Intell. Res..

[3]  Michel Wermelinger,et al.  A graph transformation approach to software architecture reconfiguration , 2002, Sci. Comput. Program..

[4]  Alfonso Gerevini,et al.  Preferences and soft constraints in PDDL3 , 2006 .

[5]  Guido Sciavicco,et al.  Reasoning with Time Intervals: A Logical and Computational Perspective , 2012 .

[6]  Craig A. Knoblock,et al.  PDDL-the planning domain definition language , 1998 .

[7]  Keith Golden,et al.  The Loyal Opposition Comments on Plan Domain Description Languages , 2003 .

[8]  Lars Grunske Formalizing architectural refactorings as graph transformation systems , 2005, Sixth International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing and First ACIS International Workshop on Self-Assembling Wireless Network.

[9]  Frederic Maris,et al.  TLP-GP: Solving Temporally-Expressive Planning Problems , 2008, 2008 15th International Symposium on Temporal Representation and Reasoning.

[10]  Olivier Le Goaer Styles d'évolution dans les architectures logicielles , 2009 .

[11]  Gerhard Wickler,et al.  Automated Planning for Configuration Changes , 2011, LISA.

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

[13]  Subbarao Kambhampati,et al.  When is Temporal Planning Really Temporal? , 2007, IJCAI.

[14]  Stephen Cresswell,et al.  Compilation of LTL Goal Formulas into PDDL , 2004, ECAI.

[15]  Ivica Crnkovic,et al.  A systematic review of software architecture evolution research , 2012, Inf. Softw. Technol..

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

[17]  Robert L. Nord,et al.  Analysis and Management of Architectural Dependencies in Iterative Release Planning , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[18]  Bradley R. Schmerl,et al.  Ævol: A tool for defining and planning architecture evolution , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[19]  Maria Fox,et al.  PDDL+ : Modelling Continuous Time-dependent Effects , 1999 .

[20]  Stefan Edelkamp,et al.  Automated Planning: Theory and Practice , 2007, Künstliche Intell..

[21]  Maria Fox,et al.  PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains , 2003, J. Artif. Intell. Res..

[22]  Andrew Coles,et al.  Temporal Planning with Preferences and Time-Dependent Continuous Costs , 2012, ICAPS.

[23]  Thaís Vasconcelos Batista,et al.  ACME vs PDDL: support for dynamic reconfiguration of software architectures , 2012, ArXiv.

[24]  David Garlan,et al.  Challenges in developing a software architecture evolution tool as a plug-in , 2013, 2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI).

[25]  Mathias Weske,et al.  Automated planning in a service-oriented architecture , 2004, 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[26]  Hasan Sözer,et al.  Guiding Architects in Selecting Architectural Evolution Alternatives , 2011, ECSA.

[27]  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.

[28]  Bradley R. Schmerl,et al.  Evolution styles: foundations and models for software architecture evolution , 2012, Software & Systems Modeling.