Donnerstag, 24. Mai 2012


Artikel

Juni 2010 | Artikel

Projekt Amalgamation: Schlankheitskur für Eclipse Modeling

(Link zum Artikel: http://www.entwickler.de/jaxenter//003182)

Das Amalgamation-Projekt in Eclipse Helios

  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Stolze 500 MB wiegt das Eclipse-Modeling-Package, die Sammeldistribution der verschiedenen Projekte zur Softwaremodellierung bei Eclipse. Auch im aktuellen Eclipse-Helios-Release stammt der Großteil der 39 teilnehmenden Projekte aus dem Eclipse-Modeling-Top-Level-Projekt. Zum ersten Mal ist in diesem Jahr das Projekt Amalgamation auf den Zug aufgesprungen, das es sich zum Ziel gesetzt hat, eine schlankere Eclipse-Modeling-Distribution bereit zu stellen. Projekt-Committer Cédric Brun stellt das Projekt vor und verrät, warum er Amalgamation mit der argentinischen Fußball-Nationalmannschaft vergleichen würde.
Teil 1   Teil 2   

JAXenter: Hallo Cédric! Kannst du das Projekt Modeling Amalgamation in einigen Worten beschreiben?

Cédric Brun: Das Amalgam-Projekt ist Teil des Eclipse-Modeling-Projekts und verfolgt das Ziel, durch die Integration verschiedener Eclipse-Modeling-Subprojekte eine konsistente Modellierungsumgebung bereit zu stellen. Unsere Arbeit ist darauf gerichtet, ein komfortables Eclipse Modeling Package bereitzustellen, das den Einstieg in die überaus vielfältige Modeling-Community vereinfacht. Außerdem soll durch diverse Beispielanwendungen demonstrieren werden, wie diese Technologien miteinander kombiniert werden können.

JAXenter: Woher stammt die ursprüngliche Idee zu Amalgam und wer steht heute hinter dem Projekt?

Cédric Brun: Das Projekt wurde von Richard Gronback ins Leben gerufen und war eine Reaktion auf das Feedback vieler Anwender, die meinten, die Modellierungstechnologien seien zu komplex, nicht genug integriert und verfügten über unzureichendes Dokumentationsmaterial. Als Antwort auf diese Klagen begann Richard an dem Buch „Eclipse Modeling as a DSL Toolkit“ zu arbeiten und entwickelte in diesem Rahmen das Amalgam-Projekt, als Beispielprojekt zu dem Buch sozusagen. Es hat zwei Jahre lang gedauert, das Buch fertig zu stellen und die ersten brauchbaren Eclipse-Distributionen für das Eclipse-Modeling-Projekt bereitzustellen. Zu dieser Zeit gab es drei verschiedene Distributionen: Die Distribution innerhalb des Eclipse-Packaging-Projekts (EPP) umfasste sämtliche Eclipse-Modeling-Komponenten. Eine weitere Distribution war eine Art Werkzeugkasten für die Entwicklung domänenspezifischer Sprachen und Tools. Eine dritte Distribution richtete sich an „Modellierer“ auf der Ebene der Analyse und Softwareentwicklung.

Die Packages nach verschiedenen Rollen der User aufzuteilen, erschien zunächst eine gute Idee zu sein, aber sie setzte zu viel voraus. Die Last, die durch das Testen und die Wartung der Packages entstand, war zu groß für ein Ein-Mann-Projekt. Außerdem stellte es sich heraus, dass es für die Anwender recht schwierig war, zwischen diesen drei Distributionen zu wählen. An einem bestimmten Punkt beschloss Borland, Richards Brötchengeber, sich nicht mehr bei Eclipse zu engagieren, und das Projekt stand für einige Monate still, bis wir bei Obeo beschlossen, die Projektleitung zu übernehmen und die Entwicklung weiterzuführen.

JAXenter: Wo steht das Amalgam-Projekt im Helios-Release?

Cédric Brun: Das Helios-Release ist ein kompletter Neustart für das Projekt, mit einem neuen Committer-Team aus verschiedenen Firmen, das sich mit der Zielsetzung versammelt haben, das Eclipse Modeling Package zum Vorzeigeprojekt für das Modeling-Projekt zu machen. Wir haben damit begonnen, die riesige All-in-One-Distribution in eine kleinere, fortschrittlichere zu schneiden, die nur die Kernkomponenten enthält, und wir arbeiteten an der Integration eines Discovery-Mechanismus, der das einfache Browsen und Installieren von ergänzenden Eclipse-Modeling-Projekten ermöglicht. Das ist ein gewaltiger Gewinn für den Anwender, da die Größe des Modeling-Package von schwergewichtigen 500 MB auf weniger als 250 MB geschrumpft ist. Durch diese Veränderungen wurde es wieder möglich, ausreichend Tests durchzuführen und sicherzustellen, dass das Kern-Package über eine konsistente Oberfläche verfügt.

Das Package beinhaltet nun alles, was man zum ersten Arbeiten mit EMF braucht: das Kernframework und das CDO-Model-Repository, die Möglichkeit des semantischen Vergleichs und des Mergen beliebiger Modelle, die in CVS, SVN oder sogar GIT abgelegt sind. Es steht auch eine spezifische Integration für EMF-generierten Java-Code zur Verfügung, die es erlaubt, generierten Code im Workspace zu filtern bzw. durch Anwender angepassten Code einfach ausfindig zu machen. Und nicht zuletzt stellt das Package einen grafischen Modeler für Ecore zur Verfügung, der ähnlich wie ein Klassen-Diagramm funktioniert. Diese Funktionalitäten werden Out-of-the-Box zur Verfügung gestellt, aber man kann seine Umgebung ganz einfach durch die erwähnte Discovery-UI um weitere Projekte ergänzen, und zum Beispiel Acceleo hinzufügen, um seine eigenen Codegeneratoren in nur wenigen Klicks zu erzeugen.

Teil 1   Teil 2   

andere Artikel dieser Serie

Kommentare