Introduction to Model Driven Engineering using Eclipse Frameworks

Angel Roman (MDE Systems, Inc.), Bruce Trask (MDE Systems)

Modeling · Tutorial
Monday, 08:00, 2 hours | Grand Ballroom C | Download in iCal Format


Angel Roman

Model Driven Engineering (MDE) brings together multiple technologies and critical innovations and formalizes them into the next wave of software development methods. This tutorial will cover the basics of MDE and how they map to Eclipse's application, modeling and graphical frameworks. The three main MDE categories include the development of Domain Specific Languages, Domain Specific Editors (including Domain Specific Visual Languages) and, Domain Specific Transformation Engines or Generators. Expressed in terms of language development technology, these mirror the development of the Abstract Syntax, Concrete Syntax and Semantics of a new Domain Specific Language. This tutorial will cover the basic effective patterns, principles and practices for developing these MDE software artifacts. Additionally, this tutorial will cover the exact details of how to leverage the Eclipse Modeling Framework (EMF), the Eclipse Graphical Editor Framework (GEF), and the Eclipse Graphical Modeling Framework (GMF), to support the development of these three areas. These three frameworks provides a unique and integrated platform in which to learn the basics of Model Driven Development in full application. Conversely, Model Driven Development provides an effective context in which to learn how to apply the power of these integrated Eclipse Frameworks developed to support MDE. This tutorial will include a take away example and setup instructions that allow attendees to experiment with the example after the tutorial. What make this presentation unique is that it covers an the entire cycle of making a domain specific language, editor and generator using Eclipse Modeling Frameworks. Additionally, the presenters are experts in Model Driven Engineering and have developed commercial quality and industrial strength Domain Specific Modeling Tools for complex domains.

Expected Audience for this tutorial: This tutorial is unique in that it is applicable to developers who are either new or very experienced with the Eclipse development environment. It introduces Model Driven Engineering with Eclipse Frameworks in a very unique way such that novices and experts alike with come away with very applicable knowledge and techniques regarding the subject matter. Audience members are welcome to follow along if they wish but it is not required. Even if an attendee does not meet the above criteria, they will be exposed to and understand new very powerful abstraction techniques and ways to use Eclipse that will have an powerful and positive impact on their view on software development.

Outline of this tutorial: 1 Model Driven Engineering (MDE) and Generative Programming (GP) Core Concepts
1.1 MDE and GPBasics – “Programming with Models”
1.1.1 MDE and GP Patterns
1.1.2 MDE and GP Principles
1.1.3 MDE and GP Practices
1.2 The Anatomy of MDE and GP
1.2.1 The Meta Model Survey of Meta Modeling Techniques Applying Generative Approaches to Meta Modeling
1.2.2 Editors Survey of Editor Techniques Creating Domain Specific Visual Languages
1.2.3 Transformation Engines/Generators Survey of Existing Generative Techniques Template based techniques Abstract Syntax Tree/Visitor approaches
1.2.4 Capturing Commonalities and Variabilities in the Meta Model
1.2.5 Capturing Commonalities and Variabilities in the Editor
1.2.6 Capturing Commonalities and Variabilities in the Generators
1.3 Applying MDE to Today’s Systems using Eclipse
1.3.1 Tackling today’s system’s complexities
1.3.2 Increasing correctness, quality and performance
2 Basics of Language Workbenches Tutorial – using Eclipse
2.1 Meta Modeling Environments
2.1.1 Defining an Ecore Meta Model
2.1.2 Creating a Model Programmatically
2.1.3 Persistence
2.1.4 Event Notification
2.2 Concrete Syntax/Editor development environment
2.2.1 Editor Anatomy MVC pattern and its relation to Domain Specific Modeling Canvas Tools Palettes Creating an Domain Specific Editors
2.3 Generative/Synthesis Engine
2.3.1 Java Emitter Templates
2.3.2 Builders
3 A concrete example in full will be used throughout the above section to illustrate each concept

Resume of this tutorial:

This tutorial has been delivered to rave reviews at many international software conferences throughout the last 2 years. See the follow links for a respresentative sample:
1. A lightning talk on this technology was well received at last year’s EclipseCon
2.OOPSLA 2006
3.SPLC 2007 -
4.GPCE 2006 -
5.TOOLS 2007 -
6.MODELS 2006 -
7.MODELS 2007 -
8.SPLC 2006 -

Angel Roman is the Chief Software Architect of MDE Systems and an expert on the Eclipse Development environment and its application frameworks. He has presented at various industry conferences on topics such as Software Defined Radios and MDE Technologies. He is currently involved with projects concerning Eclipse Development, Embedded Linux Systems and OSGi.

Bruce Trask has been working on complex Distributed Real-Time Embedded systems for over 20 years specializing in SPL and MDE as applied to these systems in the last 7 years. He has been teaching C++, Object Orientation, Design Patterns, UML, CORBA and Framework courses for over 10 years. He has lead multiple study groups in the New York, New Jersey, Connecticut area on various topics ranging from design patterns to middleware. He is a regular speaker/presenter at software industry conferences all year long. He has delivered tutorials at the OMG. Bruce Trask is the CEO of MDE Systems.

Floor Plan

Gold sponsors

BEA logo

IBM logo

Wind River logo

Replay Solutions logo

JBoss logo


Cloudsmith logo

BIRT Exchange logo

Skyway Software logo


BlackBerry logo

AMD logo

Silver sponsors








Business Objects

LynuxWorks logo

Hardware sponsor

AMD logo

Media sponsors

Extension Media

Methods and Tools


Addison-Wesley logo

SD Times logo

Open Systems Publishing

Software Test & Performance logo


Be a Sponsor