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.

WWW: http://www.eclipse.org/modeling/emf/
