Eclipse Modeling Framework Technology (EMFT)

The Eclipse Modeling Framework Technology (EMFT) project exists to incubate new technologies that extend or complement EMF. For IP log information see the IP Log.

Validation (Incubation) PhaseTemporality

Temporality is a feature providing automatic versioning of model instances. The basic idea is to provide a Temporal mix-in base class that can be pulled into existing models. By simply extending the Temporal mix-in base class existing modeled types are supplied with temporal features. i.e.: they will keep track of changes made to the value of their attributes and references.

The temporality feature consist of a temporal.ecore model containing the Temporal EClass. This model can be loaded using the Load Resource menu to add temporality to existing model.

Here's a simple model of a Fleet and Car given the ability to keep track of versions of their instances by extending the Temporal base class.

Fleet and Car extend the Temporal EClass

Here's a snapshot of a generated instance editor for this Fleet model. Both the Fleet and Car can be added to the resource. In this snapshot we see one fleet and two cars at the root of the resource.

The Fleet instance editor as it looked on January third 16:00

Because the Fleet and Car EClass are mix-in with the Temporal base class they keep track of their history. So for example if we want to take a look at these instances as they were two hours ago we simply use the context menu you to change the current date to 14:00 hours. The viewer now displays the new current date at the top of the view. Note: If we want to see the instances "live" we simply input "now" in the dialog box for entering the current date/time.

The Fleet instance editor as it looked on January third 14:00

When the current date is changed the view displays the state of the objects at the given time. For example at 16:00h the fleet had no vehicles in its vehicles list but it did at 14:00h.

With the context menu you can also change the viewing mode. In advanced mode the viewer displays the underlying plumbing that makes versioning possible. The VersionHolder has a list of all the past and future versions. Each temporal object has one VersionHoder with one continuity and several versions. There's a many-to-one relationship between Temporal and VersionHolder. In advanced mode you can see the "active version" marker indicating which version is activated based on the current date/time.

The Fleet instance editor in advanced mode

  • Downloads coming soon!

Validation (Incubation) PhaseCompare

EMF Compare brings model comparison to the EMF framework, this tool provides generic support for any kind of metamodel in order to compare and merge models. The objectives of this component are to provide a stable and efficient generic implementation of model comparison and to provide an extensible framework for specific needs.

Validation (Incubation) PhaseEcore Tools

The Ecore Tools component provides a complete environment to create, edit and maintain Ecore models. This component eases handling of Ecore models with a Graphical Ecore Editor and bridges to other existing Ecore tools (Validation, Search, Compare, Emfatic, generators...). The Graphical Ecore Editor implements multi-diagram support, a custom tabbed properties view, validation feedbacks, refactoring capabilities... The long-term goal is to provide the same level of services as does JDT for Java.

Validation (Incubation) PhaseMint

The goal of Mint is to improve out-of-the-box Java developer experience when writing EMF-based software. This is accomplished by extending Java Development Tools (JDT) with EMF-specific enhancements. The initial contribution consists of filters and decorators for highlighting EMF-generated code, Java search integration, as well as editor enhancements for navigating from EMF models to generated Java code.

Validation (Incubation) PhaseEMFatic

Metamodelling based on EMF's tree views is not a very good solution. A better solution is a textual representation for Ecore models. The Emfatic plugin provides this support.

Validation (Incubation) PhaseEEF

This project aims at giving another way to improve the EMF model creation phase by providing new services dedicated to editing and using more appealing editing elements. The way to obtain these services and elements is based on a generative approach similar to the EMF.Edit one. The framework provides advanced editing components for the properties of EMF elements and a default generation based on standard metamodels using these components. The generic generators create a standard architecture with advanced graphical components to edit EMF model objects.

Validation (Incubation) PhaseModeling Workflow

The Modeling Workflow Engine (MWE) is an extensible framework for the integration and orchestration of model processing workflows.

Validation (Incubation) PhaseEMF Index

EMF Index is an extensible framework for indexing EMF-based models and instances. It includes components for collection index data, persisting index data and querying without loading any EMF resources.

Validation (Incubation) PhaseTeneo

Teneo is a database persistency solution for EMF using Hibernate or EclipseLink. It supports automatic creation of EMF to Relational Mappings. EMF Objects can be stored and retrieved using advanced queries (HQL or EJB-QL).

Teneo has graduated to Eclipse Modeling Framework (EMF).

Validation (Incubation) PhaseCDO

CDO is both a technology for distributed shared EMF models and a fast server-based O/R mapping solution.

CDO has graduated to Eclipse Modeling Framework (EMF).

Validation (Incubation) PhaseNet4j

Net4j is an extensible client-server system based on the Eclipse Runtime and the Spring Framework.

Net4j has graduated to Eclipse Modeling Framework (EMF).

Validation (Incubation) PhaseEMF4Net

EMF4Net tries to provide a EMF core runtime for the .Net platform and a C# code generation facility. EMF4Net should enable the generation of C# code from existing Ecore models and allow to use that code in a similar way the Java code generated by EMF can be used today.

Validation (Incubation) PhaseJCR Management

JCR Management (JCRM) will provide pluggable JCR implementations through the EMF API.

Old Projects

Looking for an old EMFT project? The following projects graduate as part of Ganymede:

Incubation

Some components are currently in their Validation (Incubation) Phase.

News

Dec 16th, 2008 - The long-awaited sequel, EMF: Eclipse Modeling Framework, 2nd Edition is available. Free online version with book purchase.

Jun 4th, 2008 - Teneo, CDO, and Net4j graduate to Eclipse Modeling Framework (EMF) as part of the Ganymede Release Review.

Jun 7th, 2007 - JET Editor has been merged into M2T-JET.

Apr 26th, 2007 - JET has moved to Model To Text (M2T).

Build Feeds Temporality Build News
Modeling Corner

Want to contribute models, projects, files, ideas, utilities, or code to EMFT or any other part of the Modeling Project? Now you can!

Have a look, post your comments, submit a link, or just read what others have written. Details here.