Mittwoch, 23. Mai 2012


Artikel

April 2010 | Artikel

Leichtes Spiel für Software-Modellierer

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

Neues Projekt bei Eclipse: Die EMF Client Platform (ECP)

Text: Interview mit Jonas Helming
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Das Eclipse Modeling Framework (EMF) ist der De-Facto-Standard im Bereich der Modell-getriebenen Softwareentwicklung. In den Kanon der auf EMF aufbauenden Projekte bei Eclipse will sich die EMF Client Platform (ECP) einreihen, die vor kurzem als Projekt-Vorschlag bei Eclipse eingereicht wurde. JAXenter sprach mit Projekt-Entwickler Jonas Helming über den Mehrwert, den die EMF Client Platform für Softwaremodellierer anbieten möchte.

JAXenter: Hallo Herr Helming. Sie haben bei Eclipse ein Proposal für das neue Projekt „EMF Client Platform“ eingereicht, welches das Erstellen von Anwendungen auf Basis des Eclipse Modeling Frameworks vereinfachen soll. Welche typischen Einstiegshürden bietet Ihrer Erfahrung nach EMF?

Jonas Helming: Das Eclipse Modeling Framework (EMF) erlaubt es, mit einem Klick das Entitätsmodell einer Anwendung zu generieren, und das tut es ziemlich gut. Zu einer lauffähigen Anwendung ist es danach allerdings oft noch ein weiter Weg, Developer müssen Entscheidungen über das User Interface, die Persistenz, die Versionierung oder eine mögliche Validierung der Modellinstanzen treffen. Dabei muss insbesondere ein Eclipse-Neuling neben EMF viele andere Technologien und Frameworks aus dem Eclipse-Umfeld verstehen oder gar evaluieren. Da Eclipse ja nicht generell auf EMF aufbaut, müssen hier zudem oft Adapter geschrieben werden, was den Aufwand einer Sondierungsphase zusätzlich erhöht. Kurz gesagt: Es dauert einfach zu lange bis zu einer ersten demonstrierbaren Version der Anwendung, und Developer wandern deswegen unter Umständen wieder ab.

JAXenter: Und wie möchte die EMF Client Platform hier Abhilfe schaffen?

Jonas Helming: Die meisten Entitäts-zentrischen Anwendungen sehen gerade zu Beginn ihrer Entwicklung sehr ähnlich aus: Eine baumartige Strukturansicht (Navigator), eine Detailansicht für einzelne Objekte (Editor) und häufig eine einfache Validierung des Modells. Genau das bietet ECP, ohne generierten Code, sondern reflexiv. Das bedeutet, nur das EMF- Modell muss generiert werden. Anschließend können direkt Entitäten angelegt, bearbeitet, verlinkt oder gesucht werden. Auf Basis dieser initialen Anwendung werden dann Schritt für Schritt Teile der Anwendung angepasst oder durch eigene Lösungen ersetzt. Dieses Vorgehen kommt insbesondere einem agilen Prozess entgegen, da sehr schnell ein lauffähiges Produkt entsteht.

Als zweiten wesentlichen Punkt bietet ECP EMF-basierte Schnittstellen. Das bedeutet, der Developer kann mit EMF-Objekten arbeiten, statt sich mit Files oder untypisierten Java-Objekten auseinanderzusetzen.

JAXenter: Auf welcher Codebasis steht das ECP-Projekt?

Jonas Helming: ECP wurde als Teil des Open-Source-Projekts UNICASE entwickelt und steht unter der Eclipse Public License. Neben UNICASE sind bisher die Haupttreibenden des Projektes Forschergruppen, die an einer schnellen, aber dennoch stabilen Umsetzungen ihrer Anwendungen interessiert sind.

JAXenter: Wer wird diese Basis zukünftig weiterentwickeln?

Jonas Helming: Das ECP-Projekt steht schon jetzt auf einer sehr gesunden und breiten Basis aus Industrie und Forschung, allerdings mit einem Schwerpunkt im Forschungsumfeld. Ziel des Eclipse-Projektes ist es, diese Basis in Richtung Industrie zu erweitern.

JAXenter: Welche nächsten Schritte sind geplant und wann kann man mit ersten Releases rechnen?

Jonas Helming: ECP ist schon jetzt neben UNICASE in anderen Applikationen in Verwendung. Das erste offizielle Release als Eclipse-Projekt hängt damit an Formalitäten wie beispielsweise dem IP Log.

Neben den notwendigen Schritten, ein Eclipse-Projekt zu werden, arbeiten wir gerade an der Flexibilität und Erweiterbarkeit des Frameworks. Dabei sind wir natürlich auf Feedback potentieller User angewiesen. Als Open-Source-Projekt darf ich jeden Nutzer dazu anregen, uns zu kontaktieren und positives wie negatives Feedback zu geben. Nur auf diese Art kann ein Framework den Bedarf existierender und zukünftiger Nutzer decken.

JAXenter: Vielen Dank für dieses Gespräch!

Jonas Helming ist Doktorand am Lehrstuhl für angewandte Software-Technik (Prof. Bruegge) an der technischen Universität München. Er verfügt über langjährige Erfahrungen im Bereich Software Engineering, insbesondere im Umgang mit Eclipse-Technologien. Sein Forschungsfokus liegt in der Integration von System-Modellierung und Projekt-Management-Artefakten. Seit 2007 ist er Mitbegründer und Leiter des UNICASE-Projektes, eine Platform für die Umsetzung Modell-basierter Ansätze. Im Rahmenprojekt UNICASE entstanden zwei Eclipse-Frameworks, die EMF Client Platform (ECP) und der EMFStore, die momentan als Eclipse-Projekte vorgeschlagen werden.
  1. http://code.google.com/p/unicase/wiki/ECPNavigation
  2. http://eclipse.org/proposals/emf-client/
  3. Quickvote: Kodieren Sie noch oder modellieren Sie schon?

Kommentare