Vehicle Controller Code Generation Using Common Module BOM Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vehicle software code generation systems fail to efficiently address the need for optimizing and generating software code across multiple platforms and variants, particularly in the context of vehicle controllers, leading to lengthy development times and increased complexity due to the large number of software modules and variants.

Innovation Solution

A computing system is used to generate software code for common modules across vehicle controllers by modifying a build of materials (BOM) to identify common and unique modules, allowing for one-shot code generation and post-processing, which can be executed via a single processing routine and uploaded to controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional software code generation systems are used to generate software code for each vehicle controller separately, then code generation can be performed for individual controllers, but the total code generation time becomes extremely long (over a week for 5 variants with 200+ software modules each)

Engineering Contradiction:
Improvecode generation throughputVSAvoidtotal code generation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges the code generation process across multiple vehicle controllers by identifying and extracting common software modules from a plurality of controllers. Instead of generating code separately for each controller, the system combines common modules into a single generation process, generating code for all common modules across multiple controllers in one execution, thereby dramatically reducing total generation time from over a week to a fraction of that time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal code generation process that can handle multiple vehicle controller variants simultaneously. By identifying common software modules that are shared across different controllers and vehicle platforms, the system develops a multi-functional generation process that serves multiple controllers in a single operation, improving productivity across the entire vehicle family rather than treating each controller individually.

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

2Adaptability or versatility

If the number of software modules and variants increases to accommodate future vehicle platforms, then system capability and coverage are improved, but code generation complexity and time requirements increase significantly

Engineering Contradiction:
Improveplatform coverageVSAvoidcode generation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software modules of vehicle controllers into two distinct categories: common software modules that are shared across multiple controllers and variants, and unique software modules that are specific to individual controllers. This segmentation is achieved by analyzing the BOM (Bill of Materials) data and identifying modules that appear across multiple controllers. By separating common modules, the system can generate code for them once and reuse across all variants, reducing the complexity that would otherwise grow with each additional platform.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent develops a universal code generation process that automatically adapts to different vehicle platforms and controller variants. The system identifies common software modules that serve multiple functions across different controllers and generates a single version of code that can be deployed universally. This universal approach allows the system to handle increasing numbers of variants and platforms without proportionally increasing process complexity, as the same generation process serves multiple purposes across the vehicle family.

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

3Reliability

If software code is generated for each vehicle controller individually through separate processing routines, then each controller receives customized code, but the overall development process becomes lengthy and inefficient

Engineering Contradiction:
Improvecontroller-specific code accuracyVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the code generation operations for multiple controllers into a single unified processing routine. By identifying common software modules across controllers and combining their generation requirements, the system executes one consolidated code generation process that produces code for all common modules across multiple controllers simultaneously. This merging maintains controller-specific accuracy where needed while achieving significant productivity improvements through the consolidation of redundant generation operations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250390291A1One shot software code generation for common software modules across vehicle controllers
Publication Date: 2025.12.25 FCA US LLC
  • US20250390291A1 patent drawing
  • US20250390291A1 patent drawing
  • US20250390291A1 patent drawing

AI summary

A software code generation system for a vehicle includes a computing system configured to obtain a build of materials (BOM) for the vehicle, the BOM defining a plurality of software modules for each of a plurality of controllers of the vehicle, modify the BOM to define sets of common software modules and unique software modules, across the plurality of controllers, of the plurality of software modules for each of the plurality of controllers to obtain a modified BOM, receive a user input indicating a request for one shot generation of software code for the set of common software modules, and based on the modified BOM, generating the software code for the set of common software modules via a single processing routine, and an interface configured to load a final software code, based on the generated software code, into the plurality of controllers of the vehicle for future execution.