Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-2087
Main Title: Managing Complex Variability in Automotive Software Product Lines with Subscoping and Configuration Links
Translated Title: Handhabung komplexer Variabilität von Softwareproduktlinien im Automobilbereich mit Subscoping und Configuration Links
Author(s): Reiser, Mark-Oliver
Advisor(s): Jähnichen, Stefan
Granting Institution: Technische Universität Berlin, Fakultät IV - Elektrotechnik und Informatik
Type: Doctoral Thesis
Language: English
Language Code: en
Abstract: Softwareproduktlinien haben sich in den letzten 10 bis 15 Jahren zunehmender Aufmerksamkeit aus Forschung und Industriepraxis erfreut. Das Grundprinzip der produktlinienorientierten Entwicklung besteht darin, die Produkte eines Softwareherstellers nicht mehr unabhängig nebeneinander zu entwickeln, sondern als Instanzen einer übergreifenden Produktlinieninfrastruktur, die aus dieser durch Konfiguration und ggf. individuelle manuelle Anpassung abgeleitet werden. Dabei wird das Hauptaugenmerk der Entwicklung von den Einzelprodukten auf die Menge der Produkte des Anbieters, also seine Produktlinie, verlagert und diese Produktlinie wird ein primärer Gegenstand der Entwicklung. Diese Grundgedanken der produktlinienorientierten Entwicklung passen hervorragend zu den Anforderungen der Softwareentwicklung in der Automobilindustrie. Dort werden die Systeme in aller Regel in einer Vielzahl von Länder-, Modell- und Ausstattungsvarianten angeboten, was zu einer sehr komplexen Variabilität auch und gerade der Software führt. Eine solche Variabilität über Einzelvarianten hinweg zu planen, zu dokumentieren und zu koordinieren ist ein zentrales Anliegen von Produktlinienansätzen. Leider sind jedoch existierende Methoden und Werkzeuge zur produktlinienorientierten Entwicklung nicht ohne weiteres im Automobilbereich einsetzbar. In der vorliegenden Dissertation werden zunächst die Gründe hierfür ausführlich diskutiert und auf besondere Eigenschaften des Automobilbereichs – insbesondere im Vergleich zur klassischen Applikationsentwicklung – zurückgeführt. Zwei Hauptursachen lassen sich hierbei identifizieren: Die enorme Komplexität sowie die Heterogenität der im Automobilbereich entwickelten Systeme wie auch der eingesetzten Methoden, Werkzeuge und Prozesse. Aufbauend auf dieser Erkenntnis werden zwei grundlegende Konzepte zur Entwicklung hochkomplexer Produktlinien im Kfz-Bereich vorgeschlagen. Das eine Konzept ermöglicht die Unterteilung einer komplexen Produktlinie entlang der Variabilitätsachse, indem ein Teil der Varianten aus der Betrachtung ausgeklammert wird, was zu mehreren untergeordneten Produktlinien von reduzierter Variabilität führt. Hierbei besteht die Herausforderung darin, praktikable Mechanismen zu finden, um die untergeordneten Produktlinien bis zu einem gewissen Grad unabhängig voneinander entwickeln zu können und sie trotzdem noch global auf Ebene der übergeordneten Produktlinie koordinieren zu können. Das zweite Konzept ermöglicht die relativ unabhängige lokale Entwicklung der Produktlinieninfrastruktur auf der Ebene einzelner Subsysteme bzw. Teilkomponenten oder im Kontext einzelner Entwicklungsartefakte, ohne die Einbettung in die globale Variabilität der Gesamtproduktlinie zu gefährden. Die vorgeschlagenen Konzepte werden auf Grundlage einer mathematischen Formalisierung präzise definiert, ausführlich erläutert und diskutiert sowie mittels einer Implementierung für experimentelle Zwecke praktisch verfügbar gemacht. Darüber hinaus wurden sie im Rahmen zweier umfangreicher Fallstudien evaluiert.
Over the last 10 to 15 years, software product lines have drawn increasing attention from software science and practice. The fundamental principle of product-line-oriented development is to no longer develop the individual products of a software manufacturer independently from one another and in parallel, but as instances of an embracing product line infrastructure, which are then derived from this infrastructure by way of configuration and, if required, manual adaptation. Thereby, the focus of development shifts from the individual products to the set of products the manufacturer has on offer, i.e. his product line, thus turning this product line into a tangible entity of development. This basic notion of product-line-oriented development perfectly fits the requirements of software development in the automotive industry. There, systems are usually offered in a wide range of variants pertaining to different countries, vehicle models, and special equipments, leading to a highly complex variability of the software. To plan, document and coordinate such variability across individual variants is precisely the objective of product line engineering approaches. Unfortunately, existing methods and tools for product-line-oriented development are in many cases not directly applicable in the automotive domain. In this dissertation, the manifold reasons for this will be discussed in detail and it will be shown how they relate to several specific characteristics of the automotive domain, in particular in comparison to traditional desktop application development. Two main areas will be identified here: the enormous complexity and the great heterogeneity of both the systems being developed, as well as the involved methods, tools and processes. Based on this finding, two fundamental concepts for developing highly complex automotive product lines will be presented. The first of these concepts provides means to partition a complex product line along the variability axis by excluding some variants from consideration, resulting in several sub-ordinate product lines of reduced complexity each. The challenge was to find a feasible mechanism to allow to develop and evolve the individual subordinate product lines to some extent independently from one another while at the same time allowing to coordinate them globally on the level of the superordinate product line. The second concept allows for a localized development of the product line infrastructure on the level of individual subsystems, subcomponents, or in the context of individual development artifacts, without loosing the tight coupling to the global variability of the complete system product line. The proposed concepts have been precisely defined by way of a comprehensive set theoretical formalization, they will be explicated and discussed in detail and an implementation will be presented which makes them accessible for experimenting. Furthermore, both concepts were evaluated in two extensive case studies.
URI: urn:nbn:de:kobv:83-opus-21016
http://depositonce.tu-berlin.de/handle/11303/2384
http://dx.doi.org/10.14279/depositonce-2087
Exam Date: 10-Dec-2008
Issue Date: 5-Feb-2009
Date Available: 5-Feb-2009
DDC Class: 004 Datenverarbeitung; Informatik
Subject(s): Fahrzeugbau
Konfiguration
Produktlinie
Softwareentwicklung
Variabilitätsmanagement
Configuration
Product line
Software development
Variability management
Vehicle manufacturing
Usage rights: Terms of German Copyright Law
Appears in Collections:Technische Universität Berlin » Fakultäten & Zentralinstitute » Fakultät 4 Elektrotechnik und Informatik » Institut für Softwaretechnik und Theoretische Informatik » Publications

Files in This Item:
File Description SizeFormat 
Dokument_42.pdf5.05 MBAdobe PDFThumbnail
View/Open


Items in DepositOnce are protected by copyright, with all rights reserved, unless otherwise indicated.