Eclipse Modeling Project

The Eclipse Modeling Project focuses on the evolution and promotion of model-based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standards implementations.

The Modeling Project charter is posted here and inherits from the Eclipse Standard Top-Level Charter v1.0.

Abstract Syntax Development

  • Eclipse Modeling Framework (EMF) : a modeling framework and code generation facility for building tools and other applications based on a structured data model.
    • CDO : a technology for distributed shared EMF models and a fast server-based O/R mapping solution. With CDO you can easily enhance your existing models in such a way that saving a resource transparently commits the applied changes to a relational database.
    • Net4j : an extensible client-server system based on the Eclipse Runtime and the Spring Framework. You can easily extend the protocol stack with Eclipse plugins that provide new transport or application protocols.
    • Teneo : a database persistency solution for EMF using Hibernate or EclipseLink. It supports automatic creation of EMF to Relational Mappings and the related database schemas.
    • Model Query (MQ) : facilitates the process of search and retrieval of model elements of interest in a flexible yet controlled and structured manner.
    • Model Transaction (MT) : provides a model management layer built on top of EMF for managing EMF resources.
    • Validation Framework (VF) : provides model constraint definition, traversal, and evaluation for EMF model validation.

Concrete Syntax Development

  • Graphical Modeling Project (GMP) : provides a generative components and runtime infrastructures for developing graphical editors based on EMF and GEF.
    • GMF Tooling : provides a model-driven approach to generating graphical editors in Eclipse..
    • GMF Runtime : an industry proven application framework for creating graphical editors using EMF and GEF.
    • GMF Notation : provides a standard EMF notational meta model.
    • Graphiti : Graphiti is an Eclipse-based graphics framework to enable easy development of state-of-the-art diagram editors for domain models.
  • Textual Modeling Framework (TMF) : provides tools and frameworks for developing textual syntaxes and corresponding editors based on EMF.
    • Xtext : a powerful framework/tool for developing external textual DSLs based on EMF.
    • TCS : a component that enables the specification of textual concrete syntaxes for Domain-Specific Languages (DSLs) by attaching syntactic information to metamodels.

Model Development Tools (MDT)

  • Business Process Metamodel and Notation 2.x (BPMN2) : an EMF-based implementation of the BPMN 2.x metamodel for the Eclipse platform.
  • eTrice : provides an implementation of the ROOM modeling language together with editors, code generator for Java, C++ and C code and exemplary target middleware.
  • MoDisco : provides an extensible framework to develop model-driven tools to support use-cases of existing software modernization.
  • Object Constraint Language (OCL) : defines APIs for OCL expression syntax for implementing queries and constraints.
  • Papyrus : provides an integrated and user-consumable environment for editing any kind of EMF model and particularly supporting UML and related modeling languages such as SysML and MARTE.
  • Sphinx : provides an extensible platform that eases the creation of integrated modeling tool environments supporting individual or multiple modeling languages (which can be UML-based or native DSLs) and has a particular focus on industrial strength and interoperability.
  • Unified Modeling Language 2.x (UML2) : an EMF-based implementation of the UML 2.x metamodel for the Eclipse platform.
  • UML2 Tools : a set of GMF-based editors for viewing and editing UML models.
  • XML Schema Definition (XSD) : a reference library that provides an API for use with any code that examines, creates or modifies W3C XML Schema.

Model Transformation

  • Model to Model Transformation (M2M) : will deliver an extensible framework for model-to-model transformation languages, with an exemplary implementation of the QVT Core language.
  • Model to Text Transformation (M2T) : focuses on technologies for transforming models into text (typically language source code and the resources it consumes)
    • Acceleo : a template based code generation framework with high quality tooling : complete Editor, Debugger and Profiler.
    • Java Emitter Templates (JET) : provides code generation framework & facilities that are used by EMF. Includes an editor which provides features like syntax coloring, error highlighting and code completion.
    • Xpand : a statically-typed template language featuring polymorphic template invocation, aspect oriented programming, functional extensions, a flexible type system abstraction, model transformation and validation. Includes an editor which provides features like syntax coloring, error highlighting, navigation, refactoring and code completion.

Technology and Research

  • Generative Modeling Technologies (GMT) : research-oriented project focused on producing prototypes in the area of Model Driven Engineering (MDE).
    • Atlas MegaModel Management (AM3) : the goal is to provide a practical support for modeling in the large. The objective is to deal with global resource management in a model-engineering environment. We base this activity on the concept of a "megamodel".
    • Atlas Model Weaver (AMW) : a tool for representing correspondences between models. The correspondences are stored in a model, called weaving model. It is created conforming to a weaving metamodel.
    • MOFScript : aims at developing tools and frameworks for supporting model to text transformations, e.g., to support generation of implementation code or documentation from models.
    • UMLX : concrete graphical syntax to complement the OMG QVT model transformation language.
    • VIATRA2 : aims to provide a general-purpose support for the entire life-cycle of engineering model transformations including the specification, design, execution, validation and maintenance of transformations within and between various modeling languages and domains.
    • Epsilon : a metamodel-agnostic component for supporting model navigation, creation, and modification operations.
    • GEMS : aims to bridge the gap between the communities experienced with visual metamodeling tools, such as the Generic Modeling Environment (GME), and those built around the Eclipse modeling technologies, such as the Eclipse Modeling Framework (EMF) and Graphical Modeling Framework (GMF).
    • MoDisco : an Eclipse GMT component for model-driven reverse engineering. The objective is to allow practical extractions of models from legacy systems. As a GMT component, MoDisco will make good use of other GMT components or solutions available in the Eclipse Modeling Project (EMF, M2M, GMF, TMF, etc), and more generally of any plugin available in the Eclipse environment.


Related links