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.
In this document:
- items or roles relative to the Language Workbench are identified with the following icon :
- items or roles relative to the Modeling Workbench are identified with the following icon :
Note
The latest version of this document is available online from http://gemoc.github.io/gemoc-studio/
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)
-
- Create a graphical editor with Sirius Designer
- Create a textual editor with Xtext
- 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
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
Note
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