Automatic Code Generation Interface for Embedded Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Programming for diverse target devices with varying system requirements and programming languages is challenging for average users, especially when devices are deployed in remote locations, as it requires expertise and complex configurations.

Innovation Solution

A method and system for automatically generating and incorporating code in development environments using an automatic code generation user interface (ACGUI) that allows users to select desired functionalities and parameters, with a coding and virtualization server generating code that can be injected into programs, enabling execution on remote devices or services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users code functionalities themselves using the DE, then program functionality is achieved, but programming complexity and time consumption increase significantly

Engineering Contradiction:
ImproveEase of programmingVSAvoidTime to code functionalities
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system uses template-based code generation where pre-defined code templates are automatically copied and customized based on user selections. The code generator retrieves appropriate templates from a database, populates them with user-specified parameters, and generates ready-to-use code, eliminating the need for users to write code from scratch.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The code generation system performs self-service by automatically generating code based on user requirements without manual programming. The system autonomously selects templates, fills parameters, generates code, and even performs self-correction if generation fails, reducing the need for user intervention and expertise.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If users program for diverse target devices with different system requirements, then device compatibility is achieved, but programming difficulty and expertise requirements increase

Engineering Contradiction:
ImproveDevice compatibilityVSAvoidProgramming complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system adapts code generation to different target devices by changing parameters such as device type, programming language, and system requirements. Users select the target device from a list, and the code generator automatically adjusts the generated code to match the specific requirements of that device, including appropriate language syntax and system-specific configurations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The code generation system provides universal support for multiple target devices, programming languages, and device types through a single unified interface. The underlying template library and generation engine can handle various device categories (microcontrollers, FPGAs, embedded systems) and programming languages, making the tool universally applicable across different platforms.

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

3Productivity

If manual code writing is used for remote devices, then functionality implementation is achieved, but time and resource consumption increase

Engineering Contradiction:
ImproveFunctionality implementation speedVSAvoidTime for local updates and programming
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-defining code templates and organizing them in a database before actual code generation is needed. Common functionality patterns, device configurations, and programming constructs are prepared in advance as reusable templates, enabling rapid code generation when users need to implement functionality on remote devices.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3596593B1Method and apparatus for automatically generating and incorporating code in development environments
Publication Date: 2024.05.01 CIANMBELLA LTD
  • EP3596593B1 patent drawingFigure 1
  • EP3596593B1 patent drawingFigure 2
  • EP3596593B1 patent drawingFigure 3

AI summary

A method and apparatus for automatically generating and incorporating code in a development environment (DE) is provided. The method comprises, while a program for a target device is being composed using the DE on a user device, displaying an automatic code generation user interface (ACGUI), separate from the DE or in the context of the DE, receiving a selection of a function from a plurality of available functions for generating code automatically corresponding to the selected function, receiving at least one parameter for executing the automatically generated code to perform the function, automatically generating the code in the ACGUI, the automatically generated code configured to perform the function upon execution of the automatically generated code, incorporating the automatically generated code in the program for the target device, and sending the program to the target device for installation and execution on the target device.