Towards rational and minimal change propagation in model evolution

A critical issue in the evolution of software models is change propagation: given a primary change that is made to a model in order to meet a new or changed requirement, what additional secondary changes are needed to maintain consistency within the model, and between the model and other models in the system? In practice, there are many ways of propagating changes to fix a given inconsistency, and how to justify and automate the selection between such change options remains a critical challenge. In this paper, we propose a number of postulates, inspired by the mature belief revision theory, that a change propagation process should satisfy to be considered rational and minimal. Such postulates enable us to reason about selecting alternative change options, and consequently to develop a machinery that automatically performs this task. We further argue that a possible implementation of such a change propagation process can be considered as a classical state space search in which each state represents a snapshot of the model in the process. This view naturally reflects the cascading nature of change propagation, where each change can require further changes to be made.

[1]  Michael Winikoff,et al.  Supporting change propagation in UML models , 2010, 2010 IEEE International Conference on Software Maintenance.

[2]  Dalton Serey Guerrero,et al.  The Hybrid Technique for Object-Oriented Software Change Impact Analysis , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[3]  Václav Rajlich,et al.  Variable granularity for improving precision of impact analysis , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[4]  Peter Gärdenfors,et al.  On the logic of theory change: Partial meet contraction and revision functions , 1985, Journal of Symbolic Logic.

[5]  Václav Rajlich,et al.  A model for change propagation based on graph rewriting , 1997, 1997 Proceedings International Conference on Software Maintenance.

[6]  Aditya K. Ghose,et al.  Automated change impact analysis for agent systems , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[7]  Michael Winikoff,et al.  An agent-oriented approach to change propagation in software maintenance , 2011, Autonomous Agents and Multi-Agent Systems.

[8]  Aditya K. Ghose A formal basis for consistency, evolution and rationale management in requirements engineering , 1999, Proceedings 11th International Conference on Tools with Artificial Intelligence.

[9]  John Mylopoulos,et al.  RULE-BASED DETECTION OF INCONSISTENCY IN UML MODELS , 2002 .

[10]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[11]  Michael Winikoff,et al.  Cost-based BDI plan selection for change propagation , 2008, AAMAS.

[12]  Aditya K. Ghose,et al.  Supporting Change Propagation in the Maintenance and Evolution of Service-Oriented Architectures , 2010, 2010 Asia Pacific Software Engineering Conference.

[13]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..

[14]  Tom Mens,et al.  A Framework for Managing Consistency of Evolving UML Models , 2005 .

[15]  Tom Mens,et al.  A formal approach to model refactoring and model refinement , 2007, Software & Systems Modeling.

[16]  Igor Ivkovic,et al.  Tracing evolution changes of software artifacts through model synchronization , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[17]  Antje von Knethen,et al.  QuaTrace: a tool environment for (semi-) automatic impact analysis based on traces , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[18]  Alexander Egyed,et al.  Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[19]  Gregg Rothermel,et al.  Whole program path-based dynamic impact analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[20]  Aditya K. Ghose,et al.  Supporting change impact analysis for intelligent agent systems , 2013, Sci. Comput. Program..

[21]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[22]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[23]  K Dam Supporting software evolution in agent systems , 2008 .

[24]  D. Gabbay,et al.  Inconsistency Handling in Multiperspective Specifications , 1994 .

[25]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[26]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[27]  David Chenho Kung,et al.  Change impact identification in object oriented software maintenance , 1994, Proceedings 1994 International Conference on Software Maintenance.

[28]  Tom Mens,et al.  Introduction and Roadmap: History and Challenges of Software Evolution , 2008, Software Evolution.

[29]  A. Orso,et al.  Efficient and precise dynamic impact analysis using execute-after sequences , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[30]  Tom Mens,et al.  Automating Support for Software Evolution in UML , 2000, Automated Software Engineering.

[31]  Steffen Lehnert,et al.  A taxonomy for software change impact analysis , 2011, IWPSE-EVOL '11.