Execution Contexts for Block Diagram Conditional Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional block diagram modeling is inefficient due to its dependency on sample times, leading to inaccurate and inefficient results for conditionally executed elements, and forces non-modular designs that discourage multiple programming design groups by requiring the grouping of elements within subsystems.

Innovation Solution

The introduction of Execution Contexts, which are data structures that allow conditional execution of block diagram elements and subsystems based on pre-conditions, enabling efficient code generation and supporting modular design concepts by allowing Execution Contexts to be inherited and propagated programmatically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional block diagram elements are executed based on sample times, then the execution is synchronized with other elements, but the results become inaccurate and inefficient for conditionally executed elements

Engineering Contradiction:
Improveexecution accuracyVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the execution control parameter from fixed sample times to dynamic pre-conditions. Elements execute when their specific pre-conditions are met rather than at predetermined time intervals, allowing conditional elements to execute only when necessary while maintaining system synchronization through the pre-condition evaluation mechanism.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If conditional execution of elements is controlled by grouping them within subsystems, then execution control is achieved, but the design becomes non-modular and discourages multiple programming design groups

Engineering Contradiction:
Improveexecution controlVSAvoiddesign modularity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the execution control mechanism by assigning individual pre-conditions to specific elements rather than grouping elements together. Each element maintains its own execution independence through its pre-condition, eliminating the need for subsystem grouping while preserving modular design principles and enabling multiple design groups to work independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces pre-conditions as intermediary control mechanisms between the element and the execution engine. These pre-conditions act as mediators that evaluate whether an element should execute, replacing the need for subsystem groupings and enabling direct, modular control of individual elements while maintaining system-wide coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If elements are forced to be included within subsystems to control execution times, then execution timing control is achieved, but modular design principles are violated

Engineering Contradiction:
Improveexecution timing controlVSAvoiddesign structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent makes the execution timing dynamic by using pre-conditions that are evaluated at runtime rather than static subsystem groupings. Elements can dynamically determine their execution timing based on their pre-condition satisfaction, eliminating the need for rigid subsystem structures while maintaining precise execution timing control.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7809545B2System and method for using execution contexts in block diagram modeling
Publication Date: 2010.10.05 MATHWORKS INC
  • US7809545B2 patent drawing
  • US7809545B2 patent drawing
  • US7809545B2 patent drawing

AI summary

A method of controlling the conditional execution of elements and subsystems in a block diagram is disclosed. Data structures known as Execution Contexts are created and associated with individual block diagram elements and subsystems. The Execution Contexts allow execution of the associated element or subsystem upon satisfaction of a specified pre-condition. The Execution Contexts may be inherited by other elements and subsystems in the block diagram and propagated programmatically throughout the block diagram. The use of the Execution Contexts allows for efficient code generation and block diagram execution, as well as supporting modular design concepts.