Vehicle App Supervision for Mode-Based Execution Sequencing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing vehicle computing architectures fail to effectively manage the execution of software applications, compromising the safety and reliability of vehicle operations by wasting computational resources on applications not related to the current operational state and failing to ensure proper sequencing of application launches based on operational dependencies.
Innovation Solution
A system manages the execution of software applications on vehicle computing devices by determining operational states, disabling irrelevant applications, and ensuring proper sequencing and launch delays based on operational dependencies, particularly for low-level controller units with safety-critical hardware, to conserve computational resources and enhance safety and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all software applications are executed on vehicle computing devices, then functional completeness is improved, but computational resource waste increases and safety reliability deteriorates
Solution Approach 1:
The patent segments software applications into different groups based on their operational dependencies and criticality levels. A supervisor application manages multiple worker applications, separating them into distinct execution contexts. This segmentation allows the system to selectively execute only the necessary application groups for each operational state, avoiding waste of computational resources on irrelevant applications while maintaining functional completeness through coordinated launch of required applications.
2Device complexity
If software applications are launched without sequencing management, then system complexity is reduced, but operational reliability deteriorates due to improper dependencies
Solution Approach 1:
The supervisor application performs preliminary actions by establishing the correct launch sequence for worker applications based on their operational dependencies. Before worker applications execute, the supervisor configures and manages their launch order, ensuring that applications with dependencies are started in the proper sequence. This preliminary sequencing management maintains operational reliability without significantly increasing system complexity.
3Adaptability or versatility
If computational resources are allocated to all applications, then application availability is improved, but memory contention increases and system performance deteriorates
Solution Approach 1:
The patent implements dynamic resource allocation where the supervisor application adjusts which worker applications are active based on the current operational state of the vehicle. Rather than statically allocating resources to all applications, the system dynamically enables or disables worker applications as needed, ensuring that only relevant applications consume computational resources. This dynamic approach maintains application availability when needed while preventing memory contention and performance degradation by limiting active applications to those required for the current operational context.
Data Source
AI summary
Techniques for supervised execution of software applications on a vehicle computing device. In some cases, an example method may include receiving a first request to operate a vehicle in a first operational mode. The method may further include determining that the first operational mode is associated with a first set of software applications comprising a first software application. The method may further include based at least in part on receiving the first request, initiating execution of the first software application. The method may further include, based at least in part on receiving the first request and determining that a second software application is outside the first set, at least one of stopping execution of the second software application or refraining from initiating execution of the second software application.


