Bidirectional Block Diagram and Source Code Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing model base development tools cannot convert source code back into a block diagram model, requiring separate management of software and model information, which is inefficient and labor-intensive, especially for control system software development.

Innovation Solution

A program generating apparatus and block diagram generating apparatus that store and process block diagrams to generate program instructions and structural information, allowing conversion between block diagrams and programs, enabling efficient reuse and management of model information within the software development process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If model information is managed separately from software, then software can be developed using conventional tools, but enormous efforts are required for management and the correspondence between source code and block diagram cannot be known

Engineering Contradiction:
Improvesoftware development capabilityVSAvoidmanagement effort
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent merges model information management with software development by enabling bidirectional conversion between block diagrams and source code. The program generating apparatus generates source code from block diagrams while embedding structural information that allows reconstruction of the original block diagram, eliminating the need for separate model information management and reducing manual effort.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If source code is generated from block diagram without structural information, then program can be created, but the correspondence between instructions and block diagram elements cannot be established for reuse

Engineering Contradiction:
Improvecode generation speedVSAvoidmodel correspondence information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by embedding structural information (tree structure data) into the generated source code during the initial code generation process. This structural information records the correspondence between source code instructions and block diagram elements, enabling future reconstruction and reuse without requiring additional information gathering steps.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If block diagram is converted to source code using conventional tools, then software can be developed, but the conversion cannot be reversed to reconstruct the model

Engineering Contradiction:
Improvesoftware development capabilityVSAvoidmodel reconstruction capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements feedback by creating a round-trip conversion system where block diagrams can be converted to source code and then reconstructed back into block diagrams. The structural information embedded in the source code provides feedback that enables accurate reconstruction of the original model structure, allowing verification and iterative development.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8671386B2Program generating apparatus and block diagram generating apparatus
Publication Date: 2014.03.11 KK TOSHIBA
  • US8671386B2 patent drawing
  • US8671386B2 patent drawing
  • US8671386B2 patent drawing

AI summary

The apparatus of the present invention includes a block diagram dividing unit that divides a block diagram into a plurality of pieces at a branch point, connects a branch point block element to one end of a data line which has been connected to the branch point at each divided piece and thereby generates a plurality of block diagram pieces, a program instruction generator that generates program instructions for performing processing on each block diagram piece, an execution sequence determining unit that determines an execution sequence of generated program instructions, a structural information generator that generates structural information of each of the block diagram pieces and a program generator that arranges the program instructions according to the execution sequence, writes structural information of each block diagram piece into a comment line of each of the program instructions corresponding to each of the block diagram pieces and thereby generates a program.