The official definition of the Eclipse Modeling Framework (EMF) reads as follows: “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.”
but I have a shorter one, EMF is the building block on top of which all model-based and model-driven engineering tools in the Eclipse ecosystem are created. All the Eclipse modeling tools you may know depend on EMF. Still, EMF is usually hidden in those tools so despite its importance many people may not be able to say much about EMF itself.
That’s why I appreciated so much this short presentation by Philip Langer and Maximilian Koegel (from EclipseSource) titled: “What every Eclipse developer should know about EMF” where in a few slides they give the key ideas you should remember for the future about EMF. Take a look!