Over the last two years, modeling has been a major hub of activity at Eclipse. And at the core of Eclipse's modeling project lies EMF, the Eclipse Modeling Framework.
EMF provides a Java runtime framework and tools for generative development and fine-grained data integration based on simple models. Models can be specified directly using EMF's metamodel, Ecore, or imported from other forms, including UML and XML Schema. Then, EMF can generate a corresponding set of Java interfaces and implementation classes, which can easily be mixed with hand-written code for maximum flexibility. If your model changes, you can regenerate the code without losing your own changes and additions. EMF also provides the ability to work with dynamic models, without generating any code, via an efficient reflective API for manipulating any EMF object generically.
An understanding of EMF is a prerequisite for most of the exciting modeling technologies at Eclipse. Once you have specified a model using EMF, you can, for example, perform search and comparison, apply model transformations, and even generate a complete graphical editor from it.
This tutorial will provide an introduction into EMF, describing alternatives for specifying a model, EMF's model generation tools, and key runtime framework concepts. Hands-on exercises will motivate the use of EMF, demonstrating how it can help you write just about any application is significantly less time, simply by leveraging the models that are intrinsic to modern softare design.
This will be a technical class, requiring a background in Java programming. Attendees need not, however, have any existing experience with EMF or even modeling in general. Key concepts will be explained and then applied in hands-on exercises.
Exercises and solutions will be provided. Attendees can use these as starting points for further exploration of EMF.
The exercises for this tutorial are available via Update Manager and should be installed ahead of time. Because this is a short tutorial, attendees should come prepared to begin immediately. Use the following site URL:
Select the "EMF at EclipseCon 2008" feature from under "Tutorial". If you are using Eclipse 3.4.0M5, which is recommended, you can click the "Select Required" button to ensure that the required EMF components will also be installed.
The exercises will work on an older version of EMF, back to 2.3.0; however, you will need to install EMF separately, from either the EMF Update Manager site or a package. EMF 2.3.0 requires Eclipse 3.3.0 and a Java 5.0 or later VM.
Dave Steinberg is a software developer at the IBM Toronto Software Lab. He has worked with Eclipse and modeling technologies since joining the company and has been a committer on the EMF project since its debut in 2002. He is a co-author of “Eclipse Modeling Framework: A Developer’s Guide" and led the writing of the second edition.