Block Programming Step Segmentation for Control Logic Clarity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional block programming languages make it difficult for users to understand and modify large programs due to deep nesting of control syntaxes and lack of visibility into program structure.

Innovation Solution

An information processing apparatus and method that supports program creation and execution in block programming languages by introducing the concept of 'steps', allowing programs to be visualized as subsets rather than a single series, and enabling parallel processing and priority-based execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional block programming languages use deep nesting of control syntaxes to represent program logic, then the program can express complex control flows, but the program structure becomes difficult to understand and modify

Engineering Contradiction:
Improveprogram expressivenessVSAvoidprogram understandability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments the program into discrete step blocks that represent individual processes or operations. Each step block is a self-contained unit that can be independently understood and modified. This segmentation replaces deep nesting with a linear sequence of steps, making the program structure more visible and easier to navigate while maintaining the ability to express complex logic through the arrangement and connections of step blocks.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If conventional block programming languages use traditional control syntax nesting to handle large programs, then the program can maintain logical structure, but the visibility into program structure decreases

Engineering Contradiction:
Improveprogram logical structureVSAvoidprogram structure visibility
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The patent transitions from a vertical nesting dimension to a horizontal sequence dimension by arranging step blocks in a linear sequence. This dimensional change allows the program structure to be viewed as a flow of steps rather than nested layers, improving visibility while maintaining logical structure through the sequential arrangement and transition conditions between steps.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Stability of the object's composition

If conventional block programming languages require modification of large nested programs, then the program can maintain consistency, but the effort required for partial edits increases

Engineering Contradiction:
Improveprogram consistencyVSAvoidprogram modification effort
Core Design Contradiction:
Stability of the object's compositionVSEase of manufacture

Solution Approach 1:

By segmenting the program into independent step blocks, the patent enables localized modifications to individual steps without requiring changes to the entire nested structure. Each step block can be added, removed, or modified independently while maintaining the overall program consistency through the sequential flow and transition conditions between steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250036367A1Information processing apparatus, information processing method, and program
Publication Date: 2025.01.30 YOKOGAWA ELECTRIC CORP
  • US20250036367A1 patent drawing
  • US20250036367A1 patent drawing
  • US20250036367A1 patent drawing

AI summary

It would be helpful to provide an information processing apparatus that makes a program in a block program language understood more easily. An information processing apparatus 10, which is configured to support at least one of the creation or execution of a program in a block programming language, includes a controller 13. The controller 13 is configured to acquire the program that includes one or more step blocks, each as one of functional blocks. Each of the step blocks collectively associates a part of processes, among a series of processes based on the program. The series of processes is executed in accordance with a state transition from one of the step blocks to another of the step blocks.