www.wikidata.de-de.nina.az
Hinter dem Begriff openArchitectureWare oder kurz oAW verbirgt sich eine Plattform fur die modellgetriebene Softwareentwicklung und das modellgetriebene Testen OpenArchitectureWare ist unter der Open Source Lizenz Eclipse Public License frei verfugbar und wird von einer grossen Entwicklergemeinde weiterentwickelt OpenArchitectureWareBasisdatenEntwickler openArchitectureWareAktuelle Version 4 3 1 22 Dezember 2008 Betriebssystem alle Java fahigenKategorie EntwicklungswerkzeugLizenz EPLOpenArchitectureWare Memento vom 25 Februar 2014 im Internet Archive Im Wesentlichen bietet openArchitectureWare die Moglichkeit Codegeneratoren fur beliebige Modelle zu verarbeiten Zu diesen Modellen gehoren EMF Modelle fast alle mit UML Werkzeugen erstellten Modelle aber auch Visio Modelle oder textuelle Spezifikationen Aus den Modellquellen kann beliebiger Quellcode generiert werden Umfangreiche Moglichkeiten fur Modellvalidierungen und einfache Modelltransformationen stehen zur Verfugung Mit der Integration in das Eclipse Galileo Release ist oAW eingestellt worden und wird als Modeling Workflow Engine im Eclipse Modeling Projects weiterentwickelt Inhaltsverzeichnis 1 oAW Sprachfamilie 1 1 Xtend 1 2 Check 1 3 Xpand 2 Workflow Engine 3 Subprojekte 3 1 Recipe 3 2 UML2 Adapter 3 3 Xtext 3 4 GMF Adapter 4 Literatur 5 Weblinks 6 EinzelnachweiseoAW Sprachfamilie BearbeitenIm Kern besteht oAW aus einer Sprachfamilie bestehend aus drei Teilen Alle Sprachen sind statisch typisiert und verwenden dieselbe Expression Engine und dasselbe flexibel erweiterbare Typsystem Xtend Bearbeiten Xtend ist eine funktionale Sprache mit der es moglich ist bestehende Metamodelltypen mit zusatzlicher Logik zu erweitern Das Konzept heisst Extensions und ist ebenfalls in der C 3 0 Spezifikation enthalten Diese Erweiterungen konnen sowohl innerhalb von Xtend als auch in den anderen Sprachen Check und Xpand aufgerufen werden Weiterhin vereinfacht das Konzept der Create Extensions die Transformation von Modellen Check Bearbeiten Check ist das Aquivalent zur OCL Im Gegensatz zu OCL basiert es aber ebenfalls auf der Sprachfamilie von oAW und kann deshalb nicht nur auf MOF kompatiblen Modellen ausgefuhrt werden sondern auch auf beliebigen anderen Ausserdem kann auf mittels Xtend definierte Extensions zugegriffen werden Xpand Bearbeiten Xpand ist eine statisch typisierte Templatesprache mit speziellen fur die Codegenerierung wichtigen Features Unter anderem kann damit innerhalb der Templates in Dateien geschrieben werden Templates konnen polymorph aufgerufen werden und durch Aspekte erweitert bzw verdeckt werden Workflow Engine BearbeitenDer Aufbau eines Generators muss flexibel gestaltet und konfiguriert werden konnen Die oAW Workflowengine ist ein auf Dependency Injection kurz DI basierendes leichtgewichtiges Komponentenframework das es ermoglicht komplexe Generatoren in einzelne sogenannte Cartridges aufzuteilen Eine Cartridge ist ein beliebiger Abschnitt innerhalb eines Generators der zu einer Art Black Box zusammengeschnitten wird und so einfacher wiederverwendet werden kann Mittels einer Workflowbeschreibung wird fur jede Cartridge die genaue Schnittstelle definiert Wird ein Generator ausgeliefert kann alles in einem jar verpackt und dann uber die Workflow Schnittstelle aufgerufen und ausgefuhrt werden Subprojekte BearbeitenNeben den Kernkomponenten werden verschiedene Subprojekte angeboten die die Integration bestehender Funktionalitat aus anderen Open Source Projekten unterstutzen Recipe Bearbeiten Die Integration von generiertem und nicht generiertem Quellcode kann mit Hilfe des Recipe Frameworks sichergestellt werden Recipes uberprufen direkt nach der Generierung ob bestimmte Bedingungen erfullt sind z B dass eine bestimmte Klasse manuell erstellt wurde die wiederum von einer generierten Klasse erbt UML2 Adapter Bearbeiten Mit dem UML2 Adapter ist es moglich Modelle einzulesen die auf dem Eclipse UML2 Projekt basieren 1 Zusatzlich werden die Informationen aus den genutzten Profilen dynamisch auf entsprechende Metatypen gemappt damit die polymorphen Fahigkeiten der oAW Sprachen ausgenutzt werden konnen Xtext Bearbeiten Xtext ist ein Framework zur Erstellung von textuellen Domanenspezifischen Sprachen DSL Mit Xtext konnen nicht nur die Sprache und ein entsprechender Parser erzeugt werden sondern auch ein spezifischer Texteditor fur Eclipse der u a die definierten Constraints direkt beim Speichern pruft GMF Adapter Bearbeiten Mit dem Graphical Modeling Framework konnen grafische DSLs und entsprechende Editoren erstellt werden Mit diesem Adapter ist es auf einfache Weise moglich in der Sprache Check definierte Constraints innerhalb des generierten Eclipse Editors auszufuhren und entsprechende Meldungen und Marker zu erzeugen Literatur BearbeitenThomas Stahl Markus Volter Sven Efftinge Modellgetriebene Softwareentwicklung Techniken Engineering Management 2 aktualisierte und erweiterte Auflage Dpunkt Verlag Heidelberg 2007 ISBN 978 3 89864 448 8 Georg Pietrek Jens Trompeter Hrsg Modellgetriebene Softwareentwicklung MDA und MDSD in der Praxis Entwickler Press Frankfurt am Main 2007 ISBN 978 3 939084 11 2 Website zum Buch Efftinge Volter Haase Kolb The pragmatic code generator programmer the ServerSide Friese Efftinge Kohnlein Build your own textual DSL with Tools from the Eclipse Modeling Project Martin Fowlers DSL Beispiel implementiert in Xtext Implementation and Integration of a Domain Specific Language with oAW and Xtext by Volker Koster PDF Datei 1000 kB Creating DSLs in Java Part 3 Internal and external DSLs Parse and refine an external DSL with openArchitectureWare s Xtext By Venkat Subramaniam JavaWorld com 08 19 08Weblinks BearbeitenEclipse Modeling Offizielle Website Eclipse Modelling FrameworkEinzelnachweise Bearbeiten UML2 Nicht mehr online verfugbar In www eclipse org Eclipse Foundation archiviert vom Original am 15 April 2006 abgerufen am 16 September 2019 englisch Normdaten Sachbegriff GND 7661713 0 lobid OGND AKS Abgerufen von https de wikipedia org w index php title OpenArchitectureWare amp oldid 237194104