Die Grundlage für Deltas erfolgreiche Software-Generatoren
Delta Software Technology ist führend im Bereich fortschrittlicher Software-Generatoren. Generatoren dienen neben reiner Automatisierung insbesondere der Realisierung verschiedener Abstraktionsebenen. Deshalb stehen im Zentrum der aktuellen Diskussionen die Implementierung von Software-Produktlinien und domänenbezogenen Schnittstellen. In der Praxis führt an einem modellbasierten Vorgehen zur Erreichung einer wirtschaftlicheren Software-Entwicklung kein Weg vorbei.
Delta liefert seit 30 Jahren erfolgreich fortschrittliche Generatortechnologie an die führenden Unternehmen Europas. Auf der Grundlage dieser Erfahrung geben Cord Giese und Rüdiger Schilling in ihrem Artikel „Modellgetriebene Generatorentwicklung“ einen umfassenden Überblick über das Thema.
Der Beitrag ist in der aktuellen Ausgabe (Nr. 3 / 2005) der Fachzeitschrift OBJEKTspektrum erschienen. Als Beispiel für die Unterstützung modellgetriebener Generatorentwicklung präsentiert er die von Delta entwickelte HyperSenses-Technologie.
Doch der Reihe nach – was genau ist die Motivation für eine modellgetriebene Entwicklung von Generatoren?
Warum modellgetriebene Generatorentwicklung?
In der Software-Entwicklung werden Generatoren eingesetzt, um Programmiertätigkeiten zu automatisieren und höhere Abstraktionsebenen zu realisieren. Während „Automation“ die zentrale Aufgabe eines jeden Generators ist, trennt sich an der Implementierung höherer, domänenorientierter Abstraktionsebenen die Spreu vom Weizen.
Solche Generatoren sind keine einfachen Filter oder Konverter mehr, sondern sind an eine Anwendungsdomäne angepasst oder – im Idealfall – anpassbar. Mit dem Grad der Anpassbarkeit geht eine Ausweitung des potentiellen Einsatzgebietes einher – deshalb ist ein Höchstmaß an Anpassbarkeit das Ziel.
Ein weiteres Ziel ist die Verringerung des Aufwandes für die Erstellung eines Generators. Ideal wäre hier die gänzliche Vermeidung manuellen Programmierens. Dazu ist eine Werkzeugunterstützung erforderlich, die gleichzeitig die Basis für die geforderte Domänenorientierung bietet.
Voraussetzung dafür ist eine saubere Definition der durch einen Generator implementierten Variabilität. Üblicherweise wird diese in Variabilitätsmodellen definiert, für deren Erstellung es verschiedene Techniken gibt. Beispielsweise kann die FODA-Methode (Feature-Oriented Domain Analysis) oder die UML dafür eingesetzt werden.
Ist ein Variabilitätsmodell erst einmal definiert, kann man auf dieser Basis sowohl die Elemente zur Konfiguration als auch die zu generierenden Source-Code-Fragmente definieren (nicht: programmieren). Entscheidend ist an dieser Stelle, dass für die Konfigurationsdaten einer Generierung mehrere Sichten angeboten werden, von denen der zu erzeugende Quellcode nur eine unter mehreren ist. Insbesondere lassen sich dann die gewünschten domänenorientierten Sichten realisieren.
HyperSenses™-Technologie
Dreh- und Angelpunkt dieser Konzepte ist die saubere Trennung von Variabilitätsmodell, den Konfigurationsdaten und den verschiedenen Sichten auf diese. Dieser Ansatz führt zu einem strikt modellbasierten Vorgehen, was in dem Artikel anhand eines Beispiels für Deltas HyperSenses-Technologie genauer vorgestellt wird.
HyperSenses implementiert die Konzepte der Intentionalen Programmierung, in denen das zu lösende Problem in einer domänenspezifischen Sprache definiert wird. Dieses Programm wird aber nicht als Syntax in einer Textdatei, sondern als Modell in einem Repository gespeichert. Damit stehen verschiedene Sichten zur Verfügung, um die Spezifikation zu definieren, zu pflegen und zu verstehen. Dies sind zum Beispiel Text-, Halbgrafik- und Grafik-Sichten.
Insgesamt lässt sich beobachten, dass die Entwicklung von Generatoren mittlerweile zu einem eigenständigen Fachgebiet geworden ist und sich die entsprechenden Techniken stetig weiterentwickeln. Modellbasierte Konzepte bilden den vorläufigen Höhepunkt dieser Entwicklung. Informieren Sie sich genauer und lesen Sie den Artikel.
Download des Artikels über "Model-Driven Generator Development" (PDF) ![]()
Die Implementierung von Software-Produktlinien und domänenbezogenen Schnittstellen steht derzeit im Zentrum der Diskussionen. In der Praxis führt an einem modellbasierten Vorgehen zur Erreichung einer wirtschaftlicheren Software-Entwicklung kein Weg vorbei.
Weitere Informationen
Weitergehende Informationen zu unserer fortschrittlichen Generatortechnologie, zu HyperSenses und der damit verbundenen Forschungsarbeit im Bereich der Generativen Programmierung.



