Execution Order Block for Graphical Programming Subtrees

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphical block diagrams often lack a clear execution order, especially when multiple subtrees exist without a single root, leading to ambiguity in execution sequence, particularly in algorithms requiring specific ordering like serial data packet receipt.

Innovation Solution

Incorporating an execution order block with variable input pins that defines the execution order of subtrees, allowing for explicit control of subtree execution through pin ordering or layout, ensuring that subtrees connected to the execution order block are executed before other blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graphical blocks are arranged in parallel subtrees without a single root, then the programming flexibility and visual organization are improved, but the execution order becomes ambiguous and unreliable

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidexecution order
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The execution order block is placed at the beginning of the parallel subtrees structure, establishing the execution sequence before the branches diverge. This preliminary specification of execution order allows the graphical program to maintain both visual organization and deterministic execution behavior, resolving the contradiction between flexibility and reliability.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If execution order is dictated solely by directional connectivity, then the graphical data flow representation is simplified, but the ability to enforce specific execution sequences is lost

Engineering Contradiction:
Improvegraphical representationVSAvoidexecution order control
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The execution order block serves as an intermediary element that mediates between the simplified directional connectivity of graphical blocks and the requirement for specific execution sequences. It receives inputs from multiple sources and outputs to subsequent blocks, while enforcing a predetermined execution order, thus enabling both simplified representation and precise control.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple subtrees are executed in parallel, then the processing throughput is improved, but the ability to maintain specific execution sequences is compromised

Engineering Contradiction:
Improveprocessing throughputVSAvoidexecution sequence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The graphical program is segmented into distinct parallel subtrees that can be executed concurrently, while the execution order block provides a segmentation point that divides the execution flow into ordered phases. This allows multiple subtrees to process in parallel within each phase while maintaining overall sequence reliability across phases.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11334327B2Execution order block for graphical programming
Publication Date: 2022.05.17 SIEMENS INDUSTRY SOFTWARE INC
  • US11334327B2 patent drawing
  • US11334327B2 patent drawing
  • US11334327B2 patent drawing

AI summary

A graphical block diagram can use an execution order block to enforce an execution order for parallel subtrees. A graphical data flow block diagram is generated that includes parallel subtrees. The parallel subtrees can be connected to input pins of the execution order block in the execution order. The parallel subtrees are processed in the execution order before other blocks connected to the parallel subtrees are processed according to the normal execution order of the graphical program. The execution order of the execution order block is not affected by the other blocks, and the normal execution order of the other blocks according to the graphical program is not affected by the execution order of the execution order block. The techniques described herein improve a model-based development platform.