Major release.
The GEMOC Studio is an Eclipse package that contains components supporting the GEMOC methodology for building and composing executable DSMLs.
It includes the two workbenches:
Each workbench is delivered with some basic illustrating examples that can be installed from Eclipse (File>New>Example…)
This section describes all the features available in the studio. Those features fall into three categories:
For sake of simplification, features that are technically deployed as several Eclipse features are grouped for presentation.
This section presents the two main features of the Studio. These features plays a specific role in the studio, they organize the use of the other provided components.
The language workbench provides means to create new executable languages.
It gathers services from other features to provide the language definition tools
This component is developed in the context of the GEMOC ANR project.
Website: http://gemoc.github.io/gemoc-studio/
Documentation: http://gemoc.github.io/gemoc-studio/en-US/html/ch01.html / partly documented in D1.3.1 and D4.1.1
Source code: Available on the gemoc-dev git repository : gemoc-dev/org/gemoc/gemoc_language_workbench/
The Modeling Workbench provides the means to use and run languages (as defined in the language workbench aforementioned) in an integrated way. It gathers services from other features to provide to the user:
This component is developed in the context of the GEMOC ANR project.
Website: http://gemoc.github.io/gemoc-studio/
Documentation: http://gemoc.github.io/gemoc-studio/en-US/html/ch02.html/ partly documented in D1.3.1 and D4.1.1
Source code: Available on the gemoc-dev git repository: gemoc-dev/org/gemoc/gemoc_modeling_workbench/
This section lists the features that are explicitly used by the current GEMOC methodology in the two workbenches.
EcoreTools provides a complete and state of the art graphical modeler to create, edit and analyze Ecore models. The new ecore tools editors are based on Sirius.
Website: http://www.eclipse.org/ecoretools/
Documentation : http://www.eclipse.org/ecoretools/doc/
The Eclipse OCL Project provides an implementation of the Object Constraint Language (OCL) OMG standard for EMF-based models. In GEMOC methodology, OCL is used to add constraints on AS models.
Website: http://www.eclipse.org/modeling/mdt/?project=ocl
Documentation: https://wiki.eclipse.org/OCL
Xtend is a statically-typed programming language which translates to comprehensible Java source code. It allows to use advanced language constructs with a seamless integration in the Java programming language.
Website: https://www.eclipse.org/xtend
Documentation: https://www.eclipse.org/xtend/documentation.html
Kermeta 3 is a metaprogramming environment based on an object-oriented DSL optimized for metamodel engineering. It works as an extension of the xTend language to provide aspect oriented and model typing facilities. It is used to define the Domain Specific Action (DSA) in the GEMOC process.
Website: https://github.com/diverse-project/k3/wiki
Documentation: partly documented in D1.1.1 and in the tutorial http://gemoc.github.io/gemoc-studio/en-US/html/ch03.html
Melange is a language and platform for assembling and integrating multiple domain-specific languages. It is used to automate the creation of the different ecore required in the GEMOC process.
Website: http://melange-lang.org/
Documentation: partly documented in D1.1.1 and in the tutorial http://gemoc.github.io/gemoc-studio/en-US/html/ch03.html
TimeSquare is an MDK (Model Development Kit) provided as a set of Eclipse plugins that can be downloaded or installed over an existing Eclipse. TimeSquare provides an engine, a solver and editors for CCSL specifications (Clock Constraint Specification Language).
CCSL specifications are used to define MoCC.
Website: http://timesquare.inria.fr/
Documentation: Not yet available
ECL is an Event Constraint Language which allows the manipulation of logical time. An ECL model defines the link between the couple AS/DSA and the MoCC.
Website: http://timesquare.inria.fr/
Documentation: Not yet available
MoCML is modeling language for defining MoCC. The component comes with a textual and a graphical editor.
This component is developed in the context of the GEMOC ANR project.
Website: Not yet available
Documentation: in http://gemoc.github.io/gemoc-studio/en-US/html/ch01s07.html and in the tutorial http://gemoc.github.io/gemoc-studio/en-US/html/ch03.html
Source code: Available on the gemoc-dev git repository: gemoc-dev/org/gemoc/MoCC/
Xtext offers to create textual syntaxes and associated editor on top of gr ammars and/or metamodels.
Website: http://www.eclipse.org/Xtext/
Documentation: http://www.eclipse.org/Xtext/documentation.html
Sirius is an Eclipse project which allows to easily creating graphical modelling workbenches easily by leveraging the Eclipse Modeling technologies, It is built on top of EMF and GMF.
Website: http://eclipse.org/sirius/
Documentation: http://www.eclipse.org/sirius/doc/
This feature allows to run any model according to its xDSML definition. It uses the solver to compute the steps of the simulation. The interface provides launcher facilities to run a new simulation. This component is developed in the context of the GEMOC ANR project.
Website: Not yet available
Documentation: Deliverable notes D4.2.1
Source code: Available on the gemoc-dev git repository: gemoc-dev/org/gemoc/execution/engine
This feature provides animation of graphical models according to a running execution. It allows define specific animation views or animate existing ones. It is integrated to the Eclipse Debugger UI, and it highlights running model components on graphical views and editors. It is based on Sirius. This component is developed in the context of the GEMOC ANR project.
Website: Not yet available
Documentation: covered in the online documentation http://gemoc.github.io/gemoc-studio/en-US/html/ch01s10.html
Source code: Available on the gemoc-dev git repository: gemoc-dev/fr/obeo/dsl/sirius/animation
This section lists the features that have been added to the studio in order to ease the development or that are used internally by the main features.
Acceleo is a pragmatic implementation of the Object Management Group (OMG) MOF Model to Text Language (MTL) standard.
Website: http://www.eclipse.org/acceleo/
Documentation: http://www.eclipse.org/acceleo/support/
ATL (ATL Transformation Language) is a model transformation language and toolkit. In the field of Model-Driven Engineering (MDE), ATL provides ways to produce a set of target models from a set of source models.
Website : https://www.eclipse.org/atl/
Documentation : https://www.eclipse.org/atl/documentation/
QVT Operational component is a partial implementation of the Operational Mappings Language defined by the OMG standard specification (MOF) 2.0 Query/View/Transformation. In long term, it aims to provide a complete implementation of the operational part of the standard.
Website: http://www.eclipse.org/mmt/?project=qvto
Documentation: https://wiki.eclipse.org/QVTo
The Extended Editing Framework aims at enhancing EMF model creation phase by providing services dedicated to advanced model editing.
Website: http://www.eclipse.org/modeling/emft/?project=eef
Documentation: https://wiki.eclipse.org/EEF
UML Designer is a graphical tool to edit and visualize UML 2 models.
Website: http://marketplace.obeonetwork.com/module/uml
Documentation: http://www.obeonetwork.com/group/uml-designer/page/reference-documentation
EMF Compare provides comparison and merge facility for any kind of EMF Model.
In a nutshell this project provides:
It includes a generic comparison engine and the ability to export differences in a model patch. It is integrated with the Eclipse Team API, meaning that it enables collaborative work on models using CVS, SVN and GIT.
Website: http://www.eclipse.org/emf/compare/
Documentation: http://www.eclipse.org/emf/compare/documentation/latest/
TESL is a tagged event solver used by Modhel’X. It comes with a language dedicated to clock constraints specification. It is studied in GEMOC as a possible solver.
Website: http://wwwdi.supelec.fr/software/ModHelX/
Documentation: Not yet available
Modhel’X is an heterogeneous execution engine based on TESL. This engine is distributed with a few models of computation.
Website: http://wwwdi.supelec.fr/software/ModHelX/
Documentation: Not yet available
Groovy is an agile and dynamic language for the Java Virtual Machine.
Website: http://groovy.codehaus.org/
Documentation: http://groovy.codehaus.org/Documentation
The goal of the m2e project is to provide a first-class Apache Maven support in the Eclipse IDE, making it easier to edit Maven’s pom.xml, run a build from the IDE and much more. For Java developers, the very tight integration with JDT greatly simplifies the consumption of Java artifacts either being hosted on open source repositories such as Maven Central, or in your in-house Maven repository.
Website: https://www.eclipse.org/m2e/
Documentation : https://www.eclipse.org/m2e/documentation/
Mylyn is the task and application lifecycle management (ALM) framework for Eclipse. It provides:
Website: https://www.eclipse.org/mylyn/
Documentation: https://www.eclipse.org/mylyn/start/
EGit is an Eclipse Team provider for the Git version control system. Git is a distributed SCM (Source Control Management) which means every developer has a full copy of all history of every revision of the code, making queries against the history very fast and versatile.
Website: https://www.eclipse.org/egit/
Documentation: https://www.eclipse.org/egit/documentation/
The Subversive project is aimed to integrate the Subversion (SVN) version control system with the Eclipse platform.
Website: https://www.eclipse.org/subversive/
Documentation: https://www.eclipse.org/subversive/documentation.php