Skip to content

kermeta

Fábio Nogueira edited this page Mar 22, 2016 · 10 revisions

Kermeta uses aspects to define an executable meta-language which intends to extend EMOF in order to enable it to allow the specification of operation's semantic. The idea is that the extended version of EMOF meta-model, referred to as Executable EMOF, would correspond to a new M3-Level meta-model defining a modeling language that could be used to specify meta-models containing meta-data and meta-operations.

Kermeta complements EMOF with imperative and statically-typed action specifications, which include the following control structures:

  • Conditionals, loops and blocks.
  • Local variable declarations.
  • Call expressions for reading variables and properties or calling operations.
  • Assignment expressions for assigning variables and properties.
  • Literals expressions for primitive types,.
  • Exception handling mechanism: exceptions can be raised and caught by rescue blocks.
  • A limited form of lambda expressions which correspond to the implementation of OCL-like iterators such as collect, select or reject on collections.

References

Clone this wiki locally