Control Signal Splitter for Multi-Threaded Subgraph Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If explicit execution control is used, then execution precedence is improved, but tracing execution order becomes difficult in large models
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.
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.
3Adaptability or versatility
If multiple control initiators are used for subgraphs, then control flexibility is improved, but execution ambiguity increases
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.
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.
Data Source
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.


