Im Gespräch mit Cédric Brun

Auf dem Weg zur Eclipse Modeling Platform

Eclipse-Modeling-Technologien gehören zu den Innovationstreibern der Eclipse-Plattform. Cédric Brun, Projektleiter von EMF Compare und Committer in den Projekten Acceleo und Amalgamation, gibt Auskunft darüber, was sich aus seiner Sicht im Indigo Release getan hat.

JAXenter: Das Projekt EMF Compare scheint in letzter Zeit große Fortschritte gemacht zu haben. Es wurden viele neue Funktionen integriert, sogar mehr, als in der Roadmap vorgesehen. Was ist der Grund dafür?

Cédric Brun: 2009 und 2010 lag der Fokus des Obeo-Teams auf dem Acceleo-Projekt, und es bedeutete eine große Anstrenung, eine völlig neue Implementierung bei Eclipse einzubringen, besonders in Anbetracht unseres Qualitätsanspruchs. Während dieser Zeit waren die Arbeiten an EMF Compare hauptsächlich auf das Bugfixing und Verwalten aller Beiträge beschränkt. Jetzt, da Acceleo in die freie Wildbahn entlassen wurde, können wir uns wieder voll dem EMF-Compare-Projekt zuwenden. Aber das ist nur eine Seite der Medaille. Die meisten der neuen Features, die in diesem Jahr hinzugekommen sind, wurden von Ericsson im Rahmen der Initiative „Eclipse Modeling Platform Working Group“ [1] eingebracht: etwa der ausgefeilte UML Support, eine neue Integration in grafische Modellierungswerkzeuge und die Unterstützung für logische Modelle.

Wir sind begeistert über diese Entwicklung, denn bei der Gründung des Projekts 2007 war zwar jeder von der kritischen Notwendigkeit des EMF-Compare-Projekts für Modellierungswerkzeuge überzeugt, doch die Arbeiten daran in einem Unternehmen tatsächlich voranzubringen, ist eine andere Sache. Ich würde genau das, was bei EMF Compare gelungen ist, gerne öfter sehen, bei jeder Komponente, um am Ende eine stärkere Modeling Platform zur Verfügung zu stellen.

JAXenter: Kannst du beschreiben, wie die Zusammenarbeit mit der Modeling-Gruppe funktioniert?

Brun: Obeo gehört selbst der Modeling-Gruppe an und nimmt an allen Meetings und technischen Diskussionen teil – was auch selbstverständlich für uns ist, da wir für die meisten der Eclipse-Modeling-Projekte Beiträge leisten. Die Arbeit der Modeling-Gruppe besteht vor allem darin, Gespräche zu führen und herauszufinden, ob die eigenen Anforderungen mit denen der Partner konvergieren. Obeo würde auch ohne eine solche Gruppe an den Eclipse-Modeling-Projekten arbeiten, aber eine komplette Plattform zu bauen, kann nicht von einem Individuum oder einem einzelnen Unternehmen geleistet werden.

Ich bin zufrieden, dass die Partner aus der ersten Phase herausgekommen sind, die von einem „Da gibt es so viel Arbeit zu tun!“ geprägt war. Tatsächlich können einige Ziele recht schnell erreicht werden, und das tun wir gerade mit EMF Compare.

JAXenter: Was sind die nächsten großen Schritte für EMF Compare?

Brun: Im nächsten Jahr kommt eine vollständige Unterstützung für das logische Modell der Eclipse-Plattform. Was bedeutet das? Sagen wir, du benutzt ein Modell, das über verschiedene Ressourcen verteilt ist, die aufeinander verweisen. Mit der Integration des logischen Modells wird EMF Compare sicherstellen, dass dein Modell bei jeder Aktion, die du auf der Dateiebene vornimmst, beispielsweise commit, update, umbenennen, verschieben, konsistent bleibt.

Außerdem wird in diesem Sinne auch der EGit-Teamprovider perfekt in die Eclipse-Plattform eingebunden werden. Das bedeutet, dass das Paar EMF Compare und EGit so richtig rocken und das beste Eclipse-Team bereitstellen wird, das man für Modelle haben kann.

Auf einer mehr technischen Ebene kann ich sagen, dass wir in den letzten Jahren sehr viel dazugelernt haben. Wir verfügen über einige coole Prototypen, die zeigen, welche Richtung die nächste Generation von EMF Compare einschlagen könnte. Die Hauptziele liegen dabei in der Bereitstellung eines starken und effizienten Frameworks und einer erstklassigen Eclipse-IDE-Integration.

JAXenter: Auf der Roadmap für EMF Compare erwähnst du das grafische Diffing. Wo liegen hierbei die Verbindungen zum Dawn-Projekt?

Brun: Du hast recht, dieses Feature wird auch im nächsten Release enthalten sein: ein generisches Framework für das einfache grafische Diffing von einem beliebigen GEF/GMF Modeler und eine Anwendung dieses Features durch den Papyrus UML Modeler. Das Dawn-Projekt arbeitet an einem kollaborativen UI auf Basis des Modell-Repositories und stellt als solches ähnliche Features bei der Verwendung von CDO bereit. CDO ist eine großartige Technologie, und wir nutzen CDO bei Obeo an vielen Stellen. Doch CDO passt nicht immer zu allen Kontexten. Manchmal muss man mit klassischen Dateien arbeiten und eine Integration mit unternehmensinternen SCM-Sytemen herstellen, und da kommt EMF Compare ins Spiel.

JAXenter: Vor einem Jahr haben wir ein Gespräch über das Amalgam-Projekt geführt, das damals neu im Helios-Release vertreten war. Was ist aus Amalgam ein Jahr später geworden?

Brun: Das Indigo-Release stellt ein neues, entschlacktes Package bereit, das nicht mehr als Incubator-Package gekennzeichnet ist. Wenn man alle Packages vergleicht, die von Eclipse zur Verfügung gestellt werden, dann stellt das Modeling-Paket, das vom Amalgam-Projekt beigesteuert wird, offensichtlich das Beste für die Nutzung von EMF dar. Überraschenderweise bietet es aber auch eine starke Basis für die Entwicklung von RCP-Anwendungen. Man erhält alle benötigten SDKs und die Möglichkeit, mittels EMF und den verbundenen Codegeneratoren Rich-Client-Anwendungen zu entwickeln.
Eigentlich wollte ich auch an einer besseren, projektübergreifenden Dokumentation arbeiten. Das konnte ich für Eclipse Indigo nicht wirklich umsetzen, aber ich freue mich, dass wir einen Studenten gefunden haben, der sich im Rahmen des Google Summer of Code darum kümmern wird. Zwischenzeitlich habe ich mit den Arbeiten an einem kleinen Framework begonnen, mit dem sich History-Browsing-Aktionen einfach in ein HTML-artiges Tutorial integrieren lassen. Sobald das Google-Summer-of-Code-Projekt und dieses Framework abgeschlossen sind, werden wir in der Lage sein, das neue Eclipse Modeling Interactive Example über das Discovery UI zu verbreiten, das wir im letzten Jahr entwickelt haben.

JAXenter: Um die Projekte GMF und Graphiti scheint es etwas ruhiger geworden zu sein. Was ist der aktuelle Stand bei diesen Projekten?

Brun: Die GMF Runtime ist eine bewährte Technologie, die bereits für den Bau zahlreicher existierender grafischer Modeler eingesetzt wurde. GMF ist stabil und wird von Obeo, BonitaSoft und natürlich IBM, die das Projekt eingebracht haben, weitergepflegt. Andererseits hat aber das Graphiti-Projekt in diesem Jahr große Fortschritte gemacht, auch wenn einige Funktionen wie die automatische Layouterstellung noch fehlen. Graphiti ist vom architektonischen Standpunkt aus interessant, da es GEF völlig verbirgt (etwas, was GMF überhaupt nicht leistet). Das GMF-Tooling-Projekt, das für die Bereitstellung von Codegeneratoren für die Runtime sorgen soll, ist derzeit wenig aktiv und sucht nach neuen Committern. Dahingegen erschienen vor Kurzem neue Codegeneratoren auf Basis von Graphiti. Es ist ziemlich interessant, den Wettbewerb auf diesem Gebiet zu verfolgen, vor allem wenn man bedenkt, dass im letzten Eclipse Community Survey 40 Prozent der Anwender von Modellierungstechnologien angegeben haben, grafische Repräsentationen für ihre Modelle zu entwickeln.

Cédric Brun ist Projektleiter von EMF Compare und Committer in den Eclipse-Modeling-Projekten Acceleo und Amalgamation. Er ist Mitglied des Eclipse Architecture Council und des Eclipse Planning Councils. Als Prduktarchitekt bei Obeo ist er technischer Leiter des Obeo Designer und arbeitet an Software-Evolution, Re-Engineering und Kartografie von Legacy-Systemen mithilfe modellgetriebener Verfahren.

Kommentare

Schreibe einen Kommentar

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