=Paper= {{Paper |id=Vol-3812/paper2 |storemode=property |title=Challenges in Automotive Hardware-Software Co-Configuration |pdfUrl=https://ceur-ws.org/Vol-3812/paper2.pdf |volume=Vol-3812 |authors=Florian Jost,Carsten Sinz |dblpUrl=https://dblp.org/rec/conf/confws/JostS24 }} ==Challenges in Automotive Hardware-Software Co-Configuration== https://ceur-ws.org/Vol-3812/paper2.pdf
                                Challenges in Automotive Hardware-Software
                                Co-Configuration
                                Florian Jost1,* , Carsten Sinz2
                                1
                                    Mercedes-Benz AG, Leibnitzstr. 2, Böblingen, 71032, Germany
                                2
                                    Karlsruhe University of Applied Sciences, Moltkestraße 30, 76133 Karlsruhe, Germany


                                                                       Abstract
                                                                       Car manufacturers offer their customers an enormous number of configuration options to individualize their vehicles. While
                                                                       configuration options mostly covered physical components in the past, over the last years the number of software-related
                                                                       options has increased immensely. Existing systems for car configuration should thus be optimized and extended to handle
                                                                       the shift towards more software-related features, e.g. for automatic driver assistance systems. In this article, we highlight
                                                                       different problems and properties combined systems of hardware-software configurations have to tackle in an automotive
                                                                       context.

                                                                       Keywords
                                                                       Automotive Configuration, Hardware-Software Co-Configuration, Future Challenges



                                1. Introduction                                                                                 2. State of the Art
                                Modern car manufacturers offer a vast number of config-                                         Classically, the possible configurations through which
                                uration options for their products. In the past, these op-                                      a car can be realized are represented by configuration
                                tions covered parts and functionality that were primarily                                       options. In addition to different color finishes, these can
                                based on physical components. With the ongoing elec-                                            also describe different engine designs, or optional extras
                                trification of cars, the rate of functionality implemented                                      such as an improved infotainment system. An existing
                                in software and thus also the variance in software is in-                                       order, i.e. a set of configuration options, can then be
                                creasing [1].                                                                                   translated into the physical parts that are needed to man-
                                                                                                                                ufacture the particular car instance.
                                But not only the number of configuration options is in-
                                creasing, the same holds for the complexity of their in-                                               Historically, with the increasing emergence of software
                                terdependencies. Some options are mutually dependent,                                                  functionality and the associated ECUs (electronic con-
                                others are mutually exclusive. This results in an enor-                                                trol units) in the car, the existing hardware configuration
                                mous configuration space with more than 10100 possible                                                 systems were adapted to also manage software config-
                                constructable (valid) configurations for a product line                                                urations. But, as automotive software can have a wide
                                [2]. The inherent complexity of the problem challenges                                                 variety of requirements for the installed hardware (e.g.
                                automotive manufactures in all stages of the product life-                                             sensors for autonomous driving systems), software con-
                                cycle, from development, through production, sales to                                                  figuration cannot be treated independent of the hardware
                                after-sales. Due to the increasing importance of software                                              configuration. However, this close connection is often
                                in this context, hardware-software co-configurations are                                               not reflected in current configuration systems, where
                                playing an increasingly substantial role.                                                              mostly software configuration is treated as a second con-
                                                                                                                                       figuration step, after the physical components have been
                                In this publication, we describe upcoming or already ex- selected and configured.
                                isting problems that arise in the context of increasingly
                                software-driven vehicles.                                                                              Additionally, software often comes with configurable
                                                                                                                                       parameters that can be set to different values. As an ex-
                                                                                                                                       ample, emergency call numbers differ from country to
                                                                                                                                       country and have to be set accordingly. The basic func-
                                                                                                                                       tionality of the software remains the same, independent
                                ConfWS’24: 26th International Workshop on Configuration, Sep 2–3, of the value the parameter is set to. Thus, instead of writ-
                                2024, Girona, Spain                                                                                    ing software for each possible parameter setting, an ECU
                                *
                                  Corresponding author.                                                                                runs through an additional configuration step, where
                                $ florian_benedikt.jost@mercedes-benz.com (F. Jost);
                                                                                                                                       correct parameter values are written to the ECU (special
                                carsten.sinz@h-ka.de (C. Sinz)
                                 0009-0006-9670-8856 (F. Jost); 0000-0001-9718-1802 (C. Sinz)                                         bits get set in the programmable ROM of the ECU). The
                                          © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License high-level software then can adapt its functionality by
                                          Attribution 4.0 International (CC BY 4.0).
                                    CEUR

                                          CEUR Workshop Proceedings (CEUR-WS.org)
                                    Workshop
                                    Proceedings
                                                  http://ceur-ws.org
                                                  ISSN 1613-0073
                                                                                                                                       reading the corresponding bits in the ROM. In the au-




CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings
tomotive sector, this configuration step is often called    of hardware components. This can occur as follows: In a
variant coding [3].                                         revision of an existing car series, the hardware is slightly
                                                            modified and a new software function becomes available.
Typically, in the automotive industry, configuration op-
                                                            Now, this software function could potentially also be
tions are realized through Boolean variables, so-called
                                                            provided in the older model, if the necessary hardware
codes, where each code is represented by a variable name
                                                            can be retrofitted. Checking whether such an update is
a.k.a. identifier. An option selected by a customer is then
                                                            possible (and which parts have to be exchanged) requires
reflected by setting the corresponding code to true. Be-
                                                            access to the exact configuration of the delivered car as
sides codes to register customer’s selections, internal
                                                            well as configuration systems that have knowledge about
codes are used, for example, there can be codes repre-
                                                            constraints for historic configurations, possibly going
senting spatial regions and codes indicating if the car
                                                            back to several years or even decades.
possesses left or right steering.
   The set of valid configurations is described by a set of
Boolean formulas (rules, constraints) that all have to be OTA Update. Over-the-air (OTA) software updates
satisfied in a valid order. Such constraints can express, present unique challenges for automotive manufacturers.
e.g., mutual exclusivity, as in the selection of left-hand Firstly, the vehicle’s software configuration must be fully
or right-hand steering. But often constraints are much defined in both hardware and software terms, ensuring
more evolved, encompassing many dozens of codes.            that only compatible software satisfying all dependencies
                                                            is delivered to the vehicle. Additionally, the delivered
Example:                                                    software must be correctly configured through variant
                      𝑐1 → ¬𝑐2 ∧ ¬𝑐3                        coding, based on the underlying hardware configuration.
with codes 𝑐1 , 𝑐2 , 𝑐3 . In other words, if we select code Therefore, a combined consideration of hardware and
𝑐1 , codes 𝑐2 and 𝑐3 cannot be selected.                    software is highly important

  Handling of parameters is mostly done in separate
                                                               Missing Expert. Up to day, software updates are still
systems, where valid values (or sometimes even valid
                                                               performed in repair shops by an expert. Manufacturers
combinations of values) are specified via tables listing
                                                               profit in this context from the expertise of the working
the admissible settings.
                                                               staff. Occurring errors can instantly be analyzed by a
                                                               qualified person. In the best case, the underlying error
3. Challenges                                                  can be directly fixed by the repair shop staff. Especially
                                                               in the case of OTA updates, this expertise is missing. In
Since software has become central in modern cars, the          particular, problem analysis and troubleshooting pose
question arises whether existing systems, into which the       a special challenge, as they all have to be done before
software configuration is mostly just cobbled in, still meet   delivery of the update or – for residual errors – must be
all the necessary or desired requirements.                     fixable remotely, in the worst case by a downgrade to the
   Until today, the configuration process is still mostly      previous version.
divided into two steps. First the hardware configuration,
then – on top of it – the software configuration. However,   Certification. The automotive sector is highly stan-
it is questionable whether this two-step process is still    dardized and regulated. Automotive manufacturers must
the best approach for existing and future use-cases.         guarantee that their products satisfy all kinds of stan-
   In this section, we present various challenges that       dards from different domains. The regulations classically
prevail in current hardware-centric configuration sys-       certify a vehicle to satisfy predefined security and safety
tems and might require additional consideration in future    standards. With the increasing use of driver assistant
hardware-software co-configuration systems.                  systems in the automotive sector, the certification re-
                                                             quirements, especially in software, grow. In particular,
Hardware Upgrade. Automotive manufactures re- lawmakers want to know in the future exactly which soft-
cently started to offer subscription models for features ware is delivered in which car. An example is the UN ECE
                                                                              1
that are not present at the time of sale, but can be regulation 156, describing the requirements for a soft-
retrofitted – often by a simple software switch – into ware update management system (SUMS) and the future
already delivered vehicles. For this, the manufacturers scope for type approval procedures under consideration
need the possibility to enable functions for vehicles in the of the software.
field. Typically, this also requires a check, whether the
hardware of the car supports the extended functionality.
   It might even be the case that an OEM (Original Equip-
                                                             1
ment Manufacturer) allows a retrofit including an update https://unece.org/transport/documents/2021/03/standards/un-reg
                                                               ulation-no-156-software-update-and-software-update
Frequent Updates. Software updates can be much                 software has additional constraints. In addition to the
more frequent than hardware revisions. As software is          hardware dependency, there are also complex parame-
in an increasing manner not only security but also safety      terizations (variant coding) and the need for diagnostic
relevant, software updates may have the need to be rolled      options. This raises the question of how to define soft-
out quickly. However, as software changes can impact           ware components or packages in order to be able to adopt
other components of the vehicle, an automatic validity         existing concepts.
and conformity check of the target vehicle configuration
is required. In the best case, after a fix in an existing
software package, a package manager should compute a           4. Related Work
new valid configuration, including the fixed software.
                                                             How to handle hardware/software configurations in the
                                                             automotive sector has been an active point of research
Vehicle function distribution. The distribution of and discussion for several years now [4, 5]. In a survey
functions in a vehicle and their mapping to ECUs is still of German car manufacturers, Sax et al. [6] claim that
done mostly manually. However, with the rapidly chang- new ways of checking the consistency of major, regular
ing software architectures in vehicles, the distribution software updates is an important aspect for not hindering
is getting more and more complex. To simplify the ini- fast development of new functions in the future.
tial process in development, algorithmic support is an
obvious solution. This requires a detailed specification The configuration problem in the automotive industry
and documentation of dependencies of the software to and solutions to it were already described in the early
be distributed. This initial distribution, we call it static 2000s. Sinz [7] describes a rule system based on Boolean
vehicle function distribution, can also be extended to the logic. Here, not only checking individual configurations
dynamic case, in which functions can be (re-)distributed is covered, but also ways to determine common proper-
in real-time to corresponding computing nodes. This ties of all valid configurations. Moreover, the mapping
allows an improved energy usage, as ECUs can be turned from code sets into concrete physical components is also
off and on if needed – complex algorithms might even considered. In a later publication, Sinz [8] also describes
be run in the cloud. For both use cases, a complete de- the verification of such rule systems in order to detect
scription of the hardware and software dependencies is and minimize errors at an early stage. Astesana et al. [9]
required.                                                    on the other hand, describe vehicle configurations by us-
                                                             ing a CSP framework, with Renault as a case study. More
Version Constraints. For software configurations, the recent publications also deal with the topic of classic
specific version of a software package and its dependen- configurations. Bischoff et al. [10] describes a graphical
cies are vital information. In a major software release, editor for visualizing and editing item selection rules.
dependencies might change drastically, reflecting the          In addition to the control systems mentioned above, there
changed and extended behavior of the software. How-            are other approaches to describing variability in general.
ever, version constraints are mostly documented in a           One of them is feature modeling. In this, the configura-
numeric way, e.g. via Semantic Versioning.2 Whether            tion options (features) are often represented in the form
the currently employed Boolean formalization of con-           of trees, which represent the relations between the fea-
straints is still the best way to address the problem is       tures. The analysis of feature models is often performed
questionable.                                                  with the use of SAT solvers [11]. However, analysis ap-
                                                               proaches using SMT solvers have also been part of recent
Variance over time. If software updates can still be           research [12].
carried out for older vehicles, new functionalities can also
be integrated into existing fleets if technically feasible.    In the area of classic computer systems, configurations
Determining which vehicle configurations can still be          are often found in the area of package management
supplied with new software, as well as documenting and         and dependency solving. These are mostly so-called
verifying this, is a major challenge given the enormous        component-based systems such as GNU/Linux distribu-
space of possible configurations. Enabling this variance       tions (e.g. Debian 3 ). These contain metadata for software
over larger timeframes will require new mechanisms and         packages, which the package managers utilize in their
considerations.                                                search for valid configurations. While most package man-
                                                               agers initially used ad-hoc solvers [13], nowadays more
                                                               efficient algorithms from the SAT or CSP community are
Software Packaging. In classic computer systems,
                                                               usually employed [14]. Pinckney et al. [15] recently pro-
software configuration problems are often solved with
                                                               posed a package solver, PacSolve, for NPM which uses
the help of package managers. However, automotive
2                                                              3
    https://semver.org                                             https://www.debian.org
an SMT approach instead of SAT/CSP solvers. As an                   our-insights/rethinking-car-software-and-electro
alternative to SAT and SMT, there are also publications             nics-architecture.
that describe and solve package update problems with            [6] E. Sax, R. Reussner, H. Guissouma, H. Klare, A Sur-
Answer Set Programming [16, 17].                                    vey on the State and Future of Automotive Software
                                                                    Release and Configuration Management, Technical
The distribution of different functions in the architecture
                                                                    Report 11, Karlsruher Institut für Technologie (KIT),
of a vehicle represents an enormous challenge in mod-
                                                                    2017.
ern vehicles. Ruhnau et al. [18] take a first step towards
                                                                [7] C. Sinz, Baubarkeitsprüfung von Kraftfahrzeugen
mastering this challenge by describing an ontology for
                                                                    durch automatisches Beweisen, Diplomarbeit, Uni-
function distribution, covering both static and dynamic
                                                                    versität Tübingen, 1997.
distribution.
                                                                [8] C. Sinz, Verifikation regelbasierter Konfigura-
                                                                    tionssysteme, Ph.D. thesis, Universität Tübingen,
5. Conclusion                                                       Tübingen, Germany, 2003.
                                                                [9] J.-M. Astesana, L. Cosserat, H. Fargier, Constraint-
In this paper, we have described various challenges that            based vehicle configuration: A case study, in: 2010
exist in the area of hardware/software configurations in            22nd IEEE International Conference on Tools with
the automotive sector. Many of these challenges arise               Artificial Intelligence, 2010, pp. 68–75.
from the increasing complexity and relevance of software       [10] D. Bischoff, W. Küchlin, O. Kopp, Poseidon: A
in vehicles. We have listed that research work already ex-          graphical editor for item selection rules within fea-
ists for some of the topics. For others, there are promising        ture combination rule contexts, in: PLM in Transi-
approaches from related problem areas, the suitability of           tion Times, Springer, Cham, 2023, pp. 3–14.
which we will investigate in more detail in future work.       [11] D. Benavides, S. Segura, A. Ruiz-Cortés, Automated
                                                                    analysis of feature models 20 years later: A litera-
                                                                    ture review, Information Systems 35 (2010) 615–636.
Acknowledgments                                                [12] J. Sprey, C. Sundermann, S. Krieter, M. Nieke,
                                                                    J. Mauro, T. Thüm, I. Schaefer, SMT-based vari-
The research presented in this paper was done in the con-
                                                                    ability analyses in FeatureIDE, in: Proceedings of
text of the SofDCar (19S21002) project, which is founded
                                                                    the 14th International Working Conference on Vari-
by the German Federal Ministry for Economic Affairs
                                                                    ability Modelling of Software-Intensive Systems,
and Climate Action.
                                                                    ACM, 2020.
                                                               [13] P. Abate, R. D. Cosmo, R. Treinen, S. Zacchiroli, A
References                                                          modular package manager architecture, Informa-
                                                                    tion and Software Technology 55 (2013) 459–474.
 [1] C. Fehling, M. Frank, O. Kopp, Digital sustainability     [14] P. Abate, R. D. Cosmo, G. Gousios, S. Zacchiroli,
     and digital diversification: The two key challenges            Dependency solving is still hard, but we are getting
     for automotive software development, in: IEEE                  better at it, in: 27th Intl. Conf. Software Analysis,
     18th Intl. Conf. Software Architecture Companion               Evolution and Reengineering (SANER), IEEE, 2020.
     (ICSA-C), 2021, pp. 162–166.                              [15] D. Pinckney, F. Cassano, A. Guha, J. Bell, M. Culpo,
 [2] A. Kübler, C. Zengler, W. Küchlin, Model counting              T. Gamblin, Flexible and optimal dependency man-
     in product configuration, in: Proc. of the 1st Intl.           agement via Max-SMT, in: 45th Intl. Conf. Software
     Workshop on Logics for Component Configuration,                Engineering (ICSE), 2023, pp. 1418–1429.
     LoCoCo 2010, Edinburgh, UK, 2010, pp. 44–53.              [16] M. Gebser, R. Kaminski, T. Schaub, aspcud: A linux
 [3] H. Takimizu, T. Fukaya, Y. Ito, N. Sakano, ECU                 package configuration tool based on answer set pro-
     variant coding system, Mitsubishi Motors Technical             gramming, Electronic Proceedings in Theoretical
     Review 18 (2006).                                              Computer Science 65 (2011) 12–25.
 [4] O. Media, Effective hardware-software co-design           [17] T. Gamblin, M. Culpo, G. Becker, S. Shudler, Us-
     for automotive systems, 2014. URL: https://embedd              ing answer set programming for HPC dependency
     edcomputing.com/application/automotive/effect                  solving, in: Proc. Intl. Conf. on High Performance
     ive-hardware-software-co-design-for-automotiv                  Computing, Networking, Storage and Analysis, SC
     e-systems.                                                     ’22, IEEE Press, 2022.
 [5] O. Burkacky, J. Deichmann, G. Doll, C. Knochen-           [18] J. Ruhnau, M. Sommer, J. Henle, A. Walz, S. Becker,
     hauer, Effective hardware-software co-design for               E. Sax, Ontology for vehicle function distribution,
     automotive systems, 2018. URL: https://www.mcki                in: IEEE Intl. Systems Conf. (SysCon), Vancouver,
     nsey.com/industries/automotive-and-assembly/                   Canada, 17-20 April 2023, IEEE, 2023, p. 1–6.