Deterministic Communication Windows in Partitioned Embedded Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data communication in partitioned embedded systems, such as those using the AUTOSAR architecture, lacks determinism due to varying task runtime and jitter, leading to unpredictable delays and inconsistencies across software clusters, especially in multicore systems, and fails to optimize system-level communication and decoupling.
Innovation Solution
A computer-implemented method that schedules predefined functional windows for functional tasks and dedicated cross-cluster communicational windows for cross-cluster communication, ensuring deterministic data exchange by isolating communicational tasks from functional tasks and allowing precise timing and priority management to achieve reproducible and high-quality data communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional data communication is used between software tasks in partitioned embedded systems, then tasks can interact freely with any task in other partitions, but the communication becomes non-deterministic due to task jitter and varying runtime
Solution Approach 1:
The execution schedule is segmented into distinct functional windows and cross-cluster communicational windows. Functional tasks execute during functional windows while cross-cluster communication occurs during dedicated communicational windows. This segmentation separates communication activities from functional processing, ensuring deterministic timing by preventing task jitter from affecting communication precision.
2Loss of information
If data is captured as often as used in different functional tasks, then data availability is improved, but this leads to instability and inconsistency inside software clusters
Solution Approach 1:
Data is captured and prepared in advance during dedicated cross-cluster communicational windows before functional tasks execute. The execution schedule pre-positions data in memory buffers during communicational windows, so when functional tasks need the data, it is already available and consistent. This preliminary action prevents multiple inconsistent captures and ensures data stability.
3Productivity
If the software cluster internal production rate is used for cross-cluster communication, then production efficiency is maintained, but system-level optimization is prevented when consuming clusters would be satisfied with lower rates
Solution Approach 1:
The execution schedule dynamically adapts the cross-cluster communication rate to match consumer requirements rather than being fixed by producer capabilities. The scheduler can adjust the frequency and timing of communicational windows based on the actual needs of consuming clusters, allowing the system to optimize overall performance by matching production rates to consumption rates rather than running at maximum capacity continuously.
4Adaptability or versatility
If full decoupling between software clusters is implemented, then independent updates are enabled, but communication determinism becomes harder to maintain across cluster boundaries
Solution Approach 1:
A centralized execution schedule acts as an intermediary between decoupled software clusters. The scheduler coordinates communicational windows across all clusters, ensuring that even though clusters are independently deployable and can be updated separately, the communication between them remains deterministic. The intermediary schedule synchronizes the timing of data production and consumption across cluster boundaries.
Data Source
AI summary
The invention relates to a computer implemented method and to an electric control unit for a deterministic data communication in a partitioned embedded system. A software of the embedded system includes a plurality of software clusters having functional tasks and cross cluster communicational tasks. The method includes providing an execution schedule. The method also includes providing in the execution schedule, predefined functional windows for the functional tasks of the plurality of the software clusters and dedicated cross cluster communicational windows for the cross cluster communicational tasks of the plurality of the software clusters. The cross cluster communicational windows are distinct from the functional windows.


