Project-Team : triskell
Section: Software
Keywords: MOF, UML, MDA, model transformation, component, patterns, validation.
UMLAUT NG : Extendible model transformation tool and framework.
Participants: Franck Chauvel, Erwan Drézen, Franck Fleurey, Jean-Marc Jézéquel, Damien Pollet, Jim Steel, Jean-Philippe Thibault, Didier Vojtisek [correspondant].MDA is an approach to application modelling and generation that has received a lot of attention in recent months. This is a logical evolution of the UML (Unified Modelling Language) usage supporting the following ideas:
Models expressed in a formally defined notation are a cornerstone to system understanding.
Building systems can be organized around a set of models by imposing a series of transformations between models, organized into an architectural framework of layers and transformations.
For example this evolution allows the engineers to formalize and automate the use of PIM (Platform Independent Model) and PSM (Platform Specific Model). The resulting design lifecycle creates platform independent abstract models which are successively refined into more concrete models (more an more platform dependent). It gives a way to work at the best abstraction level for a given problem.
One of the main point to be addressed is the model transformation part of the problem. Triskell reuses its expertise acquired with its tool umlaut and improved it to deal with mda specificities. Thus, umlaut evolved into umlaut ng (next generation) in order to use it in a wider range of applications. In addition to the manipulation of uml models, umlaut ng adds the ability to manipulate any kind of models on any kind of repositories. A transformation can be run on any repository that has compatible metamodels. The metamodels are defined using the mof. umlaut ng is now composed of a transformation language compiler and a framework of transformations written in this language. It allows complex model transformations. A major idea that drove umlaut ng evolution is that a transformation is a kind of program so it must be possible to apply the mda approach to itself.
As a central tool in the team, umlaut ng helps us investigating various research areas related to model transformation works. Since 1998, Triskell has mainly used it in the uml context to demonstrate several concepts. For example, to apply design patterns, to support the design by contract approach, to weave modelling aspects, to generate code, to simulate functional and extra functional features of a system, or use validation tools on the model. All these concepts will probably be investigated further.
umlaut ng as its predecessor is distributed as an open-source software. Running demonstrations are available on the following web pages: http://modelware.inria.fr/mtl.
Since umlaut ng was integrated into Eclipse environment, umlaut ng is now used by a growing community in the domain of model transformation. Amoung other we have users within: CEA, ENSIETA, ENST Bretagne, Swiss Federal Institute of Technology (Switzerland), University of Muenster (Germany), etc.
In 2005, umlaut ng was used within these projects in collaboration with industry:
- Carroll Mutation
with Thalès R&D, Thalès Airborne System and CEA, development of transformations useful for the test of a military application in a mda context;
- Itea Families
with (in France) Softeam, Thalès, about transformation of product lines, as the continuation of the Itea project CAFE.