Cross-Language Shared Variable Display for Program Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Creators of source codes in different programming languages face challenges in recognizing shared variables, leading to failures in proper implementation and description, as existing systems lack efficient mechanisms to identify and register shared variables across languages.

Innovation Solution

A program development assist system that acquires and registers information about shared variables from one source code in a first programming language and displays this information on the development screen of a second source code in a second programming language, using a data table to ensure all shared variables are recognized and implemented correctly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If source codes in different programming languages are created by mutually different creators, then each creator can independently develop their respective source code, but the creators cannot efficiently recognize shared variables used in source codes of other programming languages

Engineering Contradiction:
ImproveIndependent development capabilityVSAvoidRecognition of shared variables
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent introduces a shared variable management system that acts as an intermediary between source codes written in different programming languages. This system automatically extracts shared variables from one source code, registers them in a centralized management structure, and makes them visible to creators working in other programming languages. The intermediary resolves the information loss by providing a mechanism for cross-language variable recognition without requiring direct communication between different creators.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a feedback mechanism where the system automatically detects shared variables, provides notifications to creators about unregistered shared variables, and allows registration of these variables. This feedback loop ensures that creators are informed about shared variables they may have missed, enabling them to correct omissions and maintain proper variable sharing across different programming languages.

Inventive Principle:
Principle #23Feedback

2Device complexity

If no mechanism is provided to identify shared variables across different programming languages, then the development process remains simple and direct, but failures occur in description of shared variables and proper implementation cannot be realized

Engineering Contradiction:
ImproveDevelopment system structureVSAvoidImplementation correctness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies preliminary action by automatically extracting and registering shared variables before the actual development and compilation process. The system proactively identifies shared variables in source codes, registers them in advance in a centralized management structure, and makes them available for subsequent development work. This preliminary registration prevents implementation failures by ensuring all shared variables are properly declared and recognized before they are used in cross-language operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces manual mechanical processes of tracking shared variables with an automated information processing system. Instead of relying on creators to manually identify and document shared variables across different programming languages, the system automatically extracts variable information, analyzes dependencies, and manages registrations. This substitution of automated processing for manual tracking significantly improves reliability while maintaining manageable complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If shared variables are not properly recognized across different programming languages, then the development environment remains simple, but synchronous control between robot control and sequence control cannot be properly executed

Engineering Contradiction:
ImproveDevelopment environment simplicityVSAvoidSynchronous control execution
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The shared variable management system serves as a critical intermediary that enables synchronous control between robot control and sequence control by providing a unified mechanism for variable sharing across different programming languages. The intermediary extracts shared variables from both control systems, registers them centrally, and ensures proper recognition, thereby enabling reliable synchronous control without significantly complicating the development environment for individual creators.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a universal shared variable management system that handles multiple programming languages and different types of control operations through a single integrated mechanism. This multi-functional system can extract, register, and manage shared variables regardless of the specific programming language or control system origin, providing universal support for synchronous control while maintaining ease of operation across different development contexts.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3540593B1Program development assist system, program development assist method, and program development assist program
Publication Date: 2022.07.06 OMRON CORP
  • EP3540593B1 patent drawingFigure 1
  • EP3540593B1 patent drawingFigure 2
  • EP3540593B1 patent drawingFigure 3

AI summary

Provided is a program development assist system (1), a program development assist method, and a program development assist program. The program development assist system (1) includes: a shared variable extraction part (531) that extracts, from the first source code (523) that is described in the first programming language, shared variables that are variables shared by the first source code (523) and the second source code (524) that is described in the second programming language in a memory (62); and a display control part (533) that causes a development screen of the second source code (524) to display information indicating shared variables that are extracted by the shared variable extraction part.