Do we need standards for Product Line Engineering - and if so, how many?
by Danilo Beuche
Full disclosure: Both myself and other pure-systems team members have been and/or still are involved in international standardization bodies such as AUTOSAR, OASIS and ISO. I am also representing pure-systems at the INCOSE Product Line Working group. So, this is not going to be a post of an objective bystander, but rather of a guy who spent some time of his life on helping to get standards written and applied in the field.
As a result of a standardization activity started a couple of years ago as an initiative of members of INCOSE's Product Line Engineering Working Group, a new standard related to Product Line Engineering (PLE) was released by the ISO a few days ago: the ISO26580:2021 (Software and systems engineering - Methods and tools for the feature-based approach to software and systems product line engineering). This triggered my post, as I would like to share some facts and my views regarding standards in PLE with you.
The standard describes industry best practice for PLE, the feature-based approach. It provides us with names for concepts around this approach and puts them into context (i.e., creates an ontology). It also describes requirements for elements used to implement this approach. Using this standard, you will be able to judge if an engineering approach is or is not a feature-based PLE approach (and what is missing, if not). If you ever contemplated the question “What is a feature?” you will find an answer there. That’s great. However, the aforementioned standard ISO 26580 is not the first standard related to PLE and will not be the last to be published. A question comes to mind: Why are multiple standards for PLE required and how many standards do we need?
Let’s check what is out there
Before we dive deeper into this, let’s check what is out there: Even the ISO already has multiple standards related to PLE in the ISO 2655x/2656x family of standards, with the ISO 26550 as the foundation of all of these (including the ISO 26580 as a specialization of the concepts in ISO 26550ff).
But there is more: Since AUTOSAR 4, this standard provides metamodel elements for representing architectural variability concepts in the automotive software domain, including a fully defined metamodel for feature modelling down to the XML data representation. This is clearly a standard meant to define data models for tool-based collaboration. It does not define how you would use the concepts to run PLE. And it is focused on one thing: the automotive software architecture and implementation domain.
More standards are under development
Currently under development are more standards with embedded aspects of PLE such as OMG's SysML V2 and the OASIS Variability Exchange Language (VEL), both tackling the challenges of representing machine readable information related to variability (which is a core concept of PLE) in standardized ways. SysML V2 scope is model based systems engineering, whereas VEL will serve as language to exchange variability information between the PLE Factory Configurator (btw, this is an ISO26580 defined term, and refers to tools like pure-systems' pure::variants and Biglever Gears) and authoring tools for Shared Superset Assets (such as requirements management or MBSE tools).
Contrary to the ISO standards for PLE, all the other standards mentioned above focus on providing concrete means for data exchange and processing, but lack the methodology aspect, present in the ISO standards.
No single standard to rule all others
All of these standards actually have their part in the big picture. If we look at the automotive industry, future car and related infrastructures (e.g. smart highways) are developed using model-based systems engineering which is then used as input into a AUTOSAR based software development. Variability is connected throughout these different models / data domains, and needs to be controlled in a holistic manor, where VEL as lingua franca would be used to exchange variability info between different tools such as a SysML V2 modeling tool, AUTOSAR tooling and the PLE factory configurator tool. The ISO standards help us to setup a methodology and to understand what requirements the tools and organization have to meet.
With this in mind, it becomes clear that we have to align the different standards in a way collaboration is possible without being a hinderance to evolution and innovation. However, there will be not one standard to rule them all.
The PLE community is on the right track
I think the PLE community is on the right track, as many of us engage in the various standardization activities and put a lot of effort into communicating with the domain experts for systems engineering, tool makers, etc., about the importance of having aligned concepts open for collaboration.
If we see PLE as a truly holistic approach (which it is), we also have to embrace the mechanical engineering and its standards (especially those in the field of digital representation such as ISO 10303). That’s why it is likely that we will see even more standards or evolution of existing standards appearing in relation to PLE in the future.
About the author
Prof. Dr. Danilo Beuche is co-founder and CEO of pure-systems and one of the leading minds in Product Line Engineering (PLE). Danilo is driven by the idea of helping companies to develop better, longer-lasting products while always paying attention to economic reuse and sustainability. In 2001, he co-founded pure-systems, a software company specialized in services and tool development for the application of product line technologies in embedded software systems. As the market leader in PLE, pure-systems helps global enterprises and medium-sized companies to keep costs low while improving the quality and safety of their products.
Before founding pure-systems, Danilo worked on tool support for feature-based software development at the University of Magdeburg. Since 2016 he is also an Honorary Professor at the Information Systems Institute (IWI) of Leipzig University.