Eclipse Modeling Framework Project (EMF)

The EMF project is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, along with a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor.

EMF builds include XML Schema Definition (XSD), now a component of the Model Development Tools (MDT) project, and an EMF-based implementation of Service Data Objects (SDO). XSD provides a model and API for manipulating components of an XML Schema, with access to the underlying DOM representation of the schema document.

Other subprojects, such as Model Query, Model Transaction, and Validation Framework, are available separately.

The next release of EMF is scheduled for the end of June 2008, along with the rest of the Ganymede projects.

EMF (Core)

EMF is a modeling framework and code generation facility for building tools and other applications based on a structured data model. From a model specification described in XMI, EMF provides tools and runtime support to produce a set of Java classes for the model, a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. Models can be specified using annotated Java, XML documents, or modeling tools like Rational Rose, then imported into EMF. Most important of all, EMF provides the foundation for interoperability with other EMF-based tools and applications. For more detailed information see the EMF Overviews and Project Plan.

CDO

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

Model Query

The query component provides capabilities to specify and execute queries against EMF model elements and their contents.

Model Transaction

The transaction component provides a model management layer built on top of EMF for managing EMF resources. It provides API that include extensions to the EditingDomain and related APIs of the EMF.Edit framework, and an internal model of transactions. It consists of two layers: a non-Eclipse core, providing primarily the "transaction model", and an Eclipse workspace integration layer.

Net4j

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

SDO

Service Data Objects (SDO) is a framework that simplifies and unifies data application development in a service oriented architecture (SOA). It supports and integrates XML and incorporates J2EE patterns and best practices. EMF includes an EMF-based implementation of Service Data Objects.

Teneo

Teneo is a database persistency solution for EMF using Hibernate or JPOX/JDO 2.0. It supports automatic creation of EMF to Relational Mappings. EMF Objects can be stored and retrieved using advanced queries (HQL or JDOQL).

Validation Framework

The validation component provides capabilities used to ensure model integrity.

News

New! Oct 1st - Check out what's new in the Galileo M2 milestones of the Model Transaction and Validation Framework subcompojects.

Jul 16th - RFC: Fewer Zips? is available.

Jun 25th - The EMF Project, cornerstone of the Modeling Project, ships 8 components in Ganymede. An All-in-One download is available.

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

Build Feeds Build News

New! Oct 4th - TRANSACTION R1_2_maintenance build M200810041403 is available for download.

New! Oct 3rd - NET4J integration build I200810030647 is available for download.

New! Sep 30th - EMF integration build I200809301800 is available for download.

New! Sep 30th - SDO integration build I200809301800 is available for download.

Modeling Corner

Want to contribute models, projects, files, ideas, utilities, or code to EMF 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.