The GEMOC Studio offers 2 main usages:

  • Building and composing new executable DSML. This mode is intended to be used by language designers and language integrators (aka domain experts).
  • Creating and executing models conformant to executable DSMLs. This mode is intended to be used by domain designers.

Each of these usage has it own set of tools that are referenced as Gemoc Language workbench for the tools for language designers and Gemoc Modeling Workbench for the tools for domain designers.

Figure 1. Gemoc Workbenches Global Picture

In this document:

  • items or roles relative to the Language Workbench are identified with the following icon : IconeGemocLanguage 32
  • items or roles relative to the Modeling Workbench are identified with the following icon : IconeGemocModel 32


The latest version of this document is available online from

1. Language Workbench overview IconeGemocLanguage 16

The GEMOC Language Workbench allows building and composing new executable DSMLs.

To acheive that, it offers appropriate tools and guidance for the underlying activities wich are grouped in categories.

Build executable language. The first main activity is to build an executable language. The language designer is assited by a dedicated Dashboard to guide him during his work.

This first dashboard groups the activities as follow:

Create a language

This activity can be decomposed in activities in two groups :

Domain model (abstract syntax)
  • Create the abstract syntax with EMF (incl., the ecore model and the genmodel)
Model editors (concrete syntax)
Make your language executable

This activity is decomposed in 2 main parts:

Sequential Execution semantics
  • Create the execution semantics with Kermeta and Melange
Concurrent Execution semantics
  • Create the Domain-Specific Actions with Kermeta and Melange
  • Create the Domain-Specific Events with ECL
  • Create a library of Model of Computation with MoccML
Define the runtime environnement for the language
Model Debugger
  • Select your breakpointable elements
Model dynamic representation (for debugging, animation, monitoring)
  • Create the graphical representation with Sirius Animator
  • Plug your own add-ons

TODO add links to the corresponding sections in the main chapters

TODO: add snapshot of the dashboard

Compose executable languages. The second main activity is to define the composition between executable languages. The language integrator is also assisted by a dedicated dashboard that proposes the following activity groups:

Compose languages

This activity can be decomposed in activities in two groups :

Create composition operators
  • Create operators with BCOoL
Combine languages
  • Select a set of language to combine
  • Apply composition operators to a set of languages.
  • Customize composition

TODO: add snapshot of the dashboard

2. Modeling workbench overview IconeGemocModel 16

The GEMOC Modeling Workbench allows the use of available languages to create and execute models.

Create Models
  • Use available editors to create domain models.
Execute and debug models
  • Use execution engine
  • Use step by step debugger
  • Analyse time trace
Animate models
  • Use animation views

3. General concerns and prerequisite


In order to run, Eclipse workbench work better with additional memory. Use the following setting to start Eclipse: -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m


As our package aren’t digitically signed, Mac computer may prevent running the studio. To workaround this Mac limitation, you may try one of these actions:

  • Remove the quarantine status

    • Open a terminal in the folder containing the .app
    • Execute: xattr -d
    • Double clic the .app
  • Open a terminal and launch ./