Mixed Code Model Simulation via Inter-Process Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development methods face inefficiencies when trying to simulate mixed code and model environments, particularly with large-scale and complex codes, leading to decreased development speed and efficiency.

Innovation Solution

A method involving inter-process communication between separate simulation processes to execute simulations of code and model components sequentially, allowing for the simulation of code preceding and succeeding specific codes through execution results from model simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code is divided and embedded as model parts in single-process SILS environment, then simulation can be performed, but code division becomes difficult for large-scale and complicated code

Engineering Contradiction:
Improvesimulation capabilityVSAvoidcode division complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the simulation system into multiple independent processes (first process for code simulation, second process for model simulation) that can operate separately and communicate through inter-process communication. This allows the code to be simulated as-is without requiring complex division and embedding, while still enabling mixed code-model simulation through process-level segmentation.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If entire code is simulated in single process, then simulation is simple to execute, but mixing code and model simulation becomes difficult

Engineering Contradiction:
Improvesimulation execution simplicityVSAvoidcode-model mixing capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces inter-process communication as an intermediary mechanism between the first process (code simulation) and second process (model simulation). This mediator enables data exchange and coordination between the two separate processes, allowing mixed code-model simulation while maintaining the simplicity of executing each process independently without complex integration requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If code is not divided and modeled, then development speed is maintained, but simulation efficiency decreases for mixed environments

Engineering Contradiction:
Improvedevelopment speedVSAvoidsimulation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the simulation into two parallel processes that can execute simultaneously - the first process handles code simulation while the second process handles model simulation. This segmentation allows both code and model to be simulated in parallel rather than requiring sequential execution, reducing overall simulation time while maintaining development speed by avoiding complex code division and embedding operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11989535B2Simulation method and recording medium
Publication Date: 2024.05.21 HITACHI SOFTWARE ENG
  • US11989535B2 patent drawing
  • US11989535B2 patent drawing
  • US11989535B2 patent drawing

AI summary

A method of simulating codes that form a program configured to control a control target includes causing a processor to execute the following: first-setting a first process of executing a simulation of an operation of a code group excluding a specific code among the codes; second-setting a second process of executing a simulation of an operation of a specific model obtained by modeling the specific code; first-simulating, in the first process, a first simulation of a code preceding the specific code in the code group; second-simulating, in the second process, a second simulation of the specific model through use of an execution result of the first simulation by inter-process communication between the first process and the second process; and third-simulating, in the first process, a third simulation of a code succeeding the specific code through use of an execution result of the second simulation by the inter-process communication.