Code Virtualization Server for Controller Software Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programming controller-based devices, especially groups of them, is complex due to the need for compatibility and interoperability, requiring users to memorize coding commands and understand hierarchies, which is time-consuming and error-prone.

Innovation Solution

A method and apparatus for automatic software development using a code virtualization server that generates and installs software for groups of controller-based devices, enabling remote calls to be routed through a gateway to a code virtualization server for execution, simplifying programming through a graphical user interface.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual programming is used for controller-based devices, then customization and functionality can be achieved, but programming complexity and time consumption increase significantly

Engineering Contradiction:
ImprovecustomizationVSAvoidprogramming time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system enables self-service programming where the code virtualization server automatically generates, compiles, and deploys code to controller-based devices based on high-level user specifications. The server handles the complex programming tasks autonomously, eliminating the need for users to manually write and debug code while maintaining full customization capabilities through configurable parameters and options.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If manual programming is used for groups of devices, then individual customization is possible, but ensuring compatibility and interoperability becomes excessively complex

Engineering Contradiction:
Improveindividual customizationVSAvoidprogramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The code virtualization server provides universal code generation capabilities that work across multiple controller-based devices simultaneously. It handles device grouping, compatibility checking, and interoperability configuration through unified interfaces, allowing individual customization while automatically ensuring that all devices in the group work together seamlessly through standardized communication protocols and coordinated deployment.

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

3Productivity

If automated code generation is implemented, then programming time is reduced, but ensuring code compatibility across different devices becomes challenging

Engineering Contradiction:
Improveprogramming speedVSAvoidcode compatibility
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The code virtualization server implements feedback mechanisms where generated code is automatically tested against compatibility requirements before deployment. The system monitors device responses and performance metrics, using this feedback to refine and adjust the generated code to ensure optimal compatibility across different device types and configurations, thereby maintaining high reliability while preserving rapid automated generation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3295649B1Method and apparatus for automatic software development for a group of controller-based devices
Publication Date: 2024.03.06 CIANMBELLA LTD
  • EP3295649B1 patent drawingFigure 1
  • EP3295649B1 patent drawingFigure 2
  • EP3295649B1 patent drawingFigure 3

AI summary

A method and apparatus for automatic generation of software for controller-based devices in a group is provided. The method comprises receiving, for a controller-based device from a plurality of controller-based devices displayed on a graphical user interface (GUI) on a user device, a selection of a controller type, a communication protocol to be used for communicating with another controller-based device in a group of controller-based devices, the group comprising the plurality of controller-based devices, and a function to be performed based on a remote call from the controller-based device.