Static Execution Template for Real-Time Task Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Critical real-time systems face challenges in balancing flexibility in task models with the need to limit temporal interferences between tasks, which are exacerbated by the complexity of dynamic scheduling and the inability to exhaustively test all scheduling combinations for safety guarantees.
Innovation Solution
A method is introduced that represents tasks as graphs with sequential and alternating processing operations, assigning resource needs and time constraints, merging alternative paths, and configuring a static execution template to constrain task execution, thereby reducing temporal interferences and enabling off-line scheduling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If dynamic scheduling is used to achieve flexible task models, then task flexibility and performance are improved, but temporal interferences between tasks increase and safety verification becomes impossible
Solution Approach 1:
The patent applies preliminary action by pre-defining all possible execution paths and their timing constraints before system operation. The scheduling algorithm and task execution paths are predetermined during system design, allowing exhaustive safety verification while maintaining flexibility through the ability to select among pre-approved paths based on runtime conditions.
Solution Approach 2:
The patent implements dynamics by allowing the system to adaptively select among multiple pre-defined execution paths based on runtime conditions, while maintaining static scheduling constraints. This enables flexible task models with conditional branching and alternative paths, yet preserves safety through predetermined timing constraints that can be exhaustively verified.
2Reliability
If static scheduling is used to limit temporal interferences, then safety verification is improved, but task model flexibility is reduced
Solution Approach 1:
The patent applies segmentation by dividing the task model into distinct execution paths with clear boundaries and synchronization points. Each path is independently timed and constrained, allowing static scheduling verification while maintaining overall task flexibility through the composition of multiple segmented paths.
Solution Approach 2:
The patent uses parameter changes by allowing different timing parameters and execution paths for different task scenarios. The system can adjust which pre-defined paths are activated based on runtime parameters, maintaining flexibility while each path adheres to statically verified timing constraints.
3Device complexity
If periodic task models are used to simplify scheduling, then scheduling simplicity is improved, but system performance and resource utilization deteriorate
Solution Approach 1:
The patent applies dynamics by enabling non-periodic task models with conditional execution paths and variable timing, while maintaining static scheduling constraints. This allows the system to adapt task execution to actual needs rather than forcing periodic execution, improving resource utilization and performance without sacrificing schedulability.
Data Source
Figure 1~3A
Figure 3B~4
Figure 5A~5C
AI summary
The invention relates to a method for executing a task formed from a set of sequential and alternating processing operations. The method comprises the following steps: a) allocating a hardware resource requirement and a time constraint to each processing operation; b) associating a time slot with each processing operation having a duration corresponding to the time constraint of the processing operation; c) identifying a branch point at which the execution of one or the other of two alternating processing operations (a, b) is decided upon; d) associating a common time slot (+2) with the two alternating processing operations; e) allocating a requirement (max(a, b)) to the common time slot that is equal to the greater of the requirements of the two alternating processing operations; f) repeating from step c) for each branch point; g) organising the resulting time slots into an execution template associated with the task; and h) configuring a real-time multi-task system for constraining the execution of the task on the basis of the requirements allocated to the time slots of the execution template.