Code Scheduling Based on Target Platform Characteristics
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
3Productivity
If code is optimized for multiple processors, then real-time execution efficiency improves, but code generation complexity increases
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
Data Source
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.


