Mapping-basierte Modellierung von Softwareproduktlinien

Mapping Based Software Product Line Modeling

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 SoDie 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.show moreshow less
Model driven software engineering allows for the description of software systems at a higher level of abstraction. Models are not only suitable for documentation, but also for an automated generation of source code in a modern programming language. At language level, constructs such as inheritance or type parametrization enable reuse in the small. Adequate constructs exist at modeling level. Software product lines describe commonalities and differences of related software. They enable reuse in tModel driven software engineering allows for the description of software systems at a higher level of abstraction. Models are not only suitable for documentation, but also for an automated generation of source code in a modern programming language. At language level, constructs such as inheritance or type parametrization enable reuse in the small. Adequate constructs exist at modeling level. Software product lines describe commonalities and differences of related software. They enable reuse in the large to derive similar products from a common software basis. Distinct products differ in the implementation of specific software features which can be recorded in a feature model. Contrastingly, a feature configuration describes a product's characteristics. The combination of both the software product line approach and model driven software engineering is not a novel idea. Products are represented by models in this discipline. This thesis considers the special case of negative variability: a multi-variant domain model contains the complete set of optional or mandatory software artifacts which can occur in some or all of the members of a software family. Deriving a product means deleting model artifacts which are not assigned to any feature that is included in the feature configuration describing it. The present Master thesis introduces an approach for mapping elements of a multi-variant domain model onto elements of a feature model. The mapping itself is created by the user in a so called mapping model. It allows for the annotation of domain model artifacts with feature expressions that refer to the feature model of the product line. Evaluating its feature expression, a distinct selection state is determined for each mapping. The thesis makes contributions in four areas: Consistency: Selection states of mutually depending mappings may be contradicting for some conditions, resulting in inconsistencies. Strategies elaborated in this thesis, e.g. propagation and surrogates, do not only identify them, but also allow for an automatic repair. A dedicated language has been developed to enable the phrasing of domain specific consistency conditions. Synchronicity: Feature and domain model are affected by continuous evolution, which can turn mappings into an invalid state. Another concept elaborated in this thesis is a mostly automatic synchronization of involved models, minimizing the potential loss of information. Agility: Model driven software product line engineering is not supposed to be purely plan-driven. Considering mapping models, product specific changes may be intended to occur lately. This requirement is covered by the concept of alternative mappings introduced to even support positive variability. Manifestation of variability: The thesis includes an investigation of how variability captured in feature models can influence products. Generally, features are supposed to be related to domain model artifacts by a m:n relationship only. New concepts try to enhance this by introducing flexible constructs such as attribute constraints. A preparatory section covers the concepts described above in theory. Next, the software product line modeling environment F2DMM is introduced that implements these concepts. Finally, the approach is evaluated using an artificial case study with limited extent. The thesis is concluded by presenting related work.show moreshow less

Download full text files

Export metadata

  • Export Bibtex
  • Export RIS
  • frontdoor_exportcitavi

Additional Services

    Share in Twitter Search Google Scholar
Metadaten
Institutes:Informatik
Author: Felix Schwägerl
Year of Completion:2012
SWD-Keyword:Domänenspezifische Programmiersprache; Modellgetriebene Entwicklung; Produktlinie
Tag:Abbildung von Softwaremerkmalen; Eclipse Modeling Framework; Modellgetriebene Softwareproduktlinien
Eclipse Modeling Framework; Model driven software product lines; Software feature mapping
Dewey Decimal Classification:004 Datenverarbeitung; Informatik
CCS-Classification:D.2.2 Design Tools and Techniques (REVISED)
D.2.13 Reusable Software (NEW)
URN:urn:nbn:de:bvb:703-opus-10055
Document Type:Master's Thesis
Language:German
Date of Publication (online):06.07.2012