Xtext 2.0: DSLs unleashed - JAXenter

Xtext 2.0: DSLs unleashed

JAXenter: Eclipse Modeling ist sicherlich einer der dynamischsten Bereich bei Eclipse. Vor welchen großen Herausforderungen steht Eclipse Modeling Deiner Meinung nach?

Sven Efftinge: Das Eclipse Modeling Project (EMP) ist ja ein sogenanntes Top-Level Umbrella-Projekt bei Eclipse. Das heißt, es hat selbst eigentlich relativ wenig Identität und die Projekte darunter haben wahrscheinlich als größte Gemeinsamkeit, dass sie alle irgendwie EMF verwenden. Der Begriff „Modeling“ wird tatsächlich von Projekt zu Projekt sehr unterschiedlich definiert und gelebt. Ich persönlich werde zwar durch meine Vorgeschichte als Entwickler von openArchitectureWare 4 und meine Aktivitäten bei Eclipse Modeling oft als „Modeller“ wahrgenommen, bin aber tatsächlich mit vielen Werten, die ich so in dieser Community sehe, nicht einverstanden. Mir sind z.B. all die überkomplizierten Standards der OMG ziemlich egal, bzw. ich gehe ihnen aus dem Weg.

Auch denke ich, dass Model-Driven Development keine alternative, ganzheitliche Entwicklungsform ist, die irgendwie in Konkurrenz zur „klassischen“ Softwareentwicklung steht. Es sind Werkzeuge, die mir helfen können, ein bestimmtes Problem zu lösen. Wenn sie es nicht tun, dann sollte ich sie auch nicht verwenden. Codegenerierung und DSLs gibt es überall; man denke nur an Roo, Grails, Rails usw. Auch all die XML-Dialekte in der Java-Welt sind nichts anderes als DSLs. EMP bietet hier wesentlich modernere und effektivere Technologien, und es ist schön zu sehen, dass auch Mainstream-Projekte wie z.B. Maven heute Xtext einsetzen, um den alten Technologien ein bisschen frischen Wind entgegen zu hauchen.

Eine weitere Sicht auf Modeling ist die Verwendung von EMF zur Laufzeit als Domainmodel-Framework. Dabei werden EMF-Objekte als bessere JavaBeans innerhalb von Applikationen eingesetzt. CDO macht EMF in dieser Kategorie Enterprise-fähig, und auch die Art, wie EMF in e4 verwendet wird, gehört in diese Kategorie. EMF kann heute nicht nur in Standard-Java-Applikation als internes Datenmodell verwendet werden, sondern läuft auch in Eclipse RAP- und GWT-Projekten. Diese Art von „Modeling“ ist sehr interessant und erfolgreich.

Zu guter Letzt gibt es unter EMP noch die klassischen Modeling-Projekte wie das UML2-Projekt und andere Implementierung von OMG-Standards. Ich persönlich nutze UML, wenn überhaupt, nur informal und am liebsten am Whiteboard.

Die wichtigste Herausforderung für das EMP ist, diese drei Geschmacksrichtungen besser herauszustellen und dann eine Webseite auf Eclipse.org einzurichten, die die verschiedenen Zielgruppen gut abholt und auf den richtigen Weg schickt.

JAXenter: Auf der JAX wirst du zusammen mit Eike Stepper den Modeling Day moderieren. Was habt ihr geplant?

Sven Efftinge: Der Eclipse Modeling Day ist in zwei Abschnitte, „Modeling for Tools“ und „Modeling at Runtime“, aufgeteilt. Am Vormittag beginnt Ed Merks mit einer allgemeinen Einführung zu EMF. Diese bietet die Grundlage für alle folgenden Tutorien. Danach werden die Teilnehmer lernen, wie man mit Xtext 2.0 eine Domain-Specific Language entwickelt. Wir werden hier auch Xbase in die Sprache einbetten und Xtend2 verwenden, um einen Codegenerator zu schreiben. Die Xtext Committer Jan Köhnlein und Sebastian Zarnekow werden ebenfalls beim Tutorial unterstützen, so dass niemand mit unbeantworteten Fragen nach Hause gehen muss.

Am Nachmittag betrachten wir, wie EMF zur Laufzeit in Applikationen verwendet werden kann. Hierzu wird es zwei Tutorien geben. Zuerst wird Eike die Teilnehmer in die Welt von CDO entführen. Hier lernen Sie, wie CDO viele immer wiederkehrende Probleme, rund um die Persistierung und Verteilung von Objekten auf elegante Weise löst. Im zweiten Teil am Nachmittag wird Tom Schindl, der auch für die Integration von EMF in Eclipse 4.0 verantwortlich ist, das EMF Databinding zeigen. Auch beim Anbinden von User Interfaces sind die erweiterten Konzepte von EMF extrem hilfreich und ermöglichen ein einfaches Programmiermodell.

Wir wollen am Abend wieder Raum bieten, um zum einen offene Fragen zu diskutieren und zum anderen kritisch zu hinterfragen, ob all diese Technologien wirklich hilfreich sind, oder ob nicht weniger mehr ist. Viele Entwickler, die zum ersten Mal mit dem Thema DSLs in Berührung kommen, sind zu Recht skeptisch und möchten sehr genau wissen, wann sich der Einsatz lohnt und wann nicht.

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

Sven Efftinge ist bei der itemis AG (http://www.itemis.de) beschäftigt und maßgeblich für die Weiterentwicklung von Methoden und Werkzeugen für die modellgetriebene Softwareentwicklung verantwortlich. Er ist Mitglied des Eclipse Modeling PMC und leitet die Entwicklung des TMF-Xtext-Frameworks. Er spricht regelmäßig auf Softwarekonferenzen und ist Koautor des Buchs „Modellgetriebene Softwareentwicklung“ (dpunkt).
Kommentare

Schreibe einen Kommentar

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