institut f¨ur informatik - PST Thesis Management Interface - LMU
institut f¨ur informatik - PST Thesis Management Interface - LMU
institut f¨ur informatik - PST Thesis Management Interface - LMU
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.3. Model evolution<br />
• breaking and non-resolvable changes: changes in the metamodel which break the consistency<br />
of the model and cannot be automatically resolved. These changes require<br />
manual intervention by a domain expert.<br />
The concept of non-breaking and breaking changes can also be found in API evolution and<br />
the way it influences programs that make use of the API. An example for a non-breaking<br />
API change is the addition of a method in some class: this change does not break the existing<br />
instances of the class. The renaming of a method is an example for a breaking change: it<br />
breaks the program code that invokes this method by its old name because the code fails to<br />
compile. The code has to be adapted to use the new method name before it can compile<br />
successfully.<br />
The DiffMap model can be used as an information source for adapting AUTOSAR models<br />
to new versions of the AUTOSAR metamodel. This requires a transformation program<br />
that will adapt AUTOSAR models by utilizing metamodel change information found in the<br />
DiffMap model. However, this is not in the scope of GAUTOSAR and will not be further<br />
discussed in this thesis.<br />
OMG M-levels concept (see section 2.1.4) is used to elaborate on frequency and impact<br />
of model change in [Gru06]. M3 models represent modeling tools that are independent<br />
of the problem domain. As such, they are considered unchangeable from the point of view of<br />
the software solution and its life cycle. Changes to M2 models follow from insights into the<br />
problem domain as the software project evolves. These changes may cause inconsistencies<br />
in M1 models. M1 models are changed on a daily basis. Therefore, a need for a catalog of<br />
changes on M2 level and their influence on M1 level is identified. This catalog should be used<br />
to create algorithms for automated break resolution. Such catalogs have been constituted<br />
with varying levels of detail in [CDREP08], [BGGK07] and [HVW11].<br />
Co-adaptation is a term coined in [CDREP08] to describe model adaptation required upon<br />
metamodel change. Furthermore, a transformational approach for model co-adaptation is<br />
proposed where well-defined adaptation steps can be automatically generated from modifications<br />
that the metamodel underwent. In order to facilitate this, a difference model of the<br />
metamodels is exploited to co-adapt the depending models. This difference model consists<br />
of all manipulation operations from the original metamodel to the evolved metamodel. This<br />
method of detecting change is known as recording the metamodel change trace, in contrast<br />
to direct comparison method used in EMF Compare (see section 2.2.4). A discussion of<br />
advantages and disadvantages of both approaches is given in [BGGK07] and [Eys08].<br />
The work in [Eys08] explores the change tracing method in more detail and utilizes wellknown<br />
technologies such as the observer pattern and existing EMF utilities to implement<br />
this method in a patch. A patch is an EMF model that serves as a difference model where<br />
changes are described as atomic primitives, which enables transforming the old metamodel<br />
to the new one and vice-versa. The atomic primitives are then grouped into composite<br />
changes and augmented with information required for the co-adaptation algorithm. The<br />
patch technology was used for the development of the model versioning system in [Kal10]<br />
(see section 2.3.1).<br />
23