Jump to content

Generic Eclipse Modeling System

From Alfawiki
Generic Eclipse Modeling System (GEMS)
Company typeSoftware toolkit
IndustrySoftware development, Modeling tools
ProductsDomain-specific modeling and program synthesis platforms
Websitegemshomepage

Generic Eclipse Modeling System (GEMS) represents a versatile toolkit designed for constructing domain-specific modeling and program synthesis platforms within the Eclipse environment. It serves as a bridge connecting users of visual metamodeling utilities developed on Eclipse technologies such as the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF). GEMS allows developers to swiftly create graphical modeling applications derived from visual language specifications or metamodels, eliminating the need for programming in traditional third-generation languages. These applications offer sophisticated capabilities, including remote updates, query functions, template generation, CSS-based styling, and model interlinking.

The system’s configuration relies on metamodels that define the modeling approach tailored to a specific application domain, essentially a domain-specific modeling language (DSML). This approach outlines the syntactic structure, semantic rules, and visual representation of the domain—covering the concepts utilized to build models, their interrelations, organizational structure, and construction constraints—thereby specifying the range of models supported by the environment.

GEMS employs a metamodeling language grounded in UML class diagrams but also supports other formats compatible with eCore. Constraints may be specified through languages such as OCL or Prolog or implemented using Java code. Once a metamodel is established, GEMS produces a plug-in that renders the DSML within Eclipse via the Graphical Editing Framework (GEF) and Draw2D. Additionally, extension points facilitate the creation of interpreters that navigate domain-specific models to produce code or deliver executable semantics alongside advanced analyses.

Related tools

External links