Skip to content
  Kermeta  

MDK : Model Development Kit

Document Actions

Using Kermeta and related tools like Sintaks, you can create various tools. In order to organize them, to deploy them, we use the notion of MDK (Model Development Kit).

The design of each MDK is attached to a domain metamodel and provides various services like : simulators, compilers, transformations, analyser, tree editors, graphical editors, textual editors, ...

New : find out the tips for finding the documentation of a given MDK !

The team provides various MDK that you can reuse or extend for your own needs.

Here is a list of them and what they propose.

The fields should help you to know what is the status and goal for them.


MDK metamodel
Description
ContentStatus
Goal
RDL
Requirement Description Language
  • Simulator
  • Text editor
  • Tree editor
  • Analysis
Stable
Production
Java 5Full metamodel of Java 5 (including instructions and  annotations)
  • Parser : java syntax to model
  • Prettyprinter to java syntax
Beta
Production
UML2 Class
This is the core of UML2. This MDK gathers the features dedicated to the class part of UML.
It is based on UML2 implementation from Eclipse EMF.
SVN
  • Helper operation in the metamodel
  • Transformations that applies design patterns
  • Transformation (compilation) to Kermeta metamodel
  • Editors are proposed using thirdparty tools
Alpha
Production
UML2 Statechart
Statechart part of UML2. This MDK gathers the features dedicated to the statechart part of UML.
It is based on UML2 implementation from Eclipse EMF.
SVN

  • Simulator (based on the UMLAUT valooder technology)
Alpha
Production
CWM
Implementation in EMF of the CWM specification (Common Warehouse Metamodel, OMG Trademark). This MDK gathers an exporter to SQL syntax and an SQL editor thanks to a Sintaks model, as well a simulator written in Kermeta and finally a tree editor generated with EMF.
SVN
  • Exporter to SQL syntax
  • Simulator
  • Text editor
  • Tree editor
Alpha
Production
Marte profile for UML
Marte profile for UML as standardized by the OMG
  • Constraint checker
pre-Alpha
Production
 OCLObject Constraint Language from the OMG
SVN
  • Parser: OCL syntax to model
  • transformation to Kermeta
  • Integration with Kermeta
 BetaInternal
Traceability
Traceability metamodel allowing to keep traces of transformation involving all kind of model manipulation on both model elements and texts
Web page;
SVN
  • Various helper operations
Stable
Internal
EcoreM3 level from Eclipse EMF
This is the compatibility layer used by Kermeta
SVN
  • Implementation of Ecore MM operations
  • Various helper operations
  • Various refactoring transformations (application of design patterns,...) (Beta)
Stable
Internal
Training
 Kermeta MDK dedicated to manipulate Kermeta models.
Web page;
SVN
(currently, look for the plugin org.kermeta.language.mdk)
  • Several transformations (eg: to and from ecore)
  • Various helpers
  • Interpreter and debugger
  • textual syntax editor
  • graphical syntax editor
  • tree editor
  • Model checker
Beta
Production
Internal
KTR
Transformation Rule language. A guard-Action based language used for some transformation mapping. Manual.
SVN
  • Interpreter
  • Tree editor
Beta
Internal
Production
KET
Kermeta Emitter Template. A template based text generator
Web page; SVN
  • Text editor
  • text generator
Beta
Internal
PatternMatching
Metamodel and tools for model based pattern matching
SVN
  • Metamodel relaxer (used in the pattern matching process)
  • Pattern matcher


Research
Weaver
Model weaver
  • Weaving engine
  • Various framework specialisation dedicated to some domain metamodel

Research
Docbook
A metamodel of Docbook used to produce platform independent documentation in various format.
SVN
  • parser of docbook
  • connexion to the classic docbook production tool chain
Alpha
Production
JunitReport
a metamodel of junit reports used to do regression tests in our development process

pre-Aplha
Internal
FSM
Finite State Machine metamodel. Mainly used as a demo of various use cases of Kermeta.
Web page; SVN
  • Simulator (ie. Interpreter)
  • Several endomorphic transformations
  • Sample of WFR checker
Stable
Demo
Logo turtle
metamodel of the classic logo turtle language.
SVN (for the core)
SVN (for the graphical editor)
  • Simulator using both textual output or graphical output
  • textual editor
  • tree editor
  • Compiler to Lego Mindstorm robot
  • Graphical editor
Beta
Demo
 Feature Diagram
MDK supporting our product derivation approach. Web page  
  •  Feature diagram support with conformance checking
  • Automatic composition of core assets

 AlphaResearch 
 KomposeMDK dedicated to composing homogeneous models
Web pageSVN
  • Composition metamodel
  • Pre/Post composition directives support (with parsing)
  • Specialization wizard + ECore and RDBSchema examples
  • ECore and RDBSchema models and composition directives examples
  • Health Watcher Case Study
 Beta Demo
securityMDKAccess control MDK for specifiying access control policies and generating security mutation for mutation testing.
source
  • Security metamodel
  • Example of PEP and PDP
  • A system implementing the generated policy
Alpha
Production
ModMap
MDK dedicated to composing both homogeneous and heterogeneous models
Web page;
  • Mapping language
  • Alignment DSML
  • Adapters generation in AspectJ


Pre-Alpha


Research

Legend :

Goal :

  • Internal : used in internal project in order to build larger applications
  • Demo : used in demo
  • Training : used in teacher training and in tutorials
  • Research : used in research experiment
  • Production : used in production project

Status :

Alpha, Beta, Stable or Mature