Eclipse Modeling - Advanced Topics

Beyond the basics of the Eclipse Modeling Framework (EMF), there is a lot to discover. EMF is an extensive and powerful framework, that provides multiple ways to adapt and extend. Proof is in the community where a huge ecosystem of modeling technologies based on EMF, exists for general and specific use cases. Using these frameworks can leverage your modeling projects and improve your everyday workflows.

Our course introduces advanced topics within EMF, where you will learn to modify the code generation and adapt it to your specific needs. Together we will iteratively create complex models including adaptations in the generated code. We will apply key technologies for graphical modeling (GMF) and textual modeling (XText), enabling you to create production-ready Domain-Specific Languages (DSL).

This course is designed by project leads and committers on Eclipse Modeling Projects, with years of experience working with the technologies. Keeping a small class format (max. 6-8 participants) ensures that you'll gain a broad understanding of advanced topics in Eclipse Modeling and get plenty of individual support from our experts.

Duration: 3 days

Dates and Registration

Goals, Audience and Prerequisites

Course Goals

  • Understand advanced concepts of EMF
  • Modify code generation templates
  • Learn best practises for the creation of Domain-Specific Languages (DSL)
  • Learn how to create graphical modeling languages
  • Learn how to create textual modeling languages
  • Gain an overview of available modeling technologies

Target Audience

  • Developers with basic EMF Knowledge
  • Developers wanting to create Domain-Specific Languages (DSL)
  • Architects and tool-chain managers wanting to apply Domain-Specific Modeling

Prerequisites

  • Knowledge of Java and object-oriented programming
  • Experience using the Eclipse IDE is beneficial
  • Basic knowledge of EMF (see Eclipse Modeling Course)

Outline

  • Domain-specific Languages
  • Graphical vs. textual Modeling

EMF Advanced Modeling

  • Creation of complex models in EMF
  • Advanced model configurations
  • Best practises for collaborative modelling

EMF Code Generation

  • Adaptation of Code Templates
  • Embedding custom code
  • Automating workflows
  • Best practises for code generation

EMF Runtime - advanced usage

  • Static vs. Dynamic EMF
  • Lazy Loading
  • Proxy Resolution
  • Performance Optimization
  • Advanced persistence with Teneo
  • Model distribution with CDO
  • Model versioning with EMFStore

Graphical Editing Framework

  • Architecture overview
  • Figures, Layouts, Connections
  • Model View Controler
  • Palettes and Tools
  • Creation of a graphical DSL with GMF
  • Defining graphical models
  • Binding a custom model to graphical representations
  • Generation of diagram editors
  • Usage of graphical modeling editors

Textual Modeling

  • Creation of a textual DSL with XText
  • Defining a textual syntax and grammar
  • Create textual editors
  • Usage of textual modeling
  • Combining graphical and textual modeling

More Info

Format

  • Course Duration: 3 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 generally held in German.  Courses can be held in English on request.