Preface

Kermeta is workbench and an action language dedicated to metamodel engineering.

The action language is a Domain Specific Language (DLS) that fills the gap let by MOF which defines only the structure of meta-models, by adding a way to specify static semantic (similar to OCL) and dynamic semantic (using operational semantic in the operation of the metamodel). Kermeta uses the object-oriented paradigm like Java or Eiffel.

The workbench allows to mashup various languages that, like Kermeta, works at the MOF level. (For example, OCL, QVT, UML profiles, ...). This means that, at design time, a user may decide to use a language adapted for a given task. The workbench will help to combine the various inputs in an efficient runtime.

This document gives beginners an introduction to the Kermeta action language and to the workbench, then it offers a reference of all the aspects of the language, including the textual syntax, the metamodeling features and some more advanced features. Two other chapters present the Kermeta Metamodel and the Kermeta framework .

[Important]Important

Kermeta is an evolving software and despite that we put a lot of attention to this document, it may contain errors (more likely in the code samples). If you find any error or have some information that improves this document, please send it to us using the bug tracker in the forge: http://gforge.inria.fr/tracker/?group_id=32 or using the developer mailing list (kermeta-developers@lists.gforge.inria.fr)

[Tip]Tip

The most update version of this document is available on line from http://www.kermeta.org .

New or changed in Kermeta 2

Kermeta has undergone a major refactorings between its version 1.x and 2.x. They apply both to the internal tooling and also on the language itself. In order to help identify the major changes between these versions, you can look for notes like the following :

[Note] New in Kermeta 2

[Note] Changed in Kermeta 2

You'll find the most significant in the following sections :