Generic Eclipse Modeling System

Generic Eclipse Modeling System (GEMS) is a configurable toolkit for creating domain-specific modeling and program synthesis environments for Eclipse. 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 (EMF) and Graphical Modeling Framework (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 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.

Related tools

 * GEMS EMF Intelligence Framework