Specification of UML Model Transformations

Author(s): S. Kolahdouz Rahimi
Venue: 2010 International Conference on Software Testing
Date: 2010


The author explores existing methods of models transformations and proposes a new method for the specification and implementation of model transformations.

This paper focuses on the use of transformations on models. The author defines models transformations as relations between models. Model transformations are further defined by transformation rules for comprehensibility that tend to increase the coupling between different models. Dependency from one model to the next presents of problem with the order in which transformations are applied to models. The author also presents a problem with the verification of models after transformations have been applied. These problems are covered in this paper by addressing the cases where transformations are used in slicing state machines and verification of Quality of Service Requirements.

Looking at current techniques for Model transformations reveals that model transformations are composed of mappings from the individual elements in source models to the elements in target models. The direct element mapping is impractical for non-trivial languages and transformations but this difficulty is not shown by example. In the ideal case, a language for transformations should support the following.

Modularity: Allow coupling of multiple transformations.
Validation: Verify that the specification represents the correct transformation.
Verification: The ability to verify that the transformation is semantically correct.
Implementation: The ability to efficiently execute the transformation.

Modularity is then the key feature which supports the other features because smaller pieces are easier to validate, verify, and implement. Three styles of specifications are explained. Declaritive transformations, represented as mathematical relations. Imperative transformations, represented as programs, or algorithms that define the transformation, and hybrid transformations that combine the previous two. The paper concludes with a UML-RSDS hybrid type solution to the problem that specifies pre and post condition relations and looping algorithm to perform the transformation.