The toolchain: a gatekeeper to efficient scaling of Product Line Engineering?

The toolchain: a gatekeeper to efficient scaling of Product Line Engineering?

The toolchain: a gatekeeper to efficient scaling of Product Line Engineering? A decision for implementing PLE involves deliberations on how to manage variability of products of a product line and how to synthesize new products from existing work products. If the answer is to adapt the PLE factory paradigm, development of a performant, cost effective and well-integrated toolchain becomes vital to introduction efforts.

In the past, development processes in the automotive industry were dominated by mechanical components. Such mechanical components are poorly networked and subject to moderate evolution dynamics. Nowadays, vehicles are mechatronic products, i.e., compositions of mechanics, electronics and software, with the latter enjoying ever greater attention from the end customer. These software features (e.g., Advanced Driver Assistance Systems (ADAS) or infotainment features) create highly networked structures that are simultaneously subject to high evolution and innovation dynamics. Furthermore, the software driven mechatronic systems need to be developed for several products and markets with varying requirements. Therefore, modern development processes for software-driven mechatronic products must master variant management. At the same time, development still must be cost-efficient, so that a high degree of reuse is required. Product Line Engineering (PLE) is a methodological approach to organize and leverage similarity in products to reduce development and maintenance efforts as well as time to market. There are multiple ways to implement product line engineering. One of them is the so called "clone and own" approach, where existing work products, including technical drawings and software sources, are cloned and altered to meet different sets of requirements. Changes are usually not integrated back into the source project when practicing "clone and own". This approach is easy to adapt, yields results quickly but increases maintenance effort with a rising number of product variants.

Another method is the PLE Factory approach, in which all members of a product family are developed together in supersets. Artifacts for individual products, such as requirements, architecture, and source code, are configured from supersets, using distinction criteria included in the specification. PLE Factory enables quick extensions of product lines with high confidence but also initially requires an increased overhead. [1] suggests that it may take a sufficient lifespan of a product family to recoup initial investments. Nevertheless, PLE Factory offers a higher overall efficiency especially for complex cyber-physical products, that have to adapt to frequently changing requirements, service a market with diverse requirements or have long-running maintenance requirements. Clearly, implementing PLE Factory offers some distinct advantages so, with which technical solutions can PLE Factory be integrated into existing tool- and toolchain environments?

Implementing the PLE Factory approach requires a way to manage the variability of development assets including but not limited to requirements, design models and specifications, test plans and -cases, manuals, software source- and build files, and many more. As these engineering assets are usually created and managed in purpose-built software tools, it is economical to keep these engineering tools, leverage existing knowledge and work products and use a common language for the definition of variability information throughout different engineering domains. Today, there already are well-established mechanisms to control variability within single engineering domains but using them alone fails to integrate across disciplines. Postprocessor directives in programming languages, for example, can control large and complex software products yet offer no connection to other engineering domains. Neither is usage of a common variability model supported out of the box. [2] describes a method to model orthogonal variant modeling (OVM) using/extending the SysML language. This approach can be used to model cross-domain variability models; however, it does not include a way to integrate this information with other engineering tools. One well-established tool that combines variability handling and work products is PrEEVision from Vector Informatik. It offers variant control for requirements, architecture, code, and hardware modules but focusses on proprietary Vector tools that are used to create and manage work products. This tool, however, may not be cost efficient for all customers and applications and offers less flexibility in carrying over legacy work products and defining methodology.

FEV.io believes that these characteristics make the PLE Factory uniquely suited to developing quickly changing software products and enable the Software Defined Vehicle (SDV) and proposes a toolchain setup based on ISO 26580 [3] which illustrated in the figure above. ISO 26580 describes the PLE Factory approach and suggests using a common source of truth for variability (see figure: A) and product variants (B) that can be integrated across engineering assets. These assets include the specification for all product variants, called supersets (D). An automated mechanism (C), that is a computer process, transforms the specification supersets into specifications for single product variants (E).


Article content

FEV.io has partnered with pure::variants, a commercial PLE-tool, that manages variability, product variants, superset transformations and integrates across multiple engineering tools to build tailored toolchain solutions with customers. Pure::variants was chosen because it offers the necessary means to implement the PLE Factory approach, is easy to use, offers extensibility and comes with plug-ins that integrate well with the most important engineering tools currently in use with FEV.io and its customers. To apply and tailor product line engineering approaches, FEV.io uses its expertise in automotive development and combines this with the broad and deep experience of the FEV Group of software design, systems engineering as well as component design and industrialization. This enables FEV.io to support customers with analyses of their current process- and tool landscape, conducting gap analyses, benchmarking of tools and platforms to create toolchains that integrate well with required tools and processes as well as comply with applicable standards, such as ISO 26262. FEV.io is experienced in developing suitable processes and methodologies that fit the customer's development ecosystem and develop toolchains that support these processes and methodologies.

FEV.io not only helps customers to set up PLE processes, methods and toolchains, but also guides them through the targeted adaptation of their development processes, for example, to implement systematic product line engineering. This is achieved by defining, documenting, and teaching processes and methods as well as developing custom tool chain integrations with pure::variants. FEV.io also is the right place to get engineering services to support in starting off with generating engineering content or integrating legacy assets into superset assets for use in PLE.

Author: Fabian Probst

References: [1] Schulze, Agile Software-Produktlinien-entwicklung im Kontext heterogener Projektlandschaften, Aachener Informatik-Berichte, Software-Engineering Band 40, 2019 [2] Hummel, Hause; Model-Based Product Line Engineering - Enabling Product Families with Variants; 2015 IEEE Aerospace Conference [3] ISO/IEC 26580:2021

To view or add a comment, sign in

More articles by FEV.io

Explore topics