SYSTEM AND PROCESS FOR VEHICLE SOFTWARE CONFIGURATION COVERAGE MEASUREMENT FOR UPDATE VALIDATION
The system optimizes vehicle software configuration updates by determining optimal clusters based on ECU data, addressing network congestion and ensuring efficient software updates across diverse vehicle configurations.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-10-19
- Publication Date
- 2026-03-26
AI Technical Summary
Existing systems face challenges in efficiently updating and validating vehicle software configurations due to network congestion, delay, and packet loss, particularly in vehicles with multiple electronic control units (ECUs) having diverse software component versions, leading to suboptimal network performance.
A system and process that utilizes a network device with processors to collect data on ECU software configurations, determine clusters based on common configurations, identify optimal sets of clusters, and rank them for coverage, while considering interaction dependencies and generating a structure coverage tree to ensure efficient software updates across multiple vehicles.
The solution enables optimal vehicle software configuration updates by identifying and prioritizing clusters with the highest vehicle coverage percentage, reducing network congestion and ensuring seamless interaction among ECUs, thereby enhancing network performance.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
INTRODUCTION
[0001] The present invention relates to the adaptive monitoring of network data to optimize network performance, and in particular to a system and a process for identifying an optimal set of emergency vehicle software configurations by evaluating a vehicle configuration risk for a given emergency vehicle software update.
[0002] For general background information, reference is made here to the publications DE 10 2021 202 658 A1, DE 10 2020 214 378 A1, and US 2022 / 0 301 359 A1. DE 10 2021 202 658 A1 discloses a system for updating and validating multiple vehicle software configurations for motor vehicles, whereby the software update is divided into several software clusters. DE 10 2020 214 378 A1 discloses a structured method for updating the control units of a vehicle, whereby the software update depends on the vehicle's condition. Finally, US 2022 / 0 301 359 A1 describes a vehicle management system, whereby various clusters are provided for multiple vehicles.
[0003] Automotive manufacturers currently produce vehicles with a set of electronic control units (ECUs) that operate and interact with each other to enable functionality. Each ECU has a set of software components, with multiple versions of each software component. Examples of software components include application software components, operational software components, calibration software components, utility software components, and the like. Unique combinations of versions of the software components constitute an ECU software configuration, and a combination of all such ECU software configurations can constitute a vehicle software configuration.A population of vehicles of the same model and trim level can have different vehicle software configurations, and a population of vehicles of different models and trim levels can have common vehicle software configurations with common modules (e.g., body control modules, infotainment modules, etc.) and common ECU software configurations. The significant amount of network data transmitted to the ECUs of these vehicles could lead to network congestion, delay, packet loss, or jitter.
[0004] Although existing systems and processes for updating and validating vehicle software configurations can achieve their intended purpose, there is consequently a need for a new and improved system and new and improved processes to update and validate vehicle software configurations in order to help address these problems. SUMMARY
[0005] According to several aspects of the present invention, a network device of a system for updating and validating multiple vehicle software configurations for multiple motor vehicles is provided. The system comprises a network of multiple ECUs carried by the motor vehicles, each ECU having an ECU software configuration with multiple software components of one or more versions. The ECU software configurations generate the vehicle software configuration for the associated motor vehicles.
[0006] The network equipment comprises one or more processors that communicate with the ECUs and a non-transitory computer-readable memory (CRM) that stores instructions. The processor is programmed to collect data associated with the ECU software configurations for each of the vehicles. The processor is further programmed to determine several clusters based on the data associated with the ECU software configurations for each of the vehicles. Each cluster is associated with a subset of the vehicles that share a common vehicle software configuration. The processor is further programmed to identify several n-tuple cover points, each of which includes one or more current versions of the associated software components and one or more update versions of one or more update software components.The processor is further programmed to determine one or more optimal sets of clusters. Each optimal set of clusters is less than or equal to a total set of clusters, with each optimal set of clusters covering all of the coverage points. The processor is further programmed to rank the clusters of the optimal sets based on a vehicle coverage percentage for each cluster. The processor is further programmed to transfer the optimal set of clusters with the highest vehicle coverage percentage to the ECUs of the associated vehicles based on this cluster ranking.
[0007] According to one aspect, the processor is further programmed to determine that the software components of the ECUs are assigned to the coverage points to be updated, based on an interaction matrix dependency table, wherein the ECUs comprise a target ECU and one or more dependent ECUs.
[0008] According to another aspect, the processor is also programmed to map the clusters and their associated coverage points to each other, to generate a structure coverage tree, and to determine the optimal set of clusters based on at least the structure coverage tree.
[0009] According to another aspect, the processor is further programmed to determine a set volume by identifying each of the clusters from the optimal set with the highest coverage and adding the coverage of the related clusters that are outside the optimal sets. The processor is further programmed to divide the set volume by a total volume for all clusters to determine the cluster rankings.
[0010] According to several aspects of the present invention, a system for updating and validating multiple vehicle software configurations for multiple motor vehicles is provided. The system comprises a network of multiple ECUs carried by the motor vehicles. Each ECU has an ECU software configuration comprising multiple software components with one or more versions. The ECU software configurations generate the vehicle software configuration for the associated motor vehicles. The system further comprises a network device with one or more processors that communicate with the ECUs. The network device also includes a non-transient computer-readable memory (CRM) medium that stores instructions. The processor is programmed to collect data associated with the ECU software configurations for each of the motor vehicles.The processor is further programmed to determine multiple clusters for each of the vehicles based on the data associated with the ECU software configurations. Each cluster is assigned to a subset of the vehicles that share a common vehicle software configuration. The processor is further programmed to identify multiple n-tuple coverage points, where each coverage point includes one or more current versions of the associated software components and one or more update versions of one or more update software components. The processor is further programmed to determine one or more optimal sets of clusters based on the coverage points. Each optimal set of clusters is less than or equal to the total set of clusters, and each optimal set covers all coverage points.The processor is further programmed to classify the clusters of optimal sets based on the configured vehicle volume coverage percentage of each cluster. The processor is also programmed to transfer the optimal set of classified clusters for update validation of each software configuration.
[0011] According to one aspect, the ECUs include a control module for automatic parking assistance, an electronic brake control module and / or an electric power steering module.
[0012] According to another aspect, the processor is further programmed to determine that the software components of the ECUs are assigned to the coverage points to be updated, based on an interaction matrix dependency table, wherein the ECUs comprise a target ECU and one or more dependent ECUs.
[0013] According to another aspect, the processor is also programmed to map the clusters and their associated coverage points to each other, to generate a structure coverage tree, and to determine the optimal set of clusters based on at least the structure coverage tree.
[0014] According to another aspect, the processor is also programmed to identify the clusters for associated coverage points.
[0015] According to another aspect, the processor is also programmed to determine that the associated cluster is part of the optimal set.
[0016] According to another aspect, the processor is further programmed to determine the vehicle coverage percentage by dividing a sum of the clusters assigned to a common coverage point by a total volume for all clusters.
[0017] According to another aspect, the processor is further programmed to determine a set volume by identifying the cluster of an optimal set with the highest coverage and adding the coverage of related clusters outside the optimal sets. The processor is also programmed to divide the set volume by a total volume for all clusters.
[0018] According to several aspects of the present invention, a process for operating a system to update and validate multiple vehicle software configurations for multiple motor vehicles is provided. The system comprises a network of multiple ECUs carried by the motor vehicles. Each ECU has an ECU software configuration with multiple software components, each with one or more versions. The ECU software configurations generate the vehicle software configuration for the associated motor vehicles. The system further comprises a network device with one or more processors and a non-transient, computer-readable storage medium that stores instructions. The process includes collecting data associated with the ECU software configurations for each of the motor vehicles using the processor.The process further includes determining multiple clusters based on the data associated with the ECU software configurations for each of the vehicles using the processor, with each cluster being assigned to a subset of the vehicles that share a common vehicle software configuration. The process further includes identifying multiple n-tuple coverage points using the processor, with each coverage point comprising one or more current versions of the associated software components and one or more update versions of one or more update software components. The process further includes determining one or more optimal sets of clusters based on the coverage points using the processor. Each optimal set of clusters is less than or equal to the total set of clusters, and each optimal set of clusters covers all coverage points.The process further includes ranking the clusters of the optimal set based on a vehicle coverage percentage of each cluster using the processor. The process also includes transferring the optimal set of clusters for update validation of each software configuration using the processor.
[0019] According to one aspect, the process further includes determining that the software components of the ECUs are assigned to the coverage points to be updated, based on an interaction matrix dependency table using the processor, wherein the ECUs comprise a target ECU and one or more dependent ECUs.
[0020] According to another aspect, the process further includes mapping the clusters and their associated coverage points to each other using the processor. The process further includes generating a structure coverage tree using the processor. The process further includes determining the optimal set of clusters based on at least the structure coverage tree using the processor.
[0021] According to another aspect, the process also includes performing an optimization of a Boolean expression using the processor to determine the optimal set of clusters.
[0022] According to another aspect, the process also includes identifying each of the clusters for a corresponding version of the software components using the processor.
[0023] According to another aspect, the process also includes determining that the associated cluster is part of at least one optimal set, using the processor.
[0024] According to another aspect, the process further includes determining the vehicle coverage percentage by dividing a sum of the clusters assigned to a common coverage point by a total volume for all clusters using the processor.
[0025] According to another aspect, the process further includes determining a set volume by identifying the cluster of an optimal set with the highest coverage and adding the coverage of related clusters outside the optimal set using the processor. The process further includes dividing the set volume by the total coverage provided by all clusters, again using the processor.
[0026] Further areas of application will become apparent from the description provided here. It should be self-evident that the description and the specific examples are for illustrative purposes only and are not intended to limit the scope of protection of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The drawings described here serve only for illustrative purposes and are in no way intended to limit the scope of protection of the present invention; they show: Fig. 1 A schematic view of a non-limiting example of a system comprising a network of multiple electronic control units (ECUs) forming a vehicle software configuration carried by associated motor vehicles, the system further comprising a network device with one or more processors and a non-transitory computer-readable storage medium for updating and validating the ECUs. Fig. 2 an interaction matrix dependency table for pairwise coverage points based on two versions of software components of the ECUs of Fig. 1 are directed. Fig. 3 an interaction matrix dependency table for triple coverage points, based on three versions of software components of the ECUs of Fig. 1 are directed. Fig. 4 a schematic diagram showing the pairwise coverage points on clusters of Fig. 2 is based on the coverage by the clusters. Fig. 5. A cluster volume table that represents a volume of vehicles to be updated by an associated cluster of Fig. 3 indicates. Fig. 6. A flowchart of a non-limiting example of a process for operating the system of Fig. 1. DETAILED DESCRIPTION
[0028] With reference to Fig. 1 is a non-limiting example of a system 100 for updating and validating a vehicle software configuration 102 for one of several motor vehicles 104. Although Fig. Since 1 represents a vehicle software configuration 102 of one of the vehicles 104, each of the vehicles 104 has a vehicle software configuration that is assigned to its VIN (e.g., make, model, and year of manufacture). The system 100 comprises a network 106 with multiple ECUs 108 carried by the vehicles 104, each ECU 108 having an ECU software configuration 110. Each ECU software configuration 110 can comprise multiple software components 112 with one or more versions 114. The ECU software configurations 110 constitute the vehicle software configuration 102 for the associated vehicles 104.
[0029] In this non-limiting example, a motor vehicle 104 can have multiple ECUs 108 with a target ECU 116 and one or more dependent ECUs 118 that interact with the target ECU 116 to perform a function. Specifically, in this non-limiting example, the target ECU 116 can include an automatic parking assist (“APA”) control module, and the dependent ECUs 118 can include an electronic brake control module (EBCM), an electric power steering control module (“EPS”), and an infotainment control module (“ICM”). As detailed below, the APA can execute software that enables the automatic parking assist feature to perform the automatic parking assist functionality by interacting with the EBCM and the EPS.It is considered that other non-limiting examples of ECUs may include a body control module, an infotainment control module, or an ECU for other suitable control modules. Although the presented non-limiting example of a motor vehicle includes multiple control modules, each with a unique ECU, other non-limiting examples of a motor vehicle may include other suitable control modules and ECUs, or a single central computing platform with a single ECU containing a unique combination of versions of software components that constitute the vehicle software configuration and perform all the functionalities of the ECUs in the presented non-limiting example.
[0030] Each ECU 108 can comprise one or more software components, each software component having one or more existing versions. Continuing with the previous non-limiting example, the APA can comprise an application software component 112a with one of three existing versions 114, namely "Part No. 11", "Part No. 12", and "Part No. 13". The APA can comprise a first calibration software component 112b with one of two existing versions 114, namely "Part No. a" and "Part No. b". The APA can comprise a second calibration software component 112c with one of two existing versions 114, namely "Part No. 1x" and "Part No. 1y". Furthermore, the EBCM can comprise a second software component 112d with one of three existing versions 114, namely "Part No. 31", "Part No. 32", and "Part No. 33".The EBCM can include a first calibration software component 112e with one of two existing versions 114, namely "Part No. 3a" and "Part No. 3b". The EBCM can include a second calibration software component 112f with one of two existing versions 114, namely "Part No. 3x" and "Part No. 3y". Furthermore, the EPS can include an application software component 112g with one of three existing versions 114, namely "Part No. 41", "Part No. 42", and "Part No. 43". The EPS can include a first calibration software component 112h with one of two existing versions, namely "Part No. 4a" and "Part No. 4b". The EPS includes a second calibration software component 112i with one of two existing versions 114, namely "Part No. 4x" and "Part No. 4y". The ICM can include an application software component 112j with one of three existing versions 114, namely “Part No. 51”, “Part No. 52” and “Part No. 53”.The ICM can include a first calibration software component 112k with one of two existing versions 114, namely "Part No. 5a" and "Part No. 5b". The ICM includes a second calibration software component 1121 with one of two existing versions, namely "Part No. 5x" and "Part No. 5y". It is considered that each ECU can include one or more software components with more than one version. As detailed below, the system 100 can update or replace the versions 114 of one or more software components.
[0031] System 100 further comprises a power supply unit 120, which includes one or more processors 122 that communicate with the ECUs 108 to update the ECUs by exchanging all or part of the versions 114 of the software components. The power supply unit 120 further comprises a non-transitory computer-readable storage medium 124 (CRM) that stores instructions.
[0032] The processor 122 is programmed to collect data associated with the ECU software configurations 110 for each of the motor vehicles 104. The processor 122 is further programmed to determine multiple clusters based on the data associated with the ECU software configurations 110 for each of the motor vehicles 104, with each cluster being assigned to a subset of the motor vehicles 104 with a common vehicle software configuration 102.
[0033] The processor 122 is further programmed to handle multiple n-tuple cover points 126 ( Fig. 2 and Fig. 3) to identify, wherein each of the cover points 126 comprises one or more current versions 114 of the associated software components 112 and one or more update versions 114 of one or more update software components. The processor 112 is configured to determine the software components 112 of the ECUs 108 that are associated with n-tuple cover points to be updated, based on an interaction matrix dependency table. The system 100 updates a target ECU 116 in response to the system 100's determination that the updated target ECU 116 functions correctly with the software components of the dependent ECUs 118. The n-tuple is the number of required communications between the target ECU 116 and the dependent ECUs 118.For example, 3 dependent ECUs 118 can have 2-tuple, 3-tuple or a maximum of 4-tuple ECU application software interaction coverage points depending on the validation requirements of the updating ECU(s) 116 and the dependent ECUs 118.
[0034] Continuing from the previous example, System 100 can use the updated version Part No. 14 to update the APA and validate version Part No. 14 by determining that version Part No. 14 works correctly with all other dependent ECUs 118. As in the non-limiting example of Fig. As shown in Figure 2, version part no. 14 can be validated on the basis of seven (7) pairwise coverage points PCP1 to PCP9, wherein version part no. 14 is paired with associated versions 114 of software components 112 of the dependent ECUs 118 that interact with the target ECU 116. As shown in Fig. As shown in Figure 3, version Part No. 14 can be validated on the basis of twenty-seven (27) triple coverage points TCP1 to TCP27. It is considered that the n-tuple coverage points can be more than triple coverage points, with each coverage point being assigned to other suitable numbers of software components.
[0035] The processor 122 is further programmed to determine one or more optimal sets of clusters, wherein each optimal set has a number of clusters less than or equal to a total number of clusters, and wherein each optimal set further covers all of the n-tuple coverage points. In particular, as in the non-limiting example of Fig. As shown in Figure 4, the processor 122 is further programmed to map the clusters and their associated coverage points to each other, generate a structure coverage tree, and determine the optimal set of clusters based on at least the structure coverage tree. The processor 122 is also programmed to perform an optimization of a Boolean expression to determine the optimal set of clusters. Continuing with the previous non-limiting example, pairwise coverage points PCP1 to PCP7 are represented by a Boolean equation 1. Exemplary clusters c1 to c7 are mapped to pairwise coverage points PCP1 to PCP7, as expressed by Boolean equation 2, and based on the structure coverage tree ( Fig. 4) Two (2) optimal sets [c1, c3, c4] and [c3, c4, c6] comprise only clusters c1, c3, c4, c6, and are represented by Boolean equation 3: PCP1&PCP2&PCP3&PCP4&PCP5&PCP6&PCP7 (c1‖c6)&(c2‖c4‖c5)&(c3)&(c1‖c3)&(c2‖c4)&(c3‖c7)&(c4) [c1&c3&c4]‖[c3&c4&c6]
[0036] Processor 122 is further programmed to optionally perform a comprehensive vehicle volume coverage analysis of this selected optimal cluster set by classifying each cluster of the selected optimal set based on a vehicle coverage percentage. In particular, Processor 122 is programmed to identify each of the clusters associated with each common coverage point. Continuing the previous non-limiting example and as described in Fig. As shown in Figure 4, cluster c1 is assigned to cluster c6 for the shared coverage point PCP1 and is further assigned to cluster c3 for the shared coverage point PCP4. Cluster c2 is assigned to clusters c4 and c5 for the shared coverage point PCP2 and is further assigned to cluster c4 for the shared coverage point PCP5. Cluster c3 is assigned to cluster c1 for the shared coverage point PCP4 and is further assigned to cluster c7 for the shared coverage point PCP6. Cluster c4 is assigned to clusters c2 and c5 for the shared coverage point PCP2 and is further assigned to cluster c2 for the shared coverage point PCP5. Cluster c5 is assigned to clusters c2 and c4 for the shared coverage point PCP2. Cluster c6 is assigned to cluster c1 for the shared coverage point PCP1. Cluster c7 is assigned to cluster c3 for the shared coverage point PCP6.
[0037] The processor 122 is further programmed to determine that each cluster is part of the selected optimal sets (Eq. 3), and the set volume information for each of the clusters ( Fig. 5) to execute, which are part of one or more optimal sets, with the volume information being retrieved, for example, from CRM 124. In particular, the volume or number of vehicles requiring updates by clusters c1 to c7 is determined. Processor 122 is programmed to identify the clusters assigned to each common coverage point ( Fig. 4), the cluster with the highest volume ( Fig. 5) to determine, and to add the volumes of the other clusters to the highest volume to determine a set volume. Processor 122 is further programmed to determine the vehicle coverage percentage by dividing the set volume by a total volume for all clusters. Continuing with the previous non-limiting example and as based on equations 1-3 and Fig. 4 and Fig. 5. Processor 122 can be programmed to determine that the first cluster c1 from the selected optimal set and the sixth cluster c6 are assigned to the common coverage point PCP1. Processor 122 can further be programmed to determine that the first cluster c1 has a volume of 70 vehicles. Processor 122 can further be programmed to determine that the sixth cluster c6 is not part of the selected optimal set and is not assigned to any of the other clusters of the selected optimal set for any other coverage points, and that the sixth cluster c6 has a volume of 30 vehicles. Processor 122 adds the volume of 30 vehicles assigned to the sixth cluster c6 to the volume of 70 vehicles assigned to the first cluster c1 to determine a set volume of 100 vehicles for the optimal sets that cover the common coverage point PCP1.Processor 122 determines a vehicle coverage percentage of 20.9% by dividing the set volume of 100 vehicles by a total volume of 480 vehicles assigned to clusters c1 to c7. Furthermore, Processor 122 can be programmed to determine the next cluster from the selected optimal set, e.g., the third cluster c3, and all assigned clusters with respect to the coverage points, yielding the first cluster c1 and the seventh cluster c7. Given that the first cluster c1 is part of the selected optimal set and has its own classification, Processor 122 considers the remaining seventh cluster c7 to be assigned to the third cluster c3 with respect to the common coverage point PCP6.Processor 122 determines that the third cluster, c3, has a volume of 120 vehicles and that the seventh cluster, c7, is not part of the selected optimal set and is not assigned to any other clusters at any other coverage points. The processor adds the volume of 100 assigned to cluster c7 to the volume of 120 assigned to cluster c3 to determine a set volume of 220 for optimal sets covering the common coverage point PCP6. Processor 122 determines a vehicle coverage percentage of 45.8% by dividing the set volume of 220 by a total volume of 480 assigned to clusters c1 through c7. Processor 122 can also be programmed to determine that the fourth cluster, c4, is part of the selected optimal set and all assigned clusters with respect to coverage points c2 and c5.Processor 122 determines that the second cluster c2 and the fifth cluster c5 are not assigned to any other clusters of the selected optimal set with respect to any of the coverage points and have volumes of 30 vehicles and 100 vehicles, respectively. The processor adds the volume of 30 assigned to cluster c2 and the volume of 30 assigned to cluster c4 to the volume of 100 assigned to cluster c5 to determine a set volume of 260 for optimal sets covering the common coverage point PCP2. Processor 122 determines a vehicle coverage percentage of 33.3% by dividing the set volume of 160 by a total volume of 480 assigned to clusters c1 through c7.The processor 122 can also be programmed to identify a cluster that is not part of the selected optimal set but is assigned to several clusters of the selected optimal set with respect to different coverage points. It is then combined with the cluster that has the maximum set volume. Based on the vehicle coverage percentages of the clusters, the processor can classify the clusters and perform a risk analysis to update the ECUs with respect to the operational vehicle configurations.
[0038] With reference to now Fig. 6 will be a non-limiting example of a process 200 for operating the system 100 of Fig. 1 provided. The process 200 begins at block 202 by collecting data assigned to the ECU software configurations 110 for each of the motor vehicles 104 using the processor 122.
[0039] In block 204, process 200 further includes determining the clusters based on the data assigned to the ECU software configurations 110 for each of the motor vehicles 104 using processor 122, wherein each of the clusters is assigned to a subset of the motor vehicles 104 with a common vehicle software configuration.
[0040] In block 206, process 200 further includes identifying multiple n-tuple cover points using processor 122, wherein each cover point includes one or more current versions of the associated software components 112 and one or more update versions of one or more update software components.
[0041] In block 208, process 200 further includes determining one or more optimal sets of clusters using processor 122, where the number of clusters in each optimal set is less than or equal to the total number of all clusters. Each optimal set of clusters covers all software components and their associated coverage points.
[0042] For block 210, process 200 further comprises classifying the clusters of optimal sets based on a vehicle coverage percentage of each cluster using processor 122. Specifically, process 200 comprises determining that the software components 112 of the ECUs 108 are assigned to the coverage points to be updated, based on an interaction matrix dependency table using processor 122, where the ECUs 108 comprise a target ECU 116 and one or more dependent ECUs 118. Process 200 further comprises mapping the clusters and their associated coverage points to each other by generating a structural coverage tree and identifying each cluster for its associated versions of software components using processor 122. Process 200 further comprises determining the optimal set of clusters based on at least the structural coverage tree using processor 122.Process 200 further includes determining that the associated cluster is part of one or more of the optimal sets, using processor 122. In this non-limiting example, process 200 includes performing an optimization of a Boolean expression using processor 122 to determine one or more of the optimal sets of clusters.
[0043] Process 200 further comprises determining the vehicle coverage percentage by dividing the sum of the clusters assigned to a common coverage point by a total volume for all clusters using Processor 122. Specifically, Process 200 further comprises identifying two or more clusters assigned to a common coverage point and classified into two or more optimal sets of clusters using Processor 122. Process 200 further comprises determining a set volume by identifying the cluster from an optimal set with the highest coverage and adding the coverage of the clusters from the other optimal sets using Processor 122. Processor 200 further comprises dividing the set volume (e.g.,a sum of the clusters that are assigned to a common of the coverage points) by a total volume provided by the total volume of the clusters, using processor 122.
[0044] In block 212, process 200 further includes transferring the optimal set of clusters with the highest vehicle coverage percentage to the associated ECUs of the motor vehicles using processor 122.
Claims
[1] System (100) for updating and validating multiple vehicle software configurations (102) for multiple motor vehicles (104), the system (100) comprising: a network (106) with multiple ECUs (108) carried by the motor vehicles (104), each ECU (108) having an ECU software configuration (110) with multiple software components (112) of at least one version, and the ECU software configurations (110) forming the vehicle software configurations (102) for the associated motor vehicles (104); and a power supply unit (120) with at least one processor (122) that communicates with the multiple ECUs (108) and a non-transitory computer-readable storage medium that stores instructions, such that the at least one processor (122) is programmed to: to collect data associated with the ECU software configurations (110) for each of the motor vehicles (104); to determine several clusters based on the data assigned to the ECU software configurations (110) for each of the motor vehicles (104), wherein each of the clusters is assigned to a subset of the motor vehicles (104) with a common vehicle software configuration (102); to identify several n-tuple cover points, wherein each of the cover points includes at least one current version of the associated software components (112) and at least one update version of at least one update software component; to determine at least one optimal set of clusters based on the coverage points, wherein each of the optimal sets of clusters is less than or equal to a total set of clusters, and each of the optimal sets covers all coverage points; to classify the clusters of at least one optimal set based on a vehicle coverage percentage of each of the clusters; and to transfer the optimal set of clusters with the highest vehicle coverage percentage to the associated ECUs (108) of the associated motor vehicles (104) based on a classification of the clusters. [2] System (100) according to claim 1, wherein the multiple ECUs (108) comprise a control module for automatic parking assistance, an electronic brake control module and / or an electric power steering module. [3] System (100) according to claim 1, wherein the at least one processor (122) is further programmed to determine that the software components (112) of the multiple ECUs (108) are assigned to the coverage points to be updated, on the basis of an interaction matrix dependency table, wherein the multiple ECUs (108) comprise a target ECU (116) and at least one dependent ECU (118). [4] System (100) according to claim 3, wherein the at least one processor (122) is further programmed to: to map the clusters and their associated coverage points to each other; to generate a structure cover tree; and to determine the optimal set of clusters based on at least the structure coverage tree. [5] System (100) according to claim 4, wherein the at least one processor (122) is further programmed to identify each of the clusters for an associated of the coverage points. [6] System (100) according to claim 5, wherein the at least one processor (122) is further programmed to determine that the associated cluster is part of the at least one optimal set. [7] System (100) according to claim 6, wherein the at least one processor (122) is further programmed to determine the vehicle coverage percentage by dividing a sum of the clusters that are assigned to a common coverage point by a total volume for all clusters. [8] System (100) according to claim 7, wherein the at least one processor (122) is further programmed to: to determine a set volume by identifying the cluster of an optimal set with the highest coverage and adding a coverage of the clusters of the other optimal sets; and Divide the set volume by a total volume for all clusters. [9] Process for operating a system (100) to update and validate multiple vehicle software configurations (102) for multiple motor vehicles (104), wherein the system (100) comprises a network (106) with multiple ECUs (108) carried by the motor vehicles (104), each of the ECUs (108) having an ECU software configuration (110) with multiple software components (112) of at least one version, and the ECU software configuration (110) of the multiple ECUs (108) forming the vehicle software configurations (102) for the associated motor vehicles (104), and the system (100) further comprises a network device (120) with at least one processor (122) and a non-transitory computer-readable storage medium storing instructions, wherein the process comprises: Collecting data associated with the ECU software configurations (110) for each of the motor vehicles (104) using the at least one processor (122); Determining multiple clusters based on the data assigned to the ECU software configurations (110) for each of the motor vehicles (104) using the at least one processor (122), wherein each of the clusters is assigned to a subset of the motor vehicles (104) with a common vehicle software configuration (102); Identifying multiple n-tuple cover points using the at least one processor (122), wherein each of the cover points includes at least one current version of the associated software components (112) and at least one update version of at least one update software component; Determining at least one optimal set of clusters based on the coverage points using the at least one processor (122), wherein each of the optimal sets of clusters is less than or equal to a total set of clusters, and each of the at least one optimal set of clusters covers all of the coverage points; Ranking the clusters of the at least one optimal set based on a vehicle coverage percentage of each of the clusters using the at least one processor (122); and Transferring the optimal set of clusters for validation and then to the associated ECUs (108) of the associated motor vehicles (104) using the at least one processor (122). [10] Process according to claim 9, further comprising determining that the software components (112) of the multiple ECUs (108) are assigned to the coverage points to be updated, based on an interaction matrix dependency table using the at least one processor (122), wherein the multiple ECUs comprise a target ECU (116) and at least one dependent ECU (118).
Citation Information
Patent Citations
Apparatus and method for controlling updates of ECUs of a vehicle
DE102020214378A1
Computer-implemented method and device for the automated updating of a communication unit of a vehicle control unit
DE102021202658A1
Vehicle management apparatus, vehicle management method, and computer readable recording medium
US20220301359A1