RODIC plenary 2024

Short introduction to MDE and the Eclipse GEMOC Studio

Erwan Bousse

Hiba Ajabri

Nantes Université

Jean-Marie Mottu

16/05/2024

Context: increasing complexity of systems

examples

  • Cyber physical systems, internet of things, massively multiplayer online games, artificial intelligence, …

    • complexity everywhere!

    • involving multiple stakeholders and concerns from heterogeneous domains

  • Increasing use of software, aka. software−intensive systems

Model-Driven Engineering (MDE)

mde

My view of MDE in a nutshell
  1. Separation of concerns through the use of models

    • defined using domain specific languages (DSLs)

    • each representing a particular aspect of a system

  2. Composition of all often heterogeneous models

  3. Implementation (or generation) of the final resulting system

Domain-Specific Languages (DSLs)

Definition
  • Well scoped language, often small

  • Targets particular tasks in a certain domain

  • Relies on dedicated notations (textual or graphical)

Promises
  • Less redundancy

  • Better separation of concerns

  • Accessible for domain experts

dsls examples3

Engineering Domain Specific Languages (DSLs)

mde lifecycle 0

Engineering Domain Specific Languages (DSLs)

mde lifecycle 2

Engineering Domain Specific Languages (DSLs)

mde lifecycle 3

Engineering Domain Specific Languages (DSLs)

mde lifecycle 4

Engineering Domain Specific Languages (DSLs)

mde lifecycle 5

Anatomy and tooling of a DSL

dsl tools 1

Anatomy and tooling of a DSL

dsl tools 2

Anatomy and tooling of a DSL

dsl tools 3

Example of (executable) DSL

dsl petrinet example 1

Example of (executable) DSL

dsl petrinet example 2

Example of (executable) DSL

dsl petrinet example 3

Example of (executable) DSL

dsl petrinet example 4

Example of (executable) DSL

dsl petrinet example 5

Example of (executable) DSL

dsl petrinet example 6

The Eclipse GEMOC Studio

An SLE research playground

Description

  • Open-source Eclipse-based workbench atop the Eclipse Modeling Framework (EMF), in two parts:

    • language workbench: used by language designers to build and compose new executable DSLs,

    • modeling workbench: used by domain designers to create, execute and coordinate models conforming to executable DSLs.

gemoc screenshot with logo

Status and purpose

Status of the Eclipse GEMOC Studio
  • Handled by the GEMOC initiative, an informal group with partners from both the academia and the industry

  • Now also an official research consortium of the Eclipse foundation

Purpose of the Eclipse GEMOC Studio
  • Research platform to experiment with SLE research proof-of-concepts / prototypes, and to integrate them together

  • The Eclipse GEMOC Studio is not an industry-ready tool, and will never be one!