Advanced Systems Design with Java, UML and MDA

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
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.
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...