Artikel

 
Juni 2009 | Artikel

Galileo macht´s möglich: Modeling wird praxistauglich Fortsetzung, Teil 2

Teil 1   Teil 2   Teil 3   

oAW goes EMP
Die wichtigsten Bestandteile des openArchitectureWare-Projekts sind nun in einzelnen Eclipse Modeling Projekten aufgeteilt und ebenfalls im Galileo Release enthalten.

Die oAW-Sprachfamilie, bestehend aus der Templatesprache Xpand, der funktionalen Transformationssprache Xtend und der Sprache Check, die zur Definition von Modellinvarianten verwendet wird, wird nun unter M2T/Xpand weiterentwickelt.

Eine Bedingung bei der Migration von oAW nach Eclipse war, die Sprachen abwärtskompatibel zu halten. Für bestehende oAW-Projekte bedeutet dies, dass in den Templates und Transformationen nichts verändert werden muss. Einzig der Namensraum für die Java API und die Standardbibliothek (von org.openarchitectureware zu org.eclipse) wurde verändert. Zusätzlich wurde die Performance der Sprachen erhöht. Die Ausführung der Sprachen benötigt nun teilweise nur noch 60% der Zeit. Noch deutlicher sind die Performance-Verbesserungen bei der statischen Analyse. Musste man bisher bei großen Projekte manchmal auf die Validierung der Templates und Transformationen warten, geschieht dies nun unmerklich im Hintergrund.

Die Workflow Engine, die bei oAW dazu verwendet wird, um komplexe Generatorabläufe zu konfigurieren, ist nun Bestandteil des EMFT Projekts. Unter dem Namen "Modeling Workflow Engine" (MWE) wurde sie ebenfalls mit Fokus auf Abwärtskompatibilität migriert. Natürlich sind auch hier die Java Packages von org.openarchitectureware auf org.eclipse geändert worden. Ansonsten bleibt aber vorerst alles beim Alten.

oAW selbst ist dabei zu einer sogenannten Working-Group bei Eclipse geworden. Diese hat sich zur Aufgabe gemacht, eine Eclipse-basierte Komplettlösung für DSL- und Codegenerator-Entwicklung bereitzustellen und dafür zu sorgen, die Interoperabilität und Kommunikation zwischen den verschiedenen Projekten sicherzustellen.

Xtext
Xtext, ebenfalls ein ehemaliger Bestandteil von openArchitectureWare, wurde im Gegensatz zu Xpand und MWE komplett neu implementiert. Xtext ist ein Rahmenwerk für die Entwicklung von domänenspezifischen aber auch normalen Programmiersprachen.

Dabei basiert Xtext auf seinen eigenen Ideen: Mittels einer DSL zur Beschreibung von DSLs sind die Nutzer in der Lage, in kurzer Zeit eine umfangreiche Sprachinfrastruktur zu entwickeln. Dazu gehören neben Parser, Serialisierer und Formatierer auch eine EMF-Integration. Weiterhin wird aus einer sehr einfachen Sprachbeschreibung eine komplette IDE-Unterstützung erzeugt, die sich in jede Eclipse IDE integrieren lässt. Diese umfasst beispielsweise auch einen Editor für die entworfene DSL, der bekannte IDE-Features wie: Syntax Highlighting, Autovervollständigung, Syntaktische und semantische Validierung, Navigation, einen Outline View u.a. unterstützt.

Wer mehr über Xtext erfahren möchte, sei auf das ausführliche Interview mit Dr. Jan Köhnlein auf JAxenter.de verwiesen, sowie auf die Xtext-Artikelserie, die im kommenden Eclipse Magazin 5.09 startet.

Teil 1   Teil 2   Teil 3   

andere Artikel dieser Serie


Anzeige

Kommentare

Gravatar Holger 26.06.2009
um 13:47 Uhr
Hallo Sven,

> ...dass allein 22 der 33 beteiligten Projekte aus dem
> Eclipse Modeling Project kommen...
>
Also ich komm "nur" auf 8 von 33: EMF, EMFT, GMF, JWT, MDT, M2M, M2T, TMF (vgl. http://wiki.eclipse.org/Galileo#Projects). Oder zählst du die Teilprojekte einzeln? Aber dann wären es auch deutlich mehr als insgesamt 33 Projekte...

Danke für den Artikel und dein Mitwirken bei Xtext, das ich ziemlich cool finde!
#zitieren
Gravatar Sven 30.06.2009
um 11:38 Uhr
Hi Holger,

Du hast Recht, da hab ich schlecht recherchiert.
Es sind 22 von insgesamt 51 Projekten. (Auf einer anderen Seite steht 33). Sorry dafür.
#zitieren
Gravatar Redaktion JAXenter 30.06.2009
um 16:32 Uhr
Die Zahl 22 dürfte sich tatsächlich auf die Summe der Galileo-Subprojekte beziehen. Im Artikel wurde dies entsprechend geändert. #zitieren

Anzeige

zurück zum Seitenanfang