Automating Staged Product Derivation for Heterogeneous Multi-Product-Lines

Language
en
Document Type
Doctoral Thesis
Issue Date
2012-05-16
Issue Year
2012
Authors
Elsner, Christoph
Editor
Abstract

Software constitutes a major cost factor when developing technical systems. To reduce this cost, systematic reuse of assets is necessary from early on when developing similar products - an approach that has become known as software product line engineering. The automation of product derivation, that is, the automated product creation from core assets, is one of the success factors of product line engineering. It has two facets: automated support during configuration of a product, such as configuration consistency checks and automated fixes, and automation of the actual generation of the product, via generative technologies, which produce product artifacts from the configuration. Three critical factors, however, currently hamper the use of automated derivation techniques in industry: the heterogeneity of product derivation mechanisms, the stages in the derivation process, and the composition of several product lines to multi-product-lines. From feature modeling to C-preprocessor-based configuration, from the first decision taken during the initial customer contact stage to the last option set in a configuration file at the system startup stage - each of possibly multiple involved product lines brings distinct product configuration and generation facilities to be used by different stakeholders at dedicated stages in the derivation process. Up to now, there are hardly any solutions neither for heterogeneity, nor for stages, nor for multi-product-lines - product derivation in industry results in an immense manual effort. No technical support is provided for configuration checking across heterogeneous configuration mechanisms, product lines, or configuration stages. Configuration inconsistencies remain unnoticed and produce high cost due to prolonged testing and reconfiguration cycles and, ultimately, due to the delivery of defective products to customers. This thesis contributes the PLiC approach, which automates staged product derivation for heterogeneous multi-product-lines. Multi-product-lines are split up into product line components (PLiCs), which base upon three principles: extraction, declaration, and restriction. The legacy configuration data of each PLiC is automatically and transparently extracted into models. The product line engineer declares further information on stages and multi-product-lines in additional, concise models. This facilitates defining model-based constraint checks and fixes that ensure consistent product configuration and product generation over the whole staged derivation process of heterogeneous multi-product-lines. The validation results show that the approach is comprehensively applicable to legacy product lines in a light-weight, little-invasive, and scalable manner. In doing so, this thesis opens the way for bringing automated product derivation from research and insular productive use to broad applicability in industrial practice.

Abstract

Bei der Entwicklung technischer Systeme stellt Software einen bedeutenden Kostenfaktor dar. Sind gleich mehrere, ähnliche Produkte zu entwickeln, hilft der Softwareproduktlinien-Ansatz durch frühe und systematisch geplante Wiederverwendung von Softwareanteilen die Kosten zu reduzieren. Insbesondere die automatische Produktableitung kann hierzu bedeutend beitragen, indem sie Konfigurationsbeschreibungen automatisch auf produktspezifische Sofwareanteile abbildet. Die Automation bezieht sich hierbei einerseits auf die Produktkonfiguration, welche durch automatische Überprüfung und Reparatur der Konfiguration deren Konsistenz sicherstellt, als auch auf die eigentlich Produktgenerierung, welche die Konfiguration auf Produktartefakte abbildet. Bisher behindern jedoch drei Faktoren die industrielle Anwendung automatischer Produktableitungstechniken: die Heterogenität der Produktableitungsmechanismen, mehrere Stufen innerhalb der Produktableitung und die Komposition von mehreren Produktlinien zu Multiproduktlinien. Von Merkmalmodellen bis zur Konfiguration über den C Präprozessor, von der ersten Entscheidung des Vertriebs beim Kunden bis zur letzten Konfigurationsoption vor dem Systemstart - jede der beteiligten Produktlinien bringt ihre eigenen Produktkonfigurations- und Produktgenerierungsmechanismen mit, welche von Benutzern unterschiedlichster Rollen während der verschieden Produktableitungsstufen verwendet werden. Für die heterogene und gestufte Produktableitung von Multiproduktlinien gibt es bisher kaum automatisierte Ansätze, so dass die Ableitung von Produkten in der Industrie weiterhin mit einem immensen manuellen Aufwand verbunden ist. Es gibt keine technische Unterstützung für die Konfigurationsüberprüfung über die Grenzen von Konfigurationsmechanismen, Produktlinien oder Ableitungsstufen hinaus. Konfigurationsinkonsistenzen bleiben daher unerkannt und erzeugen hohe Kosten durch erhöhten Test- und Rekonfigurationsaufwand - und führen schlimmstenfalls zur Auslieferung defekter Produkte an den Kunden. Der PLiC-Ansatz automatisiert die Produktableitung von gestuften und heterogenen Multiproduktlinien. Zunächst werden diese in Produktlinienkomponenten (product line components, PLiCs) zergliedert, welche auf drei Prinzipien basieren: Extraktion, Deklaration und Restriktion. Jegliche Konfigurationsdaten werden zunächst automatisch und transparent in ein einheitliches Modellformat überführt. Der Produktlinienentwickler deklariert zusätzliche Informationen bezüglich der Produktableitungsstufen und der Multiproduktlinien-Struktur in weiteren Modellen. Dies ermöglicht die einheitliche Definition von Konfigurationseinschränkungen und Reparaturanweisungen auf Modellebene, womit die konsistente Produktkonfiguration und -generierung über den gesamten gestuften und heterogenen Produktableitungsprozess von Multiproduktlinien sichergestellt wird. Die Validierung zeigt die umfassende Anwendbarkeit des Ansatzes auf bereits existierende Produktlinien auf, wobei er sich weiterhin als leichtgewichtig, gering-invasiv und technisch skalierbar erweist. Dadurch bereitet diese Arbeit den Weg, die automatische Produktableitung von der Forschung und von vereinzeltem produktiven Einsatz in eine breite Anwendung in der industriellen Praxis zu überführen.

DOI
Document's Licence
Faculties & Collections
Zugehörige ORCIDs