Detailseite
Projekt Druckansicht

Regelgesteuerte invasive Softwarekomposition mit strategischer Port-Graphersetzung (RISCOS)

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2016 bis 2020
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 280611750
 
Zur flexiblen Wiederverwendung von Softwarekomponenten benötigt man adäquate Wiederverwendungstechniken wie Komponentenmodelle, Kompositionstechniken und -sprachen (sog. Kompositionssysteme). Eine besonders attraktive Art der Wiederverwendung stellt die querschneidende Wiederverwendung von Komponenten dar, bei der Komponenten auf andere Komponenten distributiert werden (Weben, weaving). Weben kann für sehr komplexe Wiederverwendungsszenarien eingesetzt werden und vereinfacht die Organisation von Produktfamilien, da querschneidende Aspekte und optionale Funktionalitäten von dem Kern einer Produktfamilie getrennt verwaltet werden können. Allerdings müssen für diese distributive Komposition, meist für jede Sprache spezifisch, Webewerkzeuge erstellt werden, komplexe Kompositionsprogramme, deren Entwicklung sehr aufwändig ist. Daher ist die Entwicklung von Techniken wünschenswert, die Webewerkzeuge vereinfachen, zum Beispiel durch den Einsatz von deklarativen Sprachen. Für die Komposition sind universelle Ansätze wie die invasive Softwarekomposition (engl. invasive software composition, ISC) entwickelt worden, mit der für beliebige textuelle und grafische Sprachen Kompositionssysteme erzeugen werden können. Auch Webewerkzeuge können mit ISC erstellt werden, in der Regel erstellt man dazu ein Kompositionsprogramm, zum Beispiel in einer imperativen Sprache. Es ist wünschenswert, hierzu Graphersetzungssysteme einzusetzen, da diese deklarative Semantik und einen hohen Automatisierungsgrad besitzen. Wir haben in mehreren Vorarbeiten gezeigt, dass dies vorteilhaft ist. Allerdings stößt man auf zwei Probleme: während des Webens treten Konflikte zwischen Regeln des Graphersetzungssystems auf (kritische Paare), die erkannt werden müssen (Konflikterkennung). Zweitens müssen dann die Konflikte vermieden werden, d.h. für alle kritischen Paare muss eine Auswahlstrategie angegeben werden. Deshalb ist bisher der Einsatz von programmierten, also nicht vollständig deklarativen, Graphersetzungssystemen nötig. Ziel des Projektes ist es, den Bau von zuverlässigen Webewerkzeugen für Programme, Modelle und Dokumente zu vereinfachen. Zur Vereinfachung des Webens von Fragmenten soll regelgesteuerte Port-Graphersetzung eingesetzt werden, ein relativ neuer Ansatz, der Komponenten und Komposition geeignet modellieren kann. Zur Erkennung von Kompositionskonflikten sollen Referenz-Attributgrammatiken eingesetzt werden, die automatische Abhängigkeitsanalysen zwischen Regeln erlauben. Zur Auflösung von Kompositionskonflikten sollen die Strategiesprachen der Port-Graphersetzung genutzt werden, die es erlauben, Konflikte durch die Spezifikation von Auswahlstrategien zu vermeiden. Um die Technologie für beliebige Dokument-, Programmier- und Modellierungssprachen einsetzen zu können, soll sie auf die invasive Softwarekomposition aufgebaut werden, damit alle Kompositionen und Webevorgänge typsicher sind und die Regeln der statischen Semantik einhalten.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung