MDD 101: Model Driven Development


This course teaches participants the Model Driven Development (MDD) approach to software development. MDD puts the focus on models rather than code as the primary development artifacts. Two principles drive MDD: abstraction and automation. Abstraction allows capturing of business logic in a platform-independent manner using a software model. Automation allows binding that platform-independent model to specific platforms using automated transformations.

MDD makes developing applications much easier, faster and cost effective than with traditional programming approaches. It also makes the developed application higher in quality, less error-prone, easier to validate, and more adaptable to changes in technology, business requirements, or development team. MDD empowers domain experts, allowing them to capture their domain knowledge, focus on business problems instead of technology, and bridge the gap between business and IT. It also lets programmers focus on the hard stuff, enforces the architecture, and provides up-to-date documentation.

The course describes the MDD approach using several case studies that thread ideas together and present them gradually. The course is very hands-on. It demonstrates the case studies using a state-of-the-art open-source MDD toolkit called the Eclipse Modeling Framework (EMF). Time is split between presentations and lab exercises.


The course is given in a 2-day workshop format:

  • Day 1: 4h session, 1h break, 4h session
  • Day 2: 4h session, 1h break, 4h session


Upon completion of this course, participants will have learned:

  • The principles of model driven development (MDD)
  • The role of abstraction in defining a software application model
  • The role of automation in turning an abstract model into a working application
  • The benefits of MDD for the development process and for the developed applications
  • The way MDD empowers both software developers as well as domain experts in developing applications
  • The essentials of the Eclipse Modeling Framework (EMF) (80% of the core and an overview of the ecosystem)


The course is designed for the following types of professionals:

  • Software developers, designers or architects
  • Software development managers or chief technology officers
  • Subject matter experts in any business domain


This course assumes previous knowledge of the following:

  • Java (basic level)
  • Eclipse (as a Java development environment)


  1. Introduction to model driven development
  2. Basics of model driven development with EMF
  3. Advanced topics in model driven development with EMF
  4. Overview of the EMF ecosystem for MDD


  • Participants are expected to use their own laptops for the lab exercises.
  • Instructions for installing the required software will be made available.
  • Participants can work individually or in groups to do the threaded labs.

Virtual Classroom

The course is regularly offered in a virtual workshop format over 2 days. To register, please select one of the offered dates and click on the 'Buy Now' button. Once the payment is received, you will receive an email with instructions on how to join the virtual workshop on the chosen dates.

$999 per person

Choose the course dates:

Note: To propose other dates for a virtual workshop, request an in-person workshop (in your office or another venue), propose other topics be covered, and/or ask about a group discount, please contact us and we will let you know the possibilities.