feasiPLe Logo

Forschungsprojekt feasiPLe

Feature-getriebene, aspektorientierte und modellgetriebene Produktlinienentwicklung

Kopplung generierter und manuell erstellter Artefakte

Ein großes Problem im Rahmen modellgetriebener Software-Entwicklung ist oftmals die Unvollständigkeit generierter Artefakte. Die erhöhte Abstraktion domänenspezifischer Sprachen erlaubt zwar zum Einen eine präzise Formulierung domänenspezifischen Wissens aber verwendet zum Anderen natürlich weniger Konzepte und Relationen als bespielsweise eine General Purpose Language (GPL), wie die Programmiersprache Java. Um nun die Lücke zwischen abstrakten Domänenkonzepten und ausführbarem Programm-Code einer GPL zu schließen, werden Generatoren verwendet, die jedes Konzept und jede Relation auf ein entsprechendes GPL-Pendant abbilden. Diese Abbildung ist jedoch starr und erlaubt keinerlei Abweichungen oder Anpassungen in Ausnahmefällen, wie sie in praktischen Szenarien oftmals vorkommen.

Um es dem Software-Entwickler in solchen Ausnahmefällen zu gestatten, generierten Programm-Code anzupassen und zu gewährleisten, dass der so manuell veränderte Generator-Code auch nach einem erneuten Generierungsschritt erhalten bleibt, sind Konzepte notwendig, die manuell veränderte Programmteile schützen.

Protected Regions und Unprotected Blocks

Eine Möglichkeit oben genanntem Problem zu begegnen, ist der Einsatz sogenannter Protected Regions [oAW] oder Unprotected Blocks [MOFScript], also geschützter Abschnitte. Solche Abschnitte beschreiben Bereiche in generiertem Programm-Code, die vom Generator berücksichtig und bei erneuter Generierung nicht überschrieben werden. Um geschützter Abschnitte zu erstellen, werden im Generator-Template entsprechende Direktiven verwendet.

Geschützter Abschnitte sind ein Beispiel, um generierte mit manuell erstellten Artefakten zu verbinden. Welche Möglichkeiten es noch gibt um dieses Problem zu beheben bzw. wie geschützter Abschnitte in einen Entwickungsprozess für Software-Produktlinien integriert werden können, wird im Rahmen des feasiPLe-Projektes geklärt.

Quellen

[oAW]           openArchitectureWare.org - Official openArchitectureWare Homepage; http://www.openarchitectureware.org/
[MOFScript]   MOFScript Documentation; http://www.eclipse.org/gmt/mofscript/doc/


Zurück zur feasiPLe Architektur