Software Update Methodologies for Feature-Based Product Lines: A Combined Design Approach
Abstract
:1. Introduction
- Section 2 covers an overview of the emerging vehicle architectures and the challenges in dynamically updating selective software modules.
- Section 3 presents a summary of the related work on over-the-air software updates.
- Section 4 provides a summary of our proposed Merkle-tree-based approach to update software modules that are seamlessly deployed to the vehicle.
- Section 5 presents how our approach to updating software modules can be expanded to address the solution space of feature-based product line engineering, as well as explains how the Merkle tree can be designed based on the dependency among the software modules.
- Section 6 shows the results of our experiments.
- Section 7 concludes this paper with final remarks.
2. Background
3. Related Studies
4. Merkle Tree Software-Based Approach
- The image software, SWMi, is stored in the image repository (ImgR).
- The ImgR provides the hash value of the software image, Hi (which is the output of hash (=SWMi)), along with additional manifest data for the OEM repository (OemR). These data are used to generate the signature.
- The OemR, which holds complete information about the vehicle, ECUs, and software modules, updates the corresponding Merkle tree to calculate the root and the supplementary vehicle authentication information (SVAI), . represents the authentication path that allows the ECU to reconstruct the Merkle tree root, which is a sequence of hash values corresponding to the siblings of the nodes along the path from the leaf node (the software module being updated) to the top root.
- The first set of hash results of the software images represents the leaf nodes in the hash tree at height 0.
- These nodes are combined in pairs to provide the first combined hash nodes. The value of the parent node is the hash of the concatenation of 2 child nodes’ hash (left ‖ right), where concatenation is represented by ‖.
- The hash results are further combined in pairs to an intermediate-level hash results. These intermediate-level hash results are repeatedly paired and combined until only a single combined hash result remains. This is the Merkle tree root.
- Using the private key assigned to the ECU where the software module is deployed, OemR signs the Merkle tree root to create the signature, , of the software image.
- OemR provides the generated signature and SVAI {, } to ImgR.
- OemR constructs the vehicle package containing the manifest data for the software images to be installed and then sends it to the OTA master, typically located in the telematics or gateway modules of the vehicles, wirelessly connected to the OEM repositories via wireless channels such as Wi-Fi or cellular communications.
- ImgR sends the software image appended with the signature and SVAI.
- Upon receiving the software image, Ecu reconstructs the Merkle tree with the hash of the received software image and the SVAI. It then determines whether the root tree is the same as the one received from the ImgR (after decrypting the received value with the public key of the ECU). Once verified, the ECU stores the value of the updated node, SVAI, and root node in the Merkle tree in a secure location.
5. Proposed Method
5.1. Feature-Based PLE Model Extension for Software Module Updates
5.2. Methodology on Designing Merkle Trees for Software Updates
- Defining a strategy for metric collection: this process entails creating a blueprint for collecting specific metrics that are in harmony with the OEM architecture to identify software module dependencies;
- Analyzing the behavior of selected metrics and establishing a method for assessing the coupling metrics between software modules;
- Evaluating the proposed method through practical experimentation.
- Domain or functionality: powertrain, chassis, infotainment, etc.;
- Safety level: QM, ASIL-A; through ASIL-D;
- Security relevance
- Role or type: diagnostics, calibration, OS, hardware dependency, sensors, actuators, etc.
- In order to perform a broad and inclusive analysis, the system is defined as follows:
- SW = {SW1, …, SWN} is a set of software modules, considering N software modules. M = {M1, …, Mm} is a set of metrics, considering m attributes.
- W = {W1,1, …, Wm,N} is the weight of the metric corresponding to the software module.
- The coupling, CM(i,j), for each software module SWi is given by:
- The coupling of all software modules is formulated as follows:
- SWM1 and SWM2 are tightly coupled and reside in different ECUs;
- SWM1 and SWM3 are tightly coupled and reside in the same ECU;
- SWM1 and SWM4 are coupled and reside in different ECUs and different subsystems;
- SWM4 and SWM5 are tightly coupled and reside in an ECU and iCloud;
- Other SWM combinations (e.g., SWM2 and SWM3) are not coupled and reside in different ECUs.
6. Experimental Evaluation
- N is the number of software modules in the system.
- SW = SW1, …, SWN: SWi is one of the software modules to be updated in an ECU.
- MT is the Merkle tree structure, and MT[x][y] is the node at height x and index y.
- M is the number of subtrees in the system.
- MTs = MTs1, …, MTsM: MTsj is one of the subtrees in the system,
- N = N1 + …+ NM: Nj is the number of the software modules in subtree MTsj.
- Hi is the hash value of the software cluster SWi image, and ‖Hi‖ is the size of Hi in bytes.
- HT is the Merkle tree height. The height at the root node is equal to log2(N).
- HTs is the Merkle subtree height. The height at the root node is equal to log2(Nj).
7. Conclusions
8. Patents
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
ADAS | Advanced driver assistance system |
E/E | Electrical/electronic |
ECU | Electronic control unit |
ImgR | Image repository |
MT-SOTA | Merkle-tree-based software updates over the air |
OEM | Original equipment manufacturer |
OemR | OEM repository |
OtaM | OTA master |
PLE | Product line engineering |
SOA | Service-oriented architecture |
SOTA | Software updates over the air |
SVAI | Supplementary vehicle authentication information |
References
- The Future of Automotive Computing: Cloud and Edge, In McKinsey & Company. Available online: https://www.mckinsey.com/industries/semiconductors/our-insights/the-future-of-automotive-computing-cloud-and-edge (accessed on 1 April 2024).
- Bazzi, A.; Shaout, A.; Ma, D. MT-SOTA: A Merkle-Tree-Based Approach for Secure Software Updates over the Air in Automotive Systems. Appl. Sci. 2023, 13, 9397. [Google Scholar] [CrossRef]
- Bazzi, A.; Shaout, A.; Ma, D. A Novel Variability-Rich Scheme for Software Updates of Automotive Systems. IEEE Access 2024, 12, 79530–79548. [Google Scholar] [CrossRef]
- Dixon, R. Evolution of New EE Architecture, S&P Global. Available online: https://autotechinsight.ihsmarkit.com/shop/product/5003328/evolution-of-new-ee-architecture-october-2022 (accessed on 10 January 2024).
- Liu, B.; Betancourt, V.; Zhu, Y.; Becker, J. Towards an On-Demand Redundancy Concept for Autonomous Vehicle Functions using Microservice Architecture. In Proceedings of the IEEE International Symposium on Systems Engineering (ISSE), Virtual Conference, 12 October–12 November 2020; pp. 1–5. [Google Scholar]
- Lotz, J.; Vogelsang, A.; Benderius, O.; Berger, C. Microservice Architectures for Advanced Driver Assistance Systems: A Case-Study. In Proceedings of the IEEE International Conference on Software Architecture Companion (ICSA-C), Hamburg, Germany, 25–25 March 2019; pp. 45–52. [Google Scholar]
- Obergfell, P.; Kugele, S.; Sax, E. Model-Based Resource Analysis and Synthesis of Service-Oriented Automotive Software Architectures. In Proceedings of the ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS), Munich, Germany, 15–20 September 2019; pp. 128–138. [Google Scholar]
- Berger, C.; Nguyen, B.; Benderius, O. Containerized Development and Microservices for Self-Driving Vehicles: Experiences & Best Practices. In Proceedings of the IEEE International Conference on Software Architecture Workshops (ICSAW), Gothenburg, Sweden, 5–7 April 2017; pp. 7–12. [Google Scholar]
- Becker, M.; Zhonghai, L.; Chen, D.-J. Towards QoS-Aware Service-Oriented Communication in E/E Automotive Architectures. In Proceedings of the 44th Annual Conference of the IEEE Industrial Electronics Society, Washington, DC, USA, 21–23 October 2018; pp. 4096–4101. [Google Scholar]
- AUTOSAR. Adaptive Release R23-11. 2023. Available online: https://www.autosar.org/search?tx_solr%5Bfilter%5D%5B0%5D=category%3AR23-11&tx_solr%5Bfilter%5D%5B1%5D=platform%3AAP&tx_solr%5Bq%5D= (accessed on 1 May 2024).
- Stellantis Presents Its Software Strategy, Stellantis. Available online: https://www.stellantis.com/content/dam/stellantis-corporate/investors/events/stellantis-sw-day/Software_Day_2021_Presentation_final.pdf (accessed on 1 August 2024).
- Dahad, N. Mercedes-Benz Shows OS Central to Delivery of Future Software-Driven Cars. Available online: https://www.embedded.com/mercedes-benz-shows-os-central-to-delivery-of-future-software-driven-cars/ (accessed on 1 August 2024).
- Virtual SDV Symposium. 2023. Available online: http://www.vector.com/sdv-symposium/ (accessed on 1 August 2024).
- Bass, L.; Weber, I.; Zhu, L. DevOps: A Software Architect’s Perspective; Addison-Wesley Professional: London, UK, 2015. [Google Scholar]
- Kang, K.C.; Lee, J.; Donohoe, P. Feature-oriented product line engineering. IEEE Softw. 2002, 19, 58–65. [Google Scholar] [CrossRef]
- Apel, S.; Batory, D.; Kästner, C.; Saake, G. Feature-Oriented Software Product Lines; Springer: Berlin/Heidelberg, Germany, 2013. [Google Scholar]
- Kuppusamy, T.K.; DeLong, L.A.; Cappos, J. Uptane: Security and Customizability of Software Updates for Vehicles. IEEE Veh. Technol. Mag. 2018, 13, 66–73. [Google Scholar] [CrossRef]
- Steger, M.; Boano, C.A.; Niedermayr, T.; Karner, M.; Hillebrand, J.; Roemer, K.; Rom, W. An Efficient and Secure Automotive Wireless Software Update Framework. IEEE Trans. Ind. Informatics 2018, 14, 2181–2193. [Google Scholar] [CrossRef]
- Ghosal, A.; Halder, S.; Conti, M. STRIDE: Scalable and Secure Over-The-Air Software Update Scheme for Autonomous Vehicles. In Proceedings of the IEEE International Conference on Communications (ICC), Dublin, Ireland, 7–11 June 2020; pp. 1–6. [Google Scholar]
- Mansour, K.; Farag, W.; ElHelw, M. AiroDiag: A sophisticated tool that diagnoses and updates vehicles software over air. In Proceedings of the IEEE International Electric Vehicle Conference, Greenville, SC, USA, 4–8 March 2012; pp. 1–7. [Google Scholar]
- Mayilsamy, K.; Ramachandran, N.; Raj, V.S. An integrated approach for data security in vehicle diagnostics over internet protocol and software update over the air. Sci. Direct-Comput. Electr. Eng. 2018, 7, 578–593. [Google Scholar] [CrossRef]
- Suzuki, N.; Hayashi, T.; Kiyohara, R. Data Compression for Software Updating of ECUs. In Proceedings of the IEEE 23rd International Symposium on Consumer Technologies, Ancona, Italy, 19–21 June 2019; pp. 304–307. [Google Scholar]
- Bogdan, D.; Bogdan, R.; Popa, M. Delta flashing of an ECU in the automotive industry. In Proceedings of the IEEE 11th International Symposium on Applied Computational Intelligence and Informatics, Timisoara, Romania, 12–14 May 2016; pp. 503–508. [Google Scholar]
- NIST FIPS 186-4; Digital Signature Standard (DSS). U.S. National Institute of Standards and Technology: Gaithersburg, MD, USA, 3 February 2023.
- AUTOSAR CP R23-11; Explanation of Application Interfaces of the Chassis Domain. Classic Platform Release R23-11. 2023. Available online: https://www.autosar.org/fileadmin/standards/R23-11/CP/AUTOSAR_CP_EXP_AIChassis.pdf (accessed on 1 August 2024).
- IEEE Std 1471-2000; IEEE Recommended Practice for Architectural Description for Software-Intensive Systems. The Institute of Electrical and Electronics Engineers, Inc.: New York, NY, USA, 2000; pp. 1–29.
- Fenton, N.; Bieman, J. Software Metrics: A Rigorous and Practical Approach, 3rd ed.; CRC Press, Inc.: Boca Raton, FL, USA, 2014. [Google Scholar]
- Bushong, V.; Abdelfattah, A.S.; Maruf, A.A.; Das, D.; Lehman, A.; Jaroszewski, E.; Coffey, M.; Cerny, T.; Frajtak, K.; Tisnovsky, P.; et al. On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study. Appl. Sci. 2021, 11, 7856. [Google Scholar] [CrossRef]
- Durisic, D.; Staron, M.; Nilsson, M. Measuring the size of changes in automotive software systems and their impact on product quality. In Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement (Profes ’11), Torre Canne Brindisi, Italy, 20–22 June 2011; Association for Computing Machinery: New York, NY, USA, 2011; pp. 10–13. [Google Scholar]
- Gupta, V.; Chhabra, J.K. Package Coupling Measurement in Object-Oriented Software. Comput. Sci. Technol. 2009, 24, 273–283. [Google Scholar] [CrossRef]
- Infineon Technologies TC4xx Evaluation Board. Available online: https://www.infineon.com/cms/en/product/microcontroller/32-bit-tricore-microcontroller/32-bit-tricore-aurix-tc4x/ (accessed on 20 April 2024).
- Infineon MemTool on-chip Flash Programming. Available online: https://www.infineon.com/cms/en/tools/aurix-tools/free-tools/infineon/ (accessed on 20 April 2024).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Bazzi, A.; Shaout, A.; Ma, D. Software Update Methodologies for Feature-Based Product Lines: A Combined Design Approach. Software 2024, 3, 328-344. https://doi.org/10.3390/software3030017
Bazzi A, Shaout A, Ma D. Software Update Methodologies for Feature-Based Product Lines: A Combined Design Approach. Software. 2024; 3(3):328-344. https://doi.org/10.3390/software3030017
Chicago/Turabian StyleBazzi, Abir, Adnan Shaout, and Di Ma. 2024. "Software Update Methodologies for Feature-Based Product Lines: A Combined Design Approach" Software 3, no. 3: 328-344. https://doi.org/10.3390/software3030017
APA StyleBazzi, A., Shaout, A., & Ma, D. (2024). Software Update Methodologies for Feature-Based Product Lines: A Combined Design Approach. Software, 3(3), 328-344. https://doi.org/10.3390/software3030017