Control Signal Splitter for Multi-Threaded Subgraph Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphical modeling environments, such as Simulink, face challenges in ensuring data dependencies are satisfied while allowing for explicit execution control of subgraphs, leading to unexpected behavior and difficulty in tracing execution order, especially in large models.

Innovation Solution

The introduction of a Control Signal Split block, such as a Function-Call Split block, which accepts a control signal and splits it into multiple function-call signals, ensuring data dependencies are honored during explicit execution control, and the use of Function-Call Join blocks to predictably provide multiple control initiators to subgraphs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If explicit execution control is used via control edges in conventional modeling environments, then execution control is improved, but data dependencies may be ignored leading to unexpected behavior

Engineering Contradiction:
Improveexecution controlVSAvoiddata dependency satisfaction
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a control signal splitter as an intermediary component that receives control signals and distributes them to multiple subordinate blocks. This mediator ensures that explicit execution control is maintained while simultaneously honoring data dependencies by coordinating the execution timing of subordinate blocks based on both control signals and data readiness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the control signal splitter monitors the execution status and data dependency satisfaction of subordinate blocks. When data dependencies are not yet satisfied, the splitter can delay or adjust the propagation of control signals, ensuring that execution only occurs when both control conditions and data conditions are met.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If explicit execution control is used, then execution precedence is improved, but tracing execution order becomes difficult in large models

Engineering Contradiction:
Improveexecution precedenceVSAvoidexecution order traceability
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the control signal flow into discrete, traceable units by introducing control signal splitters at specific points in the model. Each splitter creates identifiable control signal paths to subordinate blocks, making it easier to trace execution order by following these segmented control paths rather than trying to trace through complex interconnections in large models.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The control signal splitter acts as a traceable intermediary that logs or marks control signal propagation. This intermediary component provides clear visibility into execution order by showing exactly where control signals are distributed and to which subordinate blocks, facilitating easier debugging and verification of execution sequences.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple control initiators are used for subgraphs, then control flexibility is improved, but execution ambiguity increases

Engineering Contradiction:
Improvecontrol flexibilityVSAvoidexecution determinism
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The control signal join block serves as a mediator that receives control signals from multiple initiators and consolidates them into a single deterministic output. This join block resolves execution ambiguity by implementing a defined prioritization scheme or synchronization mechanism, ensuring that subordinate blocks receive unambiguous execution commands even when multiple control initiators are present.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent merges multiple control signals from different initiators through the control signal join block, combining them into a unified control output. This merging process eliminates execution ambiguity by consolidating multiple control paths into a single deterministic execution path, while still allowing multiple initiators to trigger execution under defined conditions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9195439B2Multi-threaded subgraph execution control in a graphical modeling environment
Publication Date: 2015.11.24 MATHWORKS INC
  • US9195439B2 patent drawing
  • US9195439B2 patent drawing
  • US9195439B2 patent drawing

AI summary

Exemplary embodiments support multi-threaded subgraph execution control within a graphical modeling or graphical programming environment. In an embodiment, a subgraph may be identified as a subset of blocks within a graphical model, or graphical program, or both. A subgraph initiator may explicitly execute the subgraph while maintaining data dependencies within the subgraph. Explicit signatures may be defined for the subgraph initiator and the subgraph either graphically or textually. Execution control may be branched wherein the data dependencies within the subgraph are maintained. Execution control may be joined together wherein the data dependencies within the subgraph are maintained. Exemplary embodiments may allow subgraphs to execute on different threads within a graphical modeling or programming environment.