Middleware System for Vehicle Controller Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software engineering for vehicle controllers is complex and time-consuming, requiring significant expertise and resources due to the need for manual integration and conversion of designs into executable binary files, often taking weeks and being error-prone.
Innovation Solution
A modular middleware system with configuration tools that allows for rapid prototyping and simplified integration, enabling users to select hardware and peripherals, generate models, and compile binary files without advanced software knowledge, using a hybrid-deterministic architecture for efficient controller modeling and execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional third-party tools (e.g., AUTOSAR) are used to separate software into layers, then separation of concerns is achieved, but device complexity and difficulty of operation increase significantly
Solution Approach 1:
The patent introduces a middleware system as an intermediary layer between the application layer and the operating system/hardware layer. This middleware provides standardized interfaces and abstractions that enable separation of concerns without requiring complex configuration tools. The middleware acts as a mediator that simplifies the interaction between different software components while maintaining clear layer boundaries.
Solution Approach 2:
The middleware system is designed to be universal and platform-agnostic, providing a common interface that works across different hardware platforms and operating systems. This universality eliminates the need for platform-specific tools and reduces complexity by providing a single, standardized approach to software-layer separation that can be applied across multiple contexts.
2Reliability
If traditional third-party tools are used for software integration, then layer abstraction is achieved, but ease of operation deteriorates due to required expertise and learning time
Solution Approach 1:
The middleware system enables self-service by providing automated code generation and configuration capabilities. The system includes tools that automatically generate the necessary software layers and interfaces based on high-level specifications, eliminating the need for manual integration and reducing the expertise required. The self-service nature of the system allows developers to work with simpler abstractions while the complex integration tasks are performed automatically.
3Adaptability or versatility
If manual integration and conversion of designs into executable binary files is performed, then customization is possible, but productivity decreases due to time-consuming processes
Solution Approach 1:
The middleware system performs preliminary actions by pre-defining standardized interfaces, communication protocols, and integration patterns. These preliminary configurations are built into the middleware framework, allowing specific applications to be developed more quickly by leveraging the pre-established infrastructure. The system prepares the necessary software layers and interfaces in advance, reducing the time required for manual integration and conversion to executable code.
4Adaptability or versatility
If traditional software engineering approaches are used, then design flexibility is maintained, but loss of time increases due to weeks-long integration processes
Solution Approach 1:
The patent segments the software architecture into distinct, manageable layers with well-defined interfaces. The middleware system divides the complex integration task into smaller, independent modules that can be developed, tested, and integrated separately. This segmentation allows design flexibility to be maintained at each layer while significantly reducing the overall integration time through modular development and automated assembly of the complete system.
Data Source
AI summary
A method includes receiving a first input indicating at least a selected controller type and generating, based on the first input, a model that represents a controller corresponding to the selected controller type. The method also includes receiving a second input indicating at least one functional aspect of the selected controller type, updating, based on the second input, the model to represent the at least one functional aspect of the selected controller type, and compiling, using the model, a binary file that represents, at least, the at least one functional aspect of the selected controller type. The method also includes uploading the binary file to a controller corresponding to the selected controller type.


