Model Element Scheduler for Execution Time Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in optimizing execution times for embedded, real-time software models, leading to poor processor utilization, task overruns, and difficulties in visualizing sequencing, which can result in inefficient resource use and timing constraint violations.

Innovation Solution

A scheduler is introduced that optimizes the execution of model elements by offsetting their execution times, ensuring equivalent behavior across simulation, processor-in-the-loop, and real-time modes, maximizing processor utilization and preventing overruns, while avoiding preemptive multitasking to maintain predictability and integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual integration of model elements into a custom scheduler is used, then flexibility in scheduling is improved, but device complexity and difficulty of operation increase

Engineering Contradiction:
Improvescheduling flexibilityVSAvoidscheduler complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically generates the custom scheduler code from the model elements without requiring manual programming. The scheduler generation process self-services by analyzing the model structure and producing optimized scheduling code, eliminating the need for engineers to manually integrate model elements while maintaining scheduling flexibility.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual mechanical process of integrating model elements into a scheduler is replaced by an automated code generation system. The system substitutes human effort with algorithmic processing that automatically analyzes model elements and generates optimized scheduler code, reducing complexity while maintaining adaptability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If execution times are not optimized, then ease of operation is maintained, but productivity and reliability deteriorate due to poor processor utilization and task overruns

Engineering Contradiction:
Improveprocessor utilizationVSAvoidscheduling optimization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of model elements and their execution requirements before generating the scheduler code. By pre-calculating execution times and dependencies during the model compilation phase, the system optimizes processor utilization without adding runtime complexity, preventing task overruns through advance planning.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically adjusts scheduling parameters such as execution time allocations and task priorities based on the analyzed model structure. By dynamically changing these parameters during code generation, the system optimizes productivity while keeping the operational interface simple, as the optimization occurs in the code generation phase rather than requiring complex user configuration.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If preemptive multitasking is used to improve processor utilization, then productivity increases, but reliability and predictability decrease

Engineering Contradiction:
Improveprocessor utilizationVSAvoidtiming predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Instead of using preemptive multitasking to improve processor utilization, the system inverts the approach by generating optimized sequential or cooperative scheduling code that maintains predictability. The code generation process analyzes dependencies and schedules tasks to maximize utilization without preemption, achieving productivity gains through smarter scheduling logic rather than preemptive mechanisms.

Inventive Principle:
Principle #13The other way round (Inversion)

4Loss of time

If maximum execution times are not constrained, then ease of operation is maintained, but loss of time increases due to inefficient resource use

Engineering Contradiction:
Improveexecution time efficiencyVSAvoidexecution time optimization complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary calculation of maximum execution times during model compilation, establishing time constraints before runtime execution. By pre-determining execution time budgets for each task based on model analysis, the system eliminates time waste without requiring complex runtime monitoring, as the optimization is embedded in the generated code structure.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9268536B2Behavior invariant optimization of maximum execution times for model simulation
Publication Date: 2016.02.23 MATHWORKS INC
  • US9268536B2 patent drawing
  • US9268536B2 patent drawing
  • US9268536B2 patent drawing

AI summary

A device receives a model that includes model elements scheduled to execute in time slots on a hardware device. The device identifies time slots, of the time slots, that are unoccupied or underutilized by the model elements, and identifies a set of model elements that can be moved to the unoccupied time slots without affecting a behavior of the model. The device calculates a combined execution time of the model elements, determines whether the combined execution time of the model elements is less than or equal to a duration of a first time slot of the time slots, and schedules the model elements for execution in the first time slot when the combined execution time of the model elements is less than or equal to the duration of the first time slot.