Meta-Model and Model Co-evolution within the 3D Software Space

Jean-Marie Favre. Meta-Model and Model Co-evolution within the 3D Software Space. In Proceedings of the ELISA workshop Evolution of Large-scale Industrial Software Evolution. September 2003.

Abstract

Software evolution-in-the-large is a challenging issue. While most research work concentrates on the evolution of programs, large scale software evolution should be driven by much higher levels of abstraction. Software architecture is an example of such abstraction. The notion of co-evolution between architecture and implementation has been identified and studied recently. This paper claims that other abstraction dimensions should also be taken into account, leading to what we call the 3D software space. This conceptual framework is used to reason about evolution-in-the-large phenomena occurring in industry. The meta dimension, which constitutes the core of the MDA approach, is considered as fundamental. This paper makes the distinction between appliware and metaware and put the lights on meta-model and model co-evolution. Conversely to the MDA approach which makes the implicit assumption that meta-models are neat, stable and standardized, in this paper meta-models are considered as complex evolving software artefacts that are most often recovered from existing metaware tools rather than engineered from scratch. In fact, we identified the notion of meta-model and model co-evolution in the context of the evolution of a multimillion LOC component-based software developed by one of the largest software companies in Europe.