A new approach to product line engineering in model-based requirements engineering

v Variability modeling is a major issue in requirements engineering for software product lines. Existing state-of-the-art approaches heavily leverage the principle of separation of concerns by specifying the requirements model in multiple separate diagrams (for example, the UML) and using orthogonal variability modeling to describe commonality and variability (for example, feature models). Mapping-based approaches are further used to accurately specify the variabil- ity’s impact on the requirements model. However, this makes variability-related requirements engineering activities unnecessarily cumbersome, since the speciﬁcation of variable features is not handled as a primary concern, but rather scattered over many separate diagrams. This thesis presents a new approach that builds on different premises, which neither require variability mappings nor an orthogonal variability model. Instead of separating the require- ments model into multiple diagrams, a fully integrated requirements modeling language and tool support for view generation are used. Instead of using an orthogonal variability model and a speciﬁc variability mapping approach, a compositional approach is used. On this basis a new, fully-ﬂedged product line requirements modeling approach has been developed. The approach is parsimonious in the sense that it aims at extending an existing language as little as possible. It also allows a ﬁne-grained speciﬁcation of cross-cutting features and their functional dependencies, when needed. It allows the requirements and variability model to be visualized in a single view and more abstract views at arbitrary levels of abstraction to be generated. It provides novel support for product derivation that can visualize both a decision’s impact on the product’s functionality and on other variability decisions in the same diagram and tool. It con- tinuously veriﬁes the satisﬁability of the model and allows advanced automated analyses such as constraint propagation, based on Boolean satisﬁability (SAT) solving. In addition it provides advanced support for variability model creation and evolution by allowing a straightforward, semi-automated extraction and composition of any identiﬁed variable feature. vi The empirical validation presented in this thesis is four-fold. First, a constructive tool imple- mentation proves technical feasibility. Second, the modeling of several real-world examples along with state-of-the-art solutions shows practical feasibility. Third, a rigorous performance analysis veriﬁes that SAT solving scales well for models of this new type, which proves that the presented automated variability analysis solution is feasible. And fourth, a recent real-world case study compares the practical performance of the presented approach with an industry- strength and state-of-the-art solution and shows considerable beneﬁts of the presented approach. This thesis contributes a complete description of this new approach, which is mainly based on the A DORA requirements and architecture modeling language. The presented approach is of a general nature, however, and we expect our empirical results to yield equally encouraging data also with any other language that satisﬁes the approach’s prerequisites. We hope that this inte- grated approach to requirements modeling (or conceptual modeling in general) and variability modeling will soon also be applied with other modeling languages. The presented work will possibly lead to an emergence of new types of tools that can also visualize existing product line models (for example, speciﬁed with UML and feature modeling) in a new, integrated and ﬂexible manner, as presented in this thesis. This could profoundly change and improve the way engineers and analysts visualize and deal with variability in software models in the future. vii Variabilitatsmodellierung ist eine wichtige Angelegenheit in der Anforderungsanalyse von Soft- ware Produktlinien. Existierende Ansatze mit heutigem Stand der Technik stutzen sich stark auf eine Separierung der Anforderungsmodellierung in verschiedene Diagramme (typischer- weise unter Verwendung von UML) und benutzen orthogonale Variabilitatsmodellierung zur Beschreibung von Gemeinsamkeiten und Variabilitat (zum Beispiel Feature Modelle). Zuord- nungs-basierte Ansatze werden weiters verwendet um die Variabilitat in der Anforderungsmo- dellierung prazise zu speziﬁzieren. Dies macht Aktivitaten im Zusammenhang mit Variabilitat in der Anforderungsanalyse unnotig umstandlich, da die Speziﬁkation der Variabilitat nicht als grundlegendes Element realisiert ist, sondern vielmehr verteilt uber verschiedene Diagramme beschrieben wird. Diese Dissertation prasentiert einen neuartigen Ansatz, der weder Zuordnungen noch ein zu- satzliches orthogonales Variabilitatsmodell benotigt. Anstatt das Anforderungsmodell auf meh- rere Diagramme zu verteilen, wird eine vollstandig integrierte visuelle Anforderungsmodellie- rungssprache zusammen mit Werkzeugunterstutzung zur Sichtengenerierung verwendet. Und anstatt ein orthogonales Variablitatsmodell zusammen mit einem Zuordnungs-basierten Ansatz zu verwenden, wird ein kompositionaler Ansatz eingesetzt. Auf dieser Basis wurde ein neuar- tiger und vollstandig ausgepragter Ansatz zur Anforderungsmodellierung von Software Pro- duktlinien entwickelt. Der Ansatz ist sparsam, da er darauf zielt mit einer kleinstmoglichen Erweiterung einer bestehenden Sprache auszukommen. Dennoch erlaubt er eine sehr genaue Speziﬁkation von querschneidenden variablen Features und deren funktionalen Abhangigkeiten, wenn dies gebraucht wird. Er erlaubt eine integrierte Darstellung des Anforderungs- und Variabilitatsmodells und die Generierung von abstrakten Sichten auf beliebigen Abstraktions- stufen. Weiters erlaubt er eine neuartige Herangehensweise zur Produktableitung, welche die Auswirkungen einer Entscheidung sowohl auf die Funktionalitat des Produkts als auch auf die viii weiteren Entscheidungen im gleichen Diagramm und Werkzeug visualisieren kann. Die lo- gische Erfullbarkeit des Modells wird laufend gepruft, was auch eine breite Palette an auto- matisierten Analyseoperationen erlaubt, die auf Boolescher Erfullbarkeitsauswertung (SAT) aufbauen und zum Beispiel die automatische Propagierung der Auswirkung von bestimmten Entscheidungen auf die restlichen Entscheidungen erlaubt. Der Ansatz erlaubt weiters auch eine fortgeschrittene Art der Erstellung und Weiterentwicklung von Variabilitatsmodellen durch einfache, semi-automatische Extraktion und Komposition ausgewahlter variabler Features. Die empirische Validierung dieser Dissertation gliedert sich in vier Teile. Zuerst beweist eine konstruktive Werkzeugimplementierung die technische Machbarkeit des Ansatzes. Als Zweites zeigt die Modellierung von realen Beispielen im Vergleich mit existierenden Losungen am Stand der Technik die praktische Tauglichkeit des Ansatzes. Als Drittes zeigt ein rigoroser Leistungstest, dass die prasentierte automatisierte Analyse des Variabilitatsmodells gut skaliert und ebenso praxistauglich ist. Und als Viertes zeigt eine aktuelle Fallstudie, dass der praktische Einsatz des prasentierten Ansatzes im Vergleich zu fuhrenden Werkzeugen mit aktuellem Stand der Technik auch bedeutende Vorteile birgt. Diese Arbeit prasentiert eine vollstandige Beschreibung dieses neuen Ansatzes, welcher haupt- sachlich basierend auf der Anforderungs- und Architekturmodellierungssprache A DORA be- schrieben wird. Der Ansatz ist jedoch von genereller Natur und wir erwarten ahnlich vorteil- hafte Ergebnisse auch fur andere Sprachen, die alle notigen Voraussetzungen fur diesen Ansatz erfullen. Wir hoffen, dass dieser integrierte Ansatz zur Anforderungsmodellierung (bzw. zur konzeptuellen Modellierung im Allgemeinen) und Variabilitatsmodellierung auch bald in an- deren Modellierungssprachen zum Einsatz kommt. Die prasentierte Arbeit wird moglicher- weise zu neuartigen Typen von Werkzeugen fuhren, welche auch existierende Modelle von Software Produktlinien (welche zum Beispiel mit UML und Feature Modellierung speziﬁziert sind) auf eine neue, integrierte und ﬂexible Art und Weise visualisieren konnen, wie in dieser Dissertation prasentiert wird. Dies konnte die Art und Weise wie Ingenieure und Analysten in Zukunft Variabilitat in Software Modellen visualisieren und behandeln grundlegend verandern und verbessern.