Beyond Software Product Lines: Variability Modeling in Cyber-Physical Systems

Smart IT has an increasing influence on the control of daily life. For instance, smart grids manage power supply, autonomous automobiles take part in traffic, and assistive robotics support humans in production cells. We denote such systems as Cyber-physical Systems (CPSs), where cyber addresses the controlling software, while physical describes the controlled hardware. One key aspect of CPSs is their capability to adapt to new situations autonomously or with minimal human intervention. To achieve this, CPSs reuse, reorganize and reconfigure their components during runtime. Some components may even serve in different CPSs and different situations simultaneously. The hardware of a CPS usually consists of a heterogeneous set of variable components. While each component can be designed as a software product line (SPL), which is a well established approach to describe software and hardware variability, it is not possible to describe CPSs' variability solely on a set of separate, non-interacting product lines. To properly manage variability, a CPS must specify dependencies and interactions of its separate components and cope with variable environments, changing requirements, and differing safety properties. In this paper, we i) propose a classification of variability aspects, ii) point out current challenges in variability modeling, and iii) sketch open research questions. Overall, we aim to initiate new research directions for variable CPSs based on existing product-line techniques.

[1]  Thomas Thüm,et al.  Product-line specification and verification with feature-oriented contracts , 2015 .

[2]  Christian Müller-Schloer,et al.  Organic computing: on the feasibility of controlled emergence , 2004, CODES+ISSS '04.

[3]  Sarfraz Khurshid,et al.  Generalized Symbolic Execution for Model Checking and Testing , 2003, TACAS.

[4]  Antonio Ruiz Cortés,et al.  Article in Press G Model the Journal of Systems and Software an Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry , 2022 .

[5]  Insup Lee,et al.  Cyber-physical systems: The next computing revolution , 2010, Design Automation Conference.

[6]  Jiafu Wan,et al.  A survey of Cyber-Physical Systems , 2011, 2011 International Conference on Wireless Communications and Signal Processing (WCSP).

[7]  Dawson R. Engler,et al.  Under-Constrained Symbolic Execution: Correctness Checking for Real Code , 2015, USENIX Annual Technical Conference.

[8]  Alessio Ishizaka,et al.  Multi-criteria Decision Analysis: Methods and Software , 2013 .

[9]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[10]  Jan Bosch,et al.  Dynamic Variability in Software-Intensive Embedded System Families , 2012, Computer.

[11]  Christel Baier,et al.  Principles of model checking , 2008 .

[12]  Noël Plouzeau,et al.  Self-adaptation in software-intensive cyber-physical systems: From system goals to architecture configurations , 2016, J. Syst. Softw..

[13]  Oded Maler,et al.  Some Thoughts on Runtime Verification , 2016, RV.