DoubleCheck: Semantic preserving model transformations

This project aims at transforming UML Activities into the programming language TAAL. Actions of an Activity are translated into method calls within a TAAL program. The transformation is supposed to be semantics preserving, i.e., the methods of the TAAL program are called in the same order as the Actions of the Activity are executed.

Members: Gregor Engels, Arend Rensink, Maria Semenyak, Christian Soltenborn, Heike Wehrheim

Contact person: 

Maria Semenyak


Cooperations: Universität Twente, Netherlands

 

Description:

Model transformations are an important part of the Model Driven Development (MDD) approach suggested by the OMG. A model transformation transforms a source model into a target model (which does not need to have the same metamodel as the source model). The transformation is usually defined at the metamodel level.

The goal of the DoubleCheck project is to develop a model transformation, and to prove that the transformation fulfills certain requirements. A UML Activity serves as the source model and is transformed into a TAAL program. The programming language TAAL has been developed at the University of Twente and has a semantics which is based on graph transformations. In our working group, we have developed a semantics for Activities which is also based on graph transformations (see DMM).

The transformation to be developed transforms the Actions of an Activity into method calls within a TAAL program. We want to prove that the methods of the resulting TAAL program are called in the same order as the Actions of the Activity are executed. Obviously, the transformation has to be defined formally; we have once again chosen the formalism of graph transformations for this.

Tools: GROOVE


Related work: Dynamic Meta Modeling (DMM)