Chapter 11: Catalogue of Model Transformations
Overview
In this chapter we summarise all the transformations that have been used in previous chapters, together with other well-known model transformations. A standard format is used:
-
Name
-
Description Summary of the transformation effect
-
Motivation Situations when the transformation could or should be used
-
Diagram Illustration of typical application of the transformation
-
Conditions Properties that must be satisfied for the transformation to be correct.
As with design patterns (which can be considered a special kind of model transformation), there are often many variants on model transformations that are possible, and some of these will also be described.
The five main categories of model transformation are:
-
Quality Improvement Transformations
-
Elaborations
-
Refinements
-
Abstractions
-
Design Patterns
11.1 Quality Improvement Transformations
The transformations in this category aim to improve the structure of a model, making it conform more closely to normal uses of UML notation, or improving its precision or its flexibility for extension and adaption.
Two general categories of quality improvement transformation are the removal of redundancy and the factoring out/decomposition of elements.
11.1.1 Removal of Redundancies
The 'introduce superclass' transformation is one example of the removal of redundancies from a model. Normally redundancies should be eliminated they complicate a model unnecessarily and, if implemented, lead to extra work and possibilities for program flaws. Other examples of such transformations are the removal of redundant inheritances and associations.
-
Name Introduce Superclass
-
Description Introduces a superclass of several existing classes, to enable common features of these classes to be...