Refine
Keywords
- Eclipse Modeling Framework (1) (remove)
-
Mapping-basierte Modellierung von Softwareproduktlinien
(2012)
- Die modellgetriebene Softwareentwicklung erlaubt die Beschreibung von Softwaresystemen auf höherem Abstraktionsgrad. Neben der Dokumentation dienen Modelle der automatisierten Generierung von Quelltext in einer höheren Programmiersprache. Auf Programmiersprachen-Ebene erlauben Konstrukte wie Vererbung oder Typparametrisierung die Wiederverwendung im Kleinen. Adäquate Konstrukte stehen auf Modell-Ebene zur Verfügung. Softwareproduktlinien beschreiben Gemeinsamkeiten und Unterschiede verwandter Software. Durch sie kann Wiederverwendung im Großen betrieben werden, um aus einer gemeinsamen Basis ähnliche Produkte zu erzeugen. Einzelne Produkte unterscheiden sich in der Implementierung spezifischer Softwaremerkmale, die in einem Featuremodell festgehalten werden. Featurekonfigurationen beschreiben hingegen deren Ausprägung je Produkt. Die Kombination des Softwareproduktlinien-Ansatzes mit der modellgetriebenen Entwicklung ist keine neue Idee. Produkte werden hierbei durch Modelle repräsentiert. In dieser Arbeit wird der Sonderfall der negativen Variabilität betrachtet: Ein Multivarianten-Domänenmodell beinhaltet sämtliche Artefakte, die in Mitgliedern der Produktfamilie obligatorisch oder optional enthalten sein können. Ein Produkt entsteht durch das Löschen derjenigen Modell-Elemente, die nicht in seiner Konfiguration enthaltenen Features zugeordnet sind. In der vorliegenden Master-Thesis wird ein Ansatz zur Abbildung von Elementen eines Multivarianten-Domänenmodells auf ein Featuremodell vorgestellt. Die Abbildung selbst wird vom Modellierer in einem sog. Mapping-Modell erzeugt. Es erlaubt die Annotation von Domänenmodell-Artefakten mit sog. Feature-Ausdrücken, welche sich wiederum auf das Featuremodell beziehen. Die Auswertung von Feature-Ausdrücken weist einem Mapping einen Selektionszustand zu. Die Arbeit liefert Beiträge in den folgenden vier Bereichen: Konsistenz: Selektionszustände voneinander abhängiger Mappings widersprechen sich unter bestimmten Voraussetzungen. Die hierbei entstehenden Inkonsistenzen werden nicht nur erkannt; in dieser Thesis ausgearbeitete Strategien wie die Propagation oder Surrogate erlauben die automatische Reparatur derselben. Für die Formulierung domänenspezifischer Abhängigkeitsbedingungen ist eine eigene Sprache vorgesehen. Synchronität: Feature- und Domänenmodell unterliegen einer kontinuierlichen Evolution. Durch sie können existierende Mappings ungültig werden. Gegenstand eines ausgearbeiteten Konzepts ist die weitestgehend automatische Synchronisation der Modelle, wobei ein möglicher Informationsverlust minimiert wird. Agilität: Die modellgetriebene Entwicklung von Softwareproduktlinien erfolgt nicht ausschließlich plangetrieben. Man will etwa produktspezifische Änderungen an einem existierenden Mapping-Modell vornehmen. Die eingeführten Alternativen-Mappings ermöglichen darüber hinaus eine konzeptionelle Erweiterung durch positive Variabilität. Manifestation der Variabilität: In dieser Thesis wird untersucht, inwieweit sich in Featuremodellen festgehaltene Variabilität auf Produkte niederschlagen kann. Hierbei wird die starre m:n-Beziehung zwischen Features und Domänenmodell-Artefakten aufgelöst, um neue Expressionsmittel wie Attribut-Constraints zur Verfügung zu stellen. In einem vorbereitenden Abschnitt werden die erwähnten Aspekte zunächst theoretisch untersucht. Anschließend wird mit F2DMM eine Modellierungsumgebung für Softwareproduktlinien vorgestellt. Schließlich erfolgt eine Evaluierung anhand eines konstruierten Beispiels sowie eine Abgrenzung zu verwandten Ansätzen.
