<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=OpenArchitectureWare</id>
	<title>OpenArchitectureWare - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=OpenArchitectureWare"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=OpenArchitectureWare&amp;action=history"/>
	<updated>2026-05-26T07:24:46Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=OpenArchitectureWare&amp;diff=651736&amp;oldid=prev</id>
		<title>imported&gt;Crazy1880: Vorlagen-fix (Online)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=OpenArchitectureWare&amp;diff=651736&amp;oldid=prev"/>
		<updated>2026-03-08T14:49:09Z</updated>

		<summary type="html">&lt;p&gt;Vorlagen-fix (Online)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:openArchitectureWare}}&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
|Logo= [[Datei:Logo oaw spot.svg|200px|offizielles Logo]]&lt;br /&gt;
|Screenshot= &lt;br /&gt;
|Beschreibung= &lt;br /&gt;
|Hersteller= openArchitectureWare&lt;br /&gt;
|AktuelleVersion= 4.3.1&lt;br /&gt;
|AktuelleVersionFreigabeDatum= 22. Dezember 2008&lt;br /&gt;
|Betriebssystem= alle Java fähigen&lt;br /&gt;
|Kategorie= [[Entwicklungswerkzeug]]&lt;br /&gt;
|Lizenz= [[Eclipse Public License|EPL]]&lt;br /&gt;
|Website= {{Webarchiv |url=http://www.openarchitectureware.org/index.php |text=OpenArchitectureWare |wayback=20140225123932}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Hinter dem Begriff &amp;#039;&amp;#039;&amp;#039;openArchitectureWare&amp;#039;&amp;#039;&amp;#039; oder kurz &amp;#039;&amp;#039;&amp;#039;oAW&amp;#039;&amp;#039;&amp;#039; verbirgt sich eine [[Plattform (Computer)|Plattform]] für die [[modellgetriebene Softwareentwicklung]] und das [[Modellbasiertes Testen|modellgetriebene Testen]]. OpenArchitectureWare ist unter der Open-Source-Lizenz [[Eclipse Public License]] frei verfügbar und wird von einer großen Entwicklergemeinde weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
Im Wesentlichen bietet openArchitectureWare die Möglichkeit, [[Codegenerator]]en für beliebige Modelle zu verarbeiten. Zu diesen Modellen gehören [[Eclipse Modeling Framework|EMF]]-Modelle, fast alle mit [[Unified Modeling Language|UML]]-Werkzeugen erstellten Modelle, aber auch Visio-Modelle oder textuelle Spezifikationen. Aus den Modellquellen kann beliebiger Quellcode generiert werden. Umfangreiche Möglichkeiten für Modellvalidierungen und einfache Modelltransformationen stehen zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Mit der Integration in das [[Eclipse (IDE)|Eclipse]] Galileo Release ist oAW eingestellt worden und wird als &amp;#039;&amp;#039;Modeling Workflow Engine&amp;#039;&amp;#039; im  Eclipse Modeling Projects weiterentwickelt.&lt;br /&gt;
&lt;br /&gt;
== oAW-Sprachfamilie ==&lt;br /&gt;
Im Kern besteht oAW aus einer Sprachfamilie bestehend aus drei Teilen. Alle Sprachen sind [[Statische Typisierung|statisch typisiert]] und verwenden dieselbe Expression-Engine und dasselbe flexibel erweiterbare [[Typsystem]].&lt;br /&gt;
&lt;br /&gt;
=== Xtend ===&lt;br /&gt;
Xtend ist eine funktionale Sprache, mit der es möglich ist bestehende [[Metamodell]]typen mit zusätzlicher Logik zu erweitern. Das Konzept heißt &amp;#039;&amp;#039;Extensions&amp;#039;&amp;#039; und ist ebenfalls in der [[C-Sharp|C#]] 3.0 Spezifikation enthalten. Diese Erweiterungen können sowohl innerhalb von Xtend als auch in den anderen Sprachen Check und Xpand aufgerufen werden.&lt;br /&gt;
Weiterhin vereinfacht das Konzept der Create Extensions die [[Modelltransformation|Transformation von Modellen]].&lt;br /&gt;
&lt;br /&gt;
=== Check ===&lt;br /&gt;
Check ist das Äquivalent zur [[Object Constraint Language|OCL]]. Im Gegensatz zu OCL basiert es aber ebenfalls auf der Sprachfamilie von oAW und kann deshalb nicht nur auf MOF-kompatiblen Modellen ausgeführt werden, sondern auch auf beliebigen anderen. Außerdem kann auf mittels Xtend definierte [[Dateiendung|Extensions]] zugegriffen werden.&lt;br /&gt;
&lt;br /&gt;
=== Xpand ===&lt;br /&gt;
Xpand ist eine [[Statische Typisierung|statisch typisierte]] [[Template Engine|Templatesprache]] mit speziellen, für die Codegenerierung wichtigen Features. Unter anderem kann damit innerhalb der Templates in Dateien geschrieben werden, Templates können [[Polymorphie (Programmierung)|polymorph]] aufgerufen werden und durch [[Aspektorientierte Programmierung|Aspekte]] erweitert bzw. verdeckt werden.&lt;br /&gt;
&lt;br /&gt;
== Workflow-Engine ==&lt;br /&gt;
Der Aufbau eines Generators muss flexibel gestaltet und konfiguriert werden können. Die oAW-Workflowengine ist ein auf [[Dependency Injection]] (kurz DI) basierendes leichtgewichtiges [[Bauteil (Technik)|Komponentenframework]], das es ermöglicht, komplexe Generatoren in einzelne sogenannte Cartridges aufzuteilen. Eine Cartridge ist ein beliebiger Abschnitt innerhalb eines Generators, der zu einer Art [[Black Box (Systemtheorie)|Black Box]] zusammengeschnitten wird und so einfacher wiederverwendet werden kann. Mittels einer Workflowbeschreibung wird für jede Cartridge die genaue Schnittstelle definiert. Wird ein Generator ausgeliefert, kann alles in einem [[Java Archive|jar]] verpackt und dann über die Workflow-Schnittstelle aufgerufen und ausgeführt werden.&lt;br /&gt;
&lt;br /&gt;
== Subprojekte ==&lt;br /&gt;
Neben den Kernkomponenten werden verschiedene Subprojekte angeboten, die die Integration bestehender Funktionalität aus anderen Open-Source-Projekten unterstützen.&lt;br /&gt;
&lt;br /&gt;
=== Recipe ===&lt;br /&gt;
Die Integration von generiertem und nicht generiertem Quellcode kann mit Hilfe des Recipe Frameworks sichergestellt werden. Recipes überprüfen direkt nach der Generierung, ob bestimmte Bedingungen erfüllt sind (z.&amp;amp;nbsp;B. dass eine bestimmte Klasse manuell erstellt wurde, die wiederum von einer generierten Klasse erbt).&lt;br /&gt;
&lt;br /&gt;
=== UML2-Adapter ===&lt;br /&gt;
Mit dem UML2-Adapter ist es möglich, Modelle einzulesen, die auf dem Eclipse UML2-Projekt basieren.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.eclipse.org/uml2 |titel=UML2 |werk=www.eclipse.org |hrsg=Eclipse Foundation |sprache=en |offline=1 |archiv-url=https://web.archive.org/web/20060415110810/http://www.eclipse.org/uml2/ |archiv-datum=2006-04-15 |abruf=2019-09-16}}&amp;lt;/ref&amp;gt; Zusätzlich werden die Informationen aus den genutzten Profilen dynamisch auf entsprechende Metatypen gemappt, damit die [[Polymorphismus|polymorphen]] Fähigkeiten der oAW-Sprachen ausgenutzt werden können.&lt;br /&gt;
&lt;br /&gt;
=== Xtext ===&lt;br /&gt;
[[Xtext]] ist ein Framework zur Erstellung von textuellen [[Domänenspezifische Sprache|Domänenspezifischen Sprachen]] (DSL). Mit Xtext können nicht nur die Sprache und ein entsprechender [[Parser]] erzeugt werden, sondern auch ein spezifischer Texteditor für [[Eclipse (IDE)|Eclipse]], der u.&amp;amp;nbsp;a. die definierten [[Constraints]] direkt beim Speichern prüft.&lt;br /&gt;
&lt;br /&gt;
=== GMF-Adapter ===&lt;br /&gt;
Mit dem Graphical Modeling Framework können grafische DSLs und entsprechende Editoren erstellt werden. Mit diesem Adapter ist es auf einfache Weise möglich, in der Sprache &amp;#039;&amp;#039;Check&amp;#039;&amp;#039; definierte Constraints innerhalb des generierten Eclipse-Editors auszuführen und entsprechende Meldungen und Marker zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Thomas Stahl, Markus Völter, Sven Efftinge&lt;br /&gt;
   |Titel=Modellgetriebene Softwareentwicklung. Techniken, Engineering, Management&lt;br /&gt;
   |Auflage=2. aktualisierte und erweiterte&lt;br /&gt;
   |Verlag=Dpunkt-Verlag&lt;br /&gt;
   |Ort=Heidelberg&lt;br /&gt;
   |Datum=2007&lt;br /&gt;
   |ISBN=978-3-89864-448-8}}&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Hrsg=Georg Pietrek, Jens Trompeter&lt;br /&gt;
   |Titel=Modellgetriebene Softwareentwicklung. MDA und MDSD in der Praxis&lt;br /&gt;
   |Verlag=Entwickler-Press&lt;br /&gt;
   |Ort=Frankfurt am Main&lt;br /&gt;
   |Datum=2007&lt;br /&gt;
   |ISBN=978-3-939084-11-2&lt;br /&gt;
   |Online=[http://modeldriven.de/ Website zum Buch]}}&lt;br /&gt;
* [http://www.theserverside.com/tt/articles/article.tss?l=PragmaticGen Efftinge, Völter, Haase, Kolb – The pragmatic code generator programmer – the ServerSide]&lt;br /&gt;
* [https://www.eclipse.org/articles/article.php?file=Article-BuildYourOwnDSL/index.html Friese, Efftinge, Köhnlein – Build your own textual DSL with Tools from the Eclipse Modeling Project]&lt;br /&gt;
* [http://blog.efftinge.de/2008/06/fowlers-dsl-example-with-xtext.html Martin Fowlers DSL-Beispiel implementiert in Xtext]&lt;br /&gt;
* [http://www.mt-ag.com/web/download/experts_library/special_interest_artikel/Implementation%20and%20Integration%20of%20a%20DSL.pdf Implementation and Integration of a Domain Specific Language with oAW and Xtext by Volker Koster] (PDF-Datei; 1000 kB)&lt;br /&gt;
* [http://www.javaworld.com/javaworld/jw-08-2008/jw-08-dsls-in-java-3.html Creating DSLs in Java, Part 3: Internal and external DSLs – Parse and refine an external DSL with openArchitectureWare&amp;#039;s Xtext By Venkat Subramaniam, JavaWorld.com, 08/19/08]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.eclipse.org/modeling/emft/?project=mwe Eclipse Modeling]&lt;br /&gt;
* [https://www.eclipse.org/Xtext/ Offizielle Website]&lt;br /&gt;
* [https://www.eclipse.org/emf Eclipse Modelling Framework]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Normdaten|TYP=s|GND=7661713-0}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Vorgehensmodell (Software)]]&lt;br /&gt;
[[Kategorie:Freies Programmierwerkzeug]]&lt;br /&gt;
[[Kategorie:Domänenspezifische Sprache]]&lt;br /&gt;
[[Kategorie:Templatesprache]]&lt;br /&gt;
[[Kategorie:Eclipse]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Crazy1880</name></author>
	</entry>
</feed>