Code Scheduling Based on Target Platform Characteristics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face challenges in deploying graphical models for real-time execution on target platforms, particularly when dealing with complex systems that require scheduling of components across multiple processors, as they often struggle to find configurations that allow for real-time processing without significant trial and error, especially when components have differing operating priorities or data dependencies.

Innovation Solution

The system generates code and schedules model components based on target characteristics, such as processing logic, memory, and clock rates, to ensure real-time execution by providing interactive feedback and optimizing code for efficient execution on platforms with multiple cores or processors, allowing users to select or generate schedules that support real-time constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users manually allocate model components to multiple processors through trial and error, then real-time execution may be achieved, but significant time is spent and users may be unable to identify a valid schedule configuration

Engineering Contradiction:
Improvereal-time execution guaranteeVSAvoidtime spent on trial and error scheduling
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary schedulability analysis during the code generation phase, before deployment to the target platform. It evaluates whether a given schedule configuration will meet real-time constraints by analyzing task execution times, processor capacities, and timing requirements in advance, allowing users to identify valid configurations without extensive trial and error

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides automated feedback about schedule feasibility by analyzing model components, their execution requirements, and target platform characteristics. It evaluates scheduling configurations and informs users whether real-time execution is achievable, guiding them toward valid configurations without requiring manual trial and error

Inventive Principle:
Principle #23Feedback

2Reliability

If users attempt to schedule complex models with many components and data dependencies, then real-time execution may be achieved, but users become unable to identify valid schedule configurations

Engineering Contradiction:
Improvereal-time execution guaranteeVSAvoidability to identify schedule configuration
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs automated schedulability analysis that evaluates schedule configurations without requiring deep user expertise. It automatically analyzes task dependencies, execution times, and processor allocations to determine feasibility, enabling users to work with complex models without needing to manually verify scheduling correctness

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system acts as an intermediary between the user's scheduling intentions and the actual execution on the target platform. It provides automated analysis tools that evaluate whether proposed schedules will meet real-time constraints, mediating between user configuration and system requirements without requiring users to be experts in real-time scheduling theory

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If code is optimized for multiple processors, then real-time execution efficiency improves, but code generation complexity increases

Engineering Contradiction:
Improvereal-time processing efficiencyVSAvoidcode generation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The code generation process is segmented into distinct phases: generating intermediate representation code, analyzing schedulability, evaluating timing constraints, and optimizing processor allocation. Each phase handles a specific aspect of the complexity, making the overall process more manageable and systematic rather than requiring simultaneous handling of all complexity factors

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8984494B1Scheduling generated code based on target characteristics
Publication Date: 2015.03.17 MATHWORKS INC
  • US8984494B1 patent drawing
  • US8984494B1 patent drawing
  • US8984494B1 patent drawing

AI summary

An embodiment can include one or more computer readable media storing executable instructions for performing execution scheduling for code generated from an executable graphical model. The media can store instructions for accessing a first code portion having a first priority, and a second code portion having a second priority, where the second priority has a relationship with the first priority. The media can store instructions for accessing target environment characteristics that indicate a performance of the target environment, and for performing execution scheduling for the first code portion and the second code portion, the execution scheduling taking into account the target environment characteristics, the execution scheduling using an execution schedule. The media can also store instructions for scheduling execution of the first code portion and the second code portion in the generated executable code based on the execution schedule, the generated executable code adapted for execution in the target environment.