ADAS State Machine Architecture for Readable Reusable Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current advanced driver-assistance systems (ADAS) face challenges in managing complex software structures, leading to increased complexity, reduced readability, and decreased reusability of code.

Innovation Solution

The proposed solution involves structuring vehicular driving assistance systems using a modular, service-oriented architecture that separates state transitions and processing from the state machine, enhancing readability and reusability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a monolithic software structure is used in ADAS, then the system can be implemented, but the code complexity increases and readability decreases

Engineering Contradiction:
Improvesoftware structure complexityVSAvoidcode readability
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent applies segmentation by dividing the ADAS software into distinct modular components: state machine module, state transition module, and output processing module. Each module has a specific responsibility, allowing the complex software to be managed through smaller, more readable units. The state machine handles current state determination, while state transitions handle transition logic, and output processing handles output generation based on the current state.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the state transition computations and output processing logic from the state machine module into separate dedicated modules. This extraction reduces the complexity within each module, making the code more readable and maintainable. The state machine module focuses solely on determining the current state, while transition and output modules handle their respective functions independently.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If software modules are tightly coupled, then the system can function, but reusability of code decreases

Engineering Contradiction:
Improvesystem functionalityVSAvoidcode reusability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the software into independently callable modules with well-defined interfaces. The state machine module, state transition module, and output processing module can be developed, tested, and reused independently. Each module receives inputs and produces outputs through defined interfaces, allowing them to be reused in different contexts without tight coupling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal modules that can serve multiple functions. The state machine module can determine current states for different ADAS functions, the state transition module can handle various transition types, and the output processing module can generate different output formats. This universality enhances code reusability across different ADAS applications.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If state transitions are computed within the state machine, then the system works, but the processing efficiency decreases

Engineering Contradiction:
Improvesoftware structureVSAvoidsoftware processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the processing workflow into distinct phases handled by different modules. The state machine module determines the current state efficiently, then passes it to the state transition module which computes transitions, and finally to the output processing module. This segmentation allows each module to optimize its specific processing task, improving overall efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having the state machine module determine the current state before passing it to subsequent modules. This preliminary determination allows the state transition and output processing modules to work with already-determined state information, avoiding redundant computations and improving processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250171041A1Vehicular driving assist system with enhanced data processing
Publication Date: 2025.05.29 MAGNA ELECTRONICS INC
  • US20250171041A1 patent drawing
  • US20250171041A1 patent drawing
  • US20250171041A1 patent drawing

AI summary

A method for structuring a vehicular driving assistance system includes determining a function of the vehicular driving assistance system. The method also includes determining one or more state transitions for a state machine of the function of the vehicular driving assistance system, where the state machine comprises a plurality of states, and where the one or more state transitions cause the state machine to transition from a state of the plurality of states to a different state of the plurality of states. The method also includes determining, based on the one or more state transitions, a current state of the plurality of states of the state machine, and generating, based on the current state of the state machine, one or more outputs for the function of the vehicular driving assistance system.