Towards rational and minimal change propagation in model evolution
This addresses the challenge of rational and minimal change propagation in software model evolution, which is incremental as it builds on existing belief revision theory.
The paper tackles the problem of selecting among multiple ways to propagate changes in software models to maintain consistency, proposing postulates inspired by belief revision theory to justify and automate this selection, and develops a machinery for automatic change propagation.
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.