Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Starting a software product line by reengineering a set of existing product variants

: Yoshimura, K.; Bayer, J.; Ganesan, D.; Muthig, D.


In-vehicle software & hardware systems : Held during the SAE 2006 world congress, April 3 - 6, 2006, Cobo Center, Detroit, MI, USA
Warrendale, Pa.: SAE, 2006 (SAE-SP 2028)
ISBN: 0-7680-1763-7
10 S. : Ill., Lit.
Society of Automotive Engineers (World Congress) <2006, Detroit/Mich.>
Fraunhofer IESE ()
product line; product line engineering; reverse engineering; case study; reuse; reengineering

Today's vehicles integrate many diverse types of electronic control units, many of which can be found in every vehicle, such as in braking systems, engine control systems, or body control units. For every type of vehicle, however, individual variants (of each of these units) must be created to fulfill system requirements, which vary as to vehicle types, characteristics, wishes and strategy of vehicle manufacturers, or laws valid in different target markets. Nevertheless, variants of the same type of control unit share many common characteristics, as well as partially vary within a welldefined spectrum determined by a set of system parameters. In order to make system development more efficient, commonalities and predictable variability should be systematically exploited; software product line engineering, for example, is an approach that aims at such a systematic exploitation. The goal of product line engineering (high-level of reuse across products) is clear. Its implementation in practice, however, is a challenge in many domains and organizations.
This paper presents early software product line activities which have been performed during the initialization phase of the Fraunhofer PuLSETM (Product Line Software and System Engineering) approach. The activities analyze an existing set of related control units and identify common and varying characteristics of these solutions delivered to customers in the past. Based on the results of the analysis, an action plan is derived for merging pieces of different, existing systems to form the basis of a future software product line.