Suche
Ein Projekt, sie alle zu binden

Neu im Eclipse-Universum: GEMOC Studio – Das Toolset für die Globalisierung von Modellierungssprachen

Dominik Mohilo

© 2017 The GEMOC Initiative.

Das neue Projekt Eclipse GEMOC Studio richtet sich nicht nur an Designer von Sprachen, sondern auch an Domaindesigner. Für beide Arbeitsbereiche vereint die Plattform Frameworks und Tools zur Entwicklung, Integration und Nutzung von heterogenen ausführbaren Modellierungssprachen. Das Ziel? Die Globalisierung der Modellierungssprachen.

Hintergrund

Im Zuge des Projekts Eclipse GEMOC Studio sollen verschiedene Techniken, Frameworks und Entwicklungsumgebungen entstehen, die die Arbeit mit heterogenen Modellierungssprachen erleichtern. Für die Entwicklung von Modeling Languages, die Integration und deren automatische Verarbeitung werden daher verschiedene Toolsets und Workbenches in einem Gesamtpaket vereint. Natürlich gibt es auch Tools, mit denen sich bereits existierende Modellierungssprachen erweitern lassen.

Unter dem Dach der Initiative GEMOC haben sich für die Arbeit am GEMOC Studio zahlreiche Projekte und Forschungseinrichtungen vereint. Auch einige internationale Universitäten und die Unternehmen Obeo, Safran, Samares-Engineering, Tata Consultancy Services und Thales sind daran beteiligt. Für die erwähnte Globalisierung sind die Forschungsergebnisse der Institutionen bezüglich der Unterstützung einer koordinierten Nutzung verschiedener Modellierungssprachen wichtig. Daher wird das Projekt sich auch um die Zusammentragung dieser Daten drehen.

Die Globalisierung von DSMLs

Mit der Globalisierung von domänenspezifischen Modellierungssprachen (DSMLs) ist gemeint, dass es für unabhängig entwickelte DSMLs ein Framework zum Zwecke der übergreifenden Kollaboration und Arbeitskoordination mit anderen Systemdomänen geben sollte. In ihrer wissenschaftlichen Abhandlung Globalizing Modeling Languages aus dem Jahr 2014 haben die Entwickler des GEMOC Studios die Globalisierung wie folgt definiert:

The term “DSML globalization” is used to highlight the desire that DSMLs developed in an independent manner to meet the specific needs of domain experts, should also have an associated framework that regulates interactions needed to support collaboration and work coordination across different system domains.Globalized DSMLs aim to support the following critical aspects of developing complex systems:
Communication across teams working on different aspects, coordination of work across the teams, and control of the teams to ensure product quality.

Der Grund, GEMOC Studio als Eclipse-Projekt anzulegen, liegt auf der Hand: Es basiert auf dem Eclipse Modeling Framework (EMF), Eclipse Sirius, Xtext und Xtend. Außerdem wird es bereits als Eclipse Package angeboten und soll auch für die Integration anderer Workbenches, die bei Eclipse und Polarsys gehosted sind, geeignet sein. Als Beispiel für Letzteres wird Capella genannt.

Features

Grundsätzlich besteht das GEMOC Studio aus zwei Teilen:

Das GEMOC Studio / Quelle: The GEMOC Initiative

Das GEMOC Studio / Quelle: The GEMOC Initiative

Die Language Workbench

Die Language Workbench ist für die Nutzung durch Sprachdesigner (aka. Domainexperten) vorgesehen. Sie beinhaltet Tools für die Erstellung und Komposition von neuen ausführbaren DSMLs (xDSML). Zur Erstellung einer xDSML gehören ein Domain Model, Domain-specific Actions (DSA), ein Model of Concurrency (MoC), Domain-specific Events (DSE), eine oder mehrere Modelers (Editoren) und ein grafischer Animator Viewpoint (optional).

Workflow zur Erstellung einer xDSML / Quelle: The GEMOC Initiative

Workflow zur Erstellung einer xDSML / Quelle: The GEMOC Initiative

Die in der Language Workbench enthaltenen Tools sind nahtlos in das Eclipse Modeling Framework integriert. Die Workbench umfasst folgende Werkzeuge:

  • Melange: Eine werkzeuggestützte Metasprache zur modularen Definition von xDSMLs mit Ausführungsfunktionen und -daten. Außerdem wird sie genutzt, um bereits existierende und EMF-basierte Modellierungssprachen zu erweitern.
  • MoCCML: Eine werkzeuggestützte Metasprache zur Spezifizierung von einem Model of Concurrency and Communication (MoCC) und dessen Mapping zu einer bestimmten abstrakten Syntax sowie verwandten Ausführungsfunktionen einer Modellierungssprache.
  • GEL: Eine werkzeuggestützte Metasprache zur Spezifizierung des Protokolls zwischen den Ausführungsfunktionen und dem MoCC, das das Feedback von Daten und den Callback anderer erwarteter Ausführungsfunktionen unterstützt.
  • BCOoL: Eine werkzeuggestützte Metasprache zur Spezifizierung von Sprachkoordinationsmustern für die automatische Koordination der Ausführung von möglicherweise heterogenen Modellen.
  • Sirius Animator: Eine Erweiterung von Sirius zur Erstellung grafischer Animatoren für ausführbare Modellierungssprachen.

Die Modeling Workbench

Domaindesigner sollen hingegen die Modeling Workbench verwenden. Die darin enthaltenen Tools dienen der Erstellung und Ausführung von Modellen, die konform zu ausführbaren DSMLs sind. Der Workflow des Domaindesigners beginnt mit der Erstellung eines Modellierungsprojektes, das sämtliche Modelle enthalten wird. Mit den Editoren werden die Modelle anschließend designt, dann erstellt er eine Startkonfiguration für die Ausführung.

Folgende Werkzeuge sind Teil der Workbench:

  • Eine Java-basierte Ausführungsengine für die Unterstützung einer nebenläufigen Ausführung und Analyse jeglicher konformer Modelle, die mit TimeSquare verbunden werden kann.
  • Ein Model Animator für die Animierung von ausführbaren Modellen.
  • Ein generischer Trace Manager, der es dem Systemdesigner erlaubt, verschiedene Execution Traces der Modelle zu visualisieren, speichern, wiederholen und untersuchen.
  • Ein generischer Event Manager, der eine Benutzeroberfläche für das Injizieren externer Stimuli in Form von Events während einer Simulation zur Verfügung stellt.

Ausblick

Dank der Einbringung neuer Ansätze für das Design und die Globalisierung von domänenspezifischen Sprachen rechnen die Projektleiter und Committer mit einem steten Wachstum. Besonders neue Ansätze im Bereich der Metaprogrammierung werden als Alternativen für die Definition der Ausführungssemantiken von EMF-basierten DSLs erwartet. In Zukunft erwartet man auch neue Ideen zum Managen spezifischer Beziehungen zwischen den Sprachen.

Weitere Arbeiten, die die Bandbreite des Projektes erweitern sollen, könnten u.a. in den Bereichen Co-Simulation (inkl. FMI/FMU), formelle Modellkoordinierungsanalyse und der Live- bzw. Kollaborativmodellierung liegen. Zudem sind Materialien für den Einsatz im Bildungssektor ein Punkt, der, bedenkt man die beteiligten Institutionen, wichtig werden dürfte.

Weitere Informationen zum Projekt gibt es im Proposal auf der Inkubator-Homepage der Eclipse Foundation und auf der Webseite des Projektes. Auch ein umfangreicher User Guide ist bereits vorhanden und enthält viele nützliche Informationen für potentielle Nutzer.

Verwandte Themen:

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.