Project-Team : triskell
Section: Software
Keywords: MOF, UML, MDA, model transformation.
Kermeta : Kernel Metamodeling
Participants: Franck Chauvel, Zoé Drey, Franck Fleurey, Jean-Marc Jézéquel, Pierre-Alain Muller, Jean-Philippe Thibault, Didier Vojtisek [correspondant].Nowadays, object-oriented meta-languages such as MOF (Meta-Object Facility) are increasingly used to specify domain-specific languages in the model-driven engineering community. However, these meta-languages focus on structural specifications and have no built-in support for specifications of operational semantics. Triskell has developped the Kermeta language to explore the idea of using aspect-oriented modeling to add precise action specifications with static type checking and genericity at the meta level, and examine related issues and possible solutions [34].
Kermeta consists of an extension to the Essential Meta-Object Facilities (EMOF) 2.0 to support behavior definition. It provides an action language to specify the body of operations in metamodels. This action language is imperative and object-oriented.
Kermeta is used in several use cases:
Kermeta give a precise semantic of the behavior of a metamodel which then can be simulated.
Kermeta can be used as a model transformation language.
Kermeta can be used as a constraint language.
The development environment built for the Kermeta language currently contains the following tools
an interpreter that allows ametamodel to be executed.
a texteditor, fully integrated within Eclipse, with syntax higlighting, code autocompletion.
an Eclipse outline view, which allows navigation through the whole model and metamodel.
various import/export transformations such as ecore2kermeta (kermeta text), kermat2ecore, kermeta2xmi (xmi version of your kermeta metamodel), xmi2kermeta, xmi2ecore.
Kermeta is one of the corner stone of UMLAUT NG. However, since it will be distributed as an Eclipse project (in the Eclipse GMT project), it has its own external visibility. Developped as an open source software under the terms of the EPL (Eclipse Public License), it has been first deposited to the APP (Agence de Protection des Programmes) in October 2005.