Eclipse Modeling

The Eclipse Modeling project provides a huge variety of modeling technologies for almost every use case. At its core lies a common language and stable standard for Eclipse models, the Eclipse Modeling Framework (EMF).

Our course introduces the basics of EMF and enables participants to create models in EMF, generate code and build applications based on these models. Course participants will iteratively create a model and generate code from it. In parallel, an application based on this model will be developed.

Furthermore, the course provides an overview of important additional frameworks in the Eclipse Modeling Projects, which can be used in combination with EMF. EMF Forms, the framework for the development of form-based UIs, is covered in-depth in the EMF Forms Training.

The course is designed by project leads and committers of different Eclipse Modeling Projects, with many years of experience with the technologies. Keeping a small class format (max. 6-8 participants) ensures that participants gain a broad understanding of the Eclipse Modeling Framework and get plenty of individual support from our experts.

Duration: 2 days

Dates and Registration

Course Goals, Audience and Prerequisites

Course Goals

  • Understand fundamental concepts of Modeling and EMF in particular
  • Apply these concepts in EMF, learn how to create models and generate code
  • Learn how to build custom applications based on EMF
  • Experience the improved efficiency provided by modeling
  • Gain an overview of available modeling technologies and frameworks in the Eclipse ecosystem

Target Audience

  • Developers, who have not utilized modeling or EMF in their projects
  • Developers, who want to transfer their modeling knowledge from modeling technologies other than EMF
  • Architects and tool-chain managers who want to apply modeling in their software projects

Prerequisites

  • Knowledge of Java and object-oriented programming
  • Experience using the Eclipse IDE is beneficial
  • Basic knowledge of any abstract language, such as UML, is beneficial

Outline

Introduction to EMF

  • History of Modeling and EMF, example applications
  • Workflow overview from modeling to running source code
  • Architectural overview

EMF Modeling - basics

  • Creation of an EMF model in Ecore
  • Generating source code
  • Creating model instances
  • Iterative adaptation of the model and regeneration of source code

EMF Runtime API

  • Instantiation of entities
  • Modification of entities
  • Reflective access
  • EMF Commands
  • Best practices of API usage

EMF Persistence

  • XMI Serialization
  • Persistence framework overview: CDO, EMFStore, Teneo

User interface

  • Usage and adaptation of generated UI providers
  • Creation of tree-, table- and form-based views
  • EMF Databinding
  • Notification and listener concepts
  • UI framework overview: GMF, EEF, EMFCP

EMF Modeling - Advanced

  • Advanced modeling concepts and options
  • Advanced modeling tools (Ecore Tools, EMFCompare)
  • Configuration of the code generation
  • URI handling
  • Defining constraints for EMF models in Java

Additional Eclipse Modeling Frameworks

  • Graphical Modeling Framework (GMF) - Overview
  • Textual Modeling (XText) - Overview

More Info

Format

  • Course Duration: 2 days
  • Course structure: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: maximum 6-8 participants per instructor
  • Equipment: participants supply their own computer with an up-to-date installation of Eclipse

Languages

Classes in Germany are held in German. All other classes are held in English. Further languages are available on request.