Multi-Environment Code Partitioning With Automatic Communication Links

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing design assistance methods for applications across multiple execution environments are inadequate, as they do not effectively address the complexity of determining suitable execution environments for processing modules and fail to reduce the designer's burden in managing these environments.

Innovation Solution

A design assistance device that acquires processing code, divides it into modules, determines the optimal execution environment for each module, generates communication code for inter-environment processing, and outputs the modules and communication code to the processing device, allowing for efficient distribution and execution across multiple execution environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a designer manually manages multiple execution environments and determines suitable environments for each processing module, then the application can run correctly on different platforms, but the design work becomes complicated and the designer's burden increases

Engineering Contradiction:
Improvecorrect execution on different platformsVSAvoiddesign work complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the processing code into multiple independent modules, where each module can be assigned to a different execution environment. This segmentation allows the system to manage complexity by handling each module's environment assignment separately rather than managing the entire application across multiple environments manually.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements automatic environment determination functionality that performs what would otherwise require manual designer intervention. The system automatically analyzes each module's characteristics, determines suitable execution environments, and generates necessary communication code, thereby serving itself rather than requiring continuous designer input.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If automatic source code conversion is used for single-platform adaptation, then the source code can be adjusted for one specific platform, but the reduction in designer burden is insufficient for multi-environment systems

Engineering Contradiction:
Improveautomatic code adjustmentVSAvoidmulti-environment support
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal design assistance system that handles multiple execution environments simultaneously rather than requiring separate tools for each platform. The system generates communication code that enables modules to interact across different environments, making the solution adaptable to various multi-environment configurations without requiring platform-specific manual intervention.

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

Solution Approach 2:

The patent introduces communication code as an intermediary mechanism that facilitates interaction between modules running in different execution environments. This intermediary layer handles the complexity of cross-environment communication, allowing modules to be automatically assigned to suitable environments while maintaining proper inter-module communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If processing code is distributed across multiple execution environments, then execution efficiency can be optimized by placing modules in suitable environments, but communication code between environments must be generated

Engineering Contradiction:
Improveexecution efficiencyVSAvoidcommunication code generation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of each module's characteristics and automatically determines the most suitable execution environment before code deployment. By pre-determining environment assignments based on module requirements and environment capabilities, the system optimizes execution efficiency from the outset rather than requiring runtime adjustments or manual optimization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically generates the necessary communication code between execution environments without requiring designer intervention. The environment determination functionality analyzes module-to-environment compatibility and generates appropriate communication mechanisms, thereby self-serving the code generation task that would otherwise burden the designer.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10977032B2Assistance device, design assistance method and program
Publication Date: 2021.04.13 MITSUBISHI ELECTRIC CORP
  • US10977032B2 patent drawing
  • US10977032B2 patent drawing
  • US10977032B2 patent drawing

AI summary

A design assistance device assists design of a processing device to execute processing and includes an acquirer, divider, communication code generator, and outputter. The acquirer acquires processing code describing content of the processing. The divider divides the processing code into modules and determines, for each of the modules, an execution environment in which the module is to be executed, from among a plurality of execution environments provided on the processing device. The communication code generator generates, when a module of the plurality of modules includes partial processing prioritized for execution in a second execution environment other than a first execution environment determined for execution of the module, a communication code for communication between the first execution environment and the second execution environment to execute the partial processing in the second execution environment. The outputter outputs the plurality of modules and the communication code to the processing device.