: Eclipse : Monday : Monday Afternoon Tutorials (13:30 - 17:00)
Eclipse Modeling Framework (EMF)
Pacific Salon 4
Monday, 13:30, half day
Marcelo Paternostro, IBM
Tutorial number: 34
What it is and how you can use it in your applications.
This tutorial provides an in-depth look at developing with EMF, first highlighting the highest value features of the framework, which every EMF developer should know about, and then delving into the darker corners to expose some of its lesser known capabilities. It also features some of the new and surprising ways in which people have used and reused components of EMF to solve their problems. Concrete examples and demos will motivate the use of EMF and show how to:
- Generate a model from UML, XML Schema, or a set of Java interfaces, with just a few mouse clicks.
- Generate efficient Java code.
- Generate a sample editor that integrates into Eclipse or runs as a Rich Client Platform application.
- Use adapters to respond to model changes and extend behavior.
- Add constraints to model definitions and validate instance models against them.
- Record the changes made to objects
- Customize code generation to control what elements appear in the model interface, or even to remove the reflective EMF API altogether.
The last part of the tutorial describes the motivation behind the Service Data Objects specification, its API and the challenges that architects and developers can overcome by adopting SDO.
Intermediate: Participants should be familiar with the object-oriented paradigm. Being fluent in one OO language, such as Java, will be useful.
Marcelo Paternostro, IBM: Since 2000, Marcelo has been working for IBM developing products and components targeting the Eclipse platform. In the last 2 years, he has been focused on the EMF, SDO and XSD frameworks, being responsible for components such as the EMF Runtime. He has presented several workshops, both inside and outside IBM, including this year's "MDA, SOA and Web Services Workshop" offered by OMG. Before 2000, Marcelo used to work for a Rational partner, managing several projects using the Rational's tools and processes. As a certified instructor, he has taught several courses on OO analysis and design, requirement management and functional testing.