EMF is a modeling framework and code generation facility for building tools and other applications based on a structured data model.

See:
Description

Notification
org.eclipse.emf.common.notify: Provides a notification framework.
org.eclipse.emf.common.notify.impl: Provides a basic implementation of the notification framework.

Command
org.eclipse.emf.common.command: Provides a framework for implementing and composing commands.

Utilities
org.eclipse.emf.common.util: Provides basic utilities.

Common
org.eclipse.emf.common: Provides a collection of subpackages to support the EMF infrastructure.

Common UI
org.eclipse.emf.common.ui: This provides generally reusable extensions for the Eclipse UI
org.eclipse.emf.common.ui.viewer: This provides generally reusable viewer extensions for the Eclipse UI.

Common UI Cell Editors
org.eclipse.emf.common.ui.celleditor: This provides generally reusable celleditor support for the Eclipse UI.

Common UI Actions
org.eclipse.emf.common.ui.action: This provides generally reusable action extensions for the Eclipse UI.

Ecore Model
org.eclipse.emf.ecore: Provides an API for the Ecore dialect of UML.
org.eclipse.emf.ecore.impl: Provides an implementation of Ecore.

Ecore Utilities
org.eclipse.emf.ecore.util: Provides utilities.

Ecore Resources
org.eclipse.emf.ecore.resource: Provides an API for modeling abstract persistent resources.
org.eclipse.emf.ecore.resource.impl: Provides an implementation of the resource API.

Ecore Plugin
org.eclipse.emf.ecore.plugin: Provides platform neutral integration with Eclipse.

Ecore Edit
org.eclipse.emf.ecore.provider: Provides item providers for Ecore.

Sample Ecore Editor
org.eclipse.emf.ecore.action
org.eclipse.emf.ecore.presentation: Provides sample editor support for Ecore.

Edit Framework
org.eclipse.emf.edit: This provides plugin support for EMF.Edit.

Editing Domain
org.eclipse.emf.edit.domain: This provides support for an `EditingDomain`, which acts a centralized control mechanism for managing a set of interrelated models and the `Command`s which modify them.

Edit Command
org.eclipse.emf.edit.command: This provides a framework for implementing and composing `Command`s as well as implementations of all primitive EMF commands.

Provider
org.eclipse.emf.edit.provider: This provides reusable `ItemProviderAdapter` support to drive JFace StructuredViewers, Eclipse IPropertySources, and `EditingDomain`s
org.eclipse.emf.edit.provider.resource

Edit UI
org.eclipse.emf.edit.ui: This provides plugin support for EMF.Edit.UI.
org.eclipse.emf.edit.ui.action: This provides a reusable implementation of an `IAction` that delegates to a `CommandActionDelegate`, which is usually also a `Command`
org.eclipse.emf.edit.ui.celleditor
org.eclipse.emf.edit.ui.dnd: This provides a supplementary support for drag and drop based on delegation to the command framework.
org.eclipse.emf.edit.ui.provider
org.eclipse.emf.edit.ui.util
org.eclipse.emf.edit.ui.view

Codegen
org.eclipse.emf.codegen
org.eclipse.emf.codegen.jet
org.eclipse.emf.codegen.jmerge
org.eclipse.emf.codegen.merge.java
org.eclipse.emf.codegen.merge.java.facade
org.eclipse.emf.codegen.merge.java.facade.ast
org.eclipse.emf.codegen.merge.java.facade.jdom
org.eclipse.emf.codegen.merge.properties
org.eclipse.emf.codegen.util

Codegen UI
org.eclipse.emf.codegen.action
org.eclipse.emf.codegen.presentation

Codegen Ecore
org.eclipse.emf.codegen.ecore
org.eclipse.emf.codegen.ecore.generator
org.eclipse.emf.codegen.ecore.genmodel
org.eclipse.emf.codegen.ecore.genmodel.generator
org.eclipse.emf.codegen.ecore.genmodel.impl
org.eclipse.emf.codegen.ecore.genmodel.util
org.eclipse.emf.codegen.ecore.templates.edit
org.eclipse.emf.codegen.ecore.templates.editor
org.eclipse.emf.codegen.ecore.templates.model
org.eclipse.emf.codegen.ecore.templates.model.tests

Codegen Ecore UI
org.eclipse.emf.codegen.ecore.genmodel.action
org.eclipse.emf.codegen.ecore.genmodel.handler
org.eclipse.emf.codegen.ecore.genmodel.presentation
org.eclipse.emf.codegen.ecore.genmodel.provider
org.eclipse.emf.codegen.ecore.ui

Converter Framework
org.eclipse.emf.converter
org.eclipse.emf.converter.ui
org.eclipse.emf.converter.ui.contribution
org.eclipse.emf.converter.ui.contribution.base
org.eclipse.emf.converter.util
org.eclipse.emf.exporter
org.eclipse.emf.exporter.ui
org.eclipse.emf.exporter.ui.contribution
org.eclipse.emf.exporter.ui.contribution.base
org.eclipse.emf.exporter.util
org.eclipse.emf.importer
org.eclipse.emf.importer.ecore
org.eclipse.emf.importer.ecore.ui
org.eclipse.emf.importer.java
org.eclipse.emf.importer.java.builder
org.eclipse.emf.importer.java.ui
org.eclipse.emf.importer.rose
org.eclipse.emf.importer.rose.builder
org.eclipse.emf.importer.rose.parser
org.eclipse.emf.importer.rose.ui
org.eclipse.emf.importer.ui
org.eclipse.emf.importer.ui.contribution
org.eclipse.emf.importer.ui.contribution.base
org.eclipse.emf.importer.util

Ant
org.eclipse.emf.ant

Change Model
org.eclipse.emf.ecore.change: Provides an API for describing and applying model changes.
org.eclipse.emf.ecore.change.impl: Provides an implementation of the Change model.

Change Utilities
org.eclipse.emf.ecore.change.util: Provides utilities.

Change Edit
org.eclipse.emf.ecore.change.provider: Provides item providers for the change model.

Mapping Model
org.eclipse.emf.mapping
org.eclipse.emf.mapping.impl
org.eclipse.emf.mapping.util

Mapping Edit
org.eclipse.emf.mapping.command
org.eclipse.emf.mapping.domain
org.eclipse.emf.mapping.provider

Mapping Editor
org.eclipse.emf.mapping.action
org.eclipse.emf.mapping.presentation

Ecore to Ecore Mapping Model
org.eclipse.emf.mapping.ecore2ecore
org.eclipse.emf.mapping.ecore2ecore.impl
org.eclipse.emf.mapping.ecore2ecore.util

Ecore to Ecore Mapping Edit
org.eclipse.emf.mapping.ecore2ecore.provider

Ecore to Ecore Mapping Editor
org.eclipse.emf.mapping.ecore2ecore.action
org.eclipse.emf.mapping.ecore2ecore.presentation

Ecore to XML Mapping Model
org.eclipse.emf.mapping.ecore2xml
org.eclipse.emf.mapping.ecore2xml.impl
org.eclipse.emf.mapping.ecore2xml.util

Ecore to XML Mapping UI
org.eclipse.emf.mapping.ecore2xml.action
org.eclipse.emf.mapping.ecore2xml.presentation
org.eclipse.emf.mapping.ecore2xml.provider
org.eclipse.emf.mapping.ecore2xml.ui

Other Packages
org.eclipse.emf.ant.taskdefs
org.eclipse.emf.ant.taskdefs.codegen
org.eclipse.emf.ant.taskdefs.codegen.ecore
org.eclipse.emf.ant.util
org.eclipse.emf.cheatsheets
org.eclipse.emf.cheatsheets.actions
org.eclipse.emf.common.archive: Provides support for archive URLs.
org.eclipse.emf.common.ui.dialogs
org.eclipse.emf.common.ui.editor
org.eclipse.emf.common.ui.wizard
org.eclipse.emf.databinding
org.eclipse.emf.databinding.edit
org.eclipse.emf.databinding.edit.internal
org.eclipse.emf.databinding.internal
org.eclipse.emf.ecore.xmi
org.eclipse.emf.ecore.xmi.impl
org.eclipse.emf.ecore.xmi.util
org.eclipse.emf.ecore.xml.namespace
org.eclipse.emf.ecore.xml.namespace.impl
org.eclipse.emf.ecore.xml.namespace.util
org.eclipse.emf.ecore.xml.type
org.eclipse.emf.ecore.xml.type.impl
org.eclipse.emf.ecore.xml.type.internal
org.eclipse.emf.ecore.xml.type.util
org.eclipse.emf.edit.tree
org.eclipse.emf.edit.tree.impl
org.eclipse.emf.edit.tree.provider
org.eclipse.emf.edit.tree.util
org.eclipse.emf.importer.ecore.taskdefs
org.eclipse.emf.importer.java.taskdefs
org.eclipse.emf.importer.rose.taskdefs

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.

The following packages contain the classes that implement the several features provided by EMF, including:

- an API for the Ecore Model;
- an API for modeling abstract persistent resources; and
- an API for modeling changes to instances of EMF models.

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.