The GEMOC Studio A language and modeling workbench for executable modeling

The GEMOC Studio provides generic components through Eclipse technologies for the development, integration, and use of heterogeneous executable modeling languages. This includes, among others:

  • metaprogramming approaches and associated execution engines to design and execute the behavioral semantics of executable modeling languages,
  • efficient and domain-specific execution trace management services,
  • model animation services,
  • advanced debugging facilities such as forward and backward debugging (i.e. omniscient debugging), timeline, etc.
  • coordination facilities to support concurrent and coordinated execution of heterogeneous models
  • an extensible framework for easily adding new execution engines and runtime services

The studio is also provided as an Eclipse product, which eases the diffusion of the various technologies aforementioned through an integrated studio that also includes documentation, examples, and tutorials. The GEMOC Studio offers two workbenches (accessible with specific perspectives):

  • A Language Workbench to be used by language designers to build and compose new executable modeling languages
  • A Modeling Workbench to be used by domain designers to create, execute, and coordinate models conforming to executable modeling languages


Metaprogramming Approaches

Various ways to extend metamodels with interpreters, compilers, and model checkers (Xtend/Kermeta, XMOF, Java).

Sirius Animator

Define the execution semantics of your executable language along with an animation layer atop the graphical concrete syntax.

Melange

Declare, extend and assemble the components of executable languages.

Generative Approaches

Automatically generate execution trace metamodels to support advanced features in the modeling workbench.

MoCCML

Specify a Model of Concurrency and Communication (MoCC) and its mapping to a specific abstract syntax and associated execution functions of a modeling language.

BCOoL

Specify the language coordination patterns to automatically coordinates the execution of heterogeneous models.


Generic Execution Framework

Generic bridge in between various execution engines and shared runtime services.

Model Animator

Graphical and textual animation, breakpoint definition, and step-by-step model execution.

Omniscient Debugger

Forward and backward navigation through the execution trace.

Concurrency Analysis

Analysis concurrency constraints on model execution traces.

Coordination of Models

Concurrent and coordinated execution of heterogeneous models.

Domain-Specific Plugins

Add a plug-in to the execution framework, either for a specific DSL or to be shared for different DSLs.

Download

Update sites and Eclipse packages.

Documentation

User manual of the GEMOC studio.

Tutorials

Learn how to use the Studio.

Development

Source code, Bugs, Features.


What can you do with the GEMOC Studio? Discover various examples of modeling languages created with the GEMOC studio for various purposes: Systems Engineering, Software Development, Business Configuration, Computational Sciences...