|
||||
|
Transformation domänenspezifischer SprachenFür die Erzeugung einer ausführbaren Produktinstanz, ist es notwendig, unter Anwendung verschiedener Modelltransformationen und Codegenerierungsschritte Ausdrücke der zur Systemspezifikation verwendeten DSLs auf eine einheitliche Implementierungssprache abzubilden. In feasiPLe wird dazu ein gestufter MDSD Prozess verankert, welcher diese Abbildung über verschiedene Zwischenstufen und Abstraktionsebenen vornimmt. Sein Ergebnis ist eine integrierte Beschreibung des Gesamtsystems. Wir gehen dabei davon aus, dass die verwendeten DSLs durch ein Metamodell beschrieben werden und DSL-Ausdrücke in Modellform vorliegen. Mehrstufiger InstanziierungsprozessDie Produktinstanziierung aus DSL-basierten Systemspezifikationen lässt sich in verschiedene Stufen unterteilen, welche die Differenzierung funktionaler, platttformbezogener und kontextueller Variabilität im Problemraum einer Produktlinie widerspiegeln. Im ersten Schritt werden die funktionalen Variationspunkte der Produktlinie gebunden. Dazu werden in einer Modell-zu-Modelltransformation variantenunabhängige Modelle zu variantenspezifischen Modelle umgeformt. Dieser Transformationsschritt wird durch ein funktionales Variantenmodell gesteuert. In der darauffolgenden Stufe werden Plattformspezifika gebunden. Dies erfolgt wiederum mittels Modell-zu-Modelltransformationen, welche aus DSL-Modellen bzw. plattformunabhängigen Modellen plattformspezifische Modelle erzeugen. Im letzen Schritt wird aus den vorliegenden Modellen Quellcode für eine bestimmte Zielplattform generiert. Selbstverständlich ist diese Mehrstufigkeit nur optional. Wenn es Abstraktionsgrad und Variabilitätsmodellierung zulassen, könnte beispielsweise eine Codegenerierung auch direkt aus DSL-Instanzen erfolgen. Unterstützung verschiedener Kompositionssysteme bei der ProduktinstanziierungDie Vielfalt der Transformationsschritte, macht es notwenig, eine generische Werkzeugumgebung zu entwickeln, welche deren integrierte Verwendung ermöglicht. Um auch andere im Kontext von feasiPLe relevante Realisierungstechnologien (Graphersetzungssystem, CeasarJ, Reuseware) zu integrieren, wird das abstrakte Konzept des Kompositionsschritts eingeführt. Jeder Kompositionsschritt verwendet ein bestimmtes Kompositionssystem, z.B. Modelltransformation, Codegenerierung, Aspektweben oder Graphersetzung. Damit beschreibt ein Kompositionssystem eine Werkzeugkomponente, welche aus eine Menge von Eingabeartefakten Ausgabeartefakte erzeugt. In der Produktlinienentwicklung werden die Eingabeartefakte durch das Mapping von Features (Konfigurationselemente im Problemraum) auf Realisierungsartefakte bestimmt. Für die Realisierung eines mehrstufigen Instanziierungsprozesses werden mehrere Kompositionsschritte verkettet. Bei der Umsetzung der Werkzeugumgebung sind verschiedene Problemstellungen zu lösen:
|
|||
Copyright © feasiPLe Consortium 2006-2008 |