Generic Eclipse Modeling System (GEMS) is a configurable toolkit for creating domain-specific modeling and
program synthesis environments for
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
. The project aims to bridge the gap between the communities experienced with visual metamodeling tools like those built around the Eclipse modeling technologies, such as the
Eclipse Modeling Framework
Eclipse Modeling Framework (EMF) is an Eclipse (software), Eclipse-based Model-driven architecture, modeling framework and Automatic programming, code generation facility for building tools and other applications based on a structured data model. ...
(EMF) and
Graphical Modeling Framework
The Graphical Modeling Framework (GMF) is a framework within the Eclipse platform. It provides a generative component and runtime infrastructure for developing graphical editors based on the Eclipse Modeling Framework (EMF) and Graphical Editing ...
(GMF). GEMS helps developers rapidly create a graphical modeling tool from a visual language description or metamodel without any coding in
third-generation languages. Graphical modeling tools created with GEMS automatically support complex capabilities, such as remote updating and querying, template creation, styling with
Cascading Style Sheets (CSS), and model linking.
The configuration is accomplished through metamodels specifying the modeling paradigm of the application domain, i.e. a
domain-specific modeling language (DSML). The modeling paradigm contains all the syntactic, semantic, and presentation information regarding the domain; which concepts will be used to construct models, what relationships may exist among those concepts, how the concepts may be organized and viewed by the modeler, and rules governing the construction of models. The modeling paradigm defines the family of models that can be created using the resultant modeling environment.
The built-in metamodeling language is based on the
UML
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
class diagram notation. Metamodels in other eCore readable formats can be used as well. Metamodel constraints can be specified in declarative languages (e.g. OCL, Prolog) or, alternatively, in Java. Once a metamodel has been created, GEMS plug-in generator can be invoked to create the modeling tool. The generated plug-in uses
Eclipse's Graphical Editing Framework (GEF) and Draw2D plug-in to visualize the DSML as a diagram. GEMS extension points can be used to create an interpreter which traverses the domain-specific model and generates code. Interpreters can also interpret the model to provide executable semantics and perform complex analyses.
References
Related tools
*
GEMS EMF Intelligence Framework
External links
GEMS Homepage{{Eclipse Foundation
Programming language topics
Simulation programming languages
Eclipse (software)