Computing Platform for Algorithm Container Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software development challenges include writing executable code from textual descriptions of algorithms, which is time-consuming and error-prone, and the difficulty in finding suitable algorithms from vast resources for integration into software applications.

Innovation Solution

A method and system that generate a software container based on a textual description of a computational algorithm, allowing instantiation of a computing environment for execution and displaying results, facilitating seamless execution and integration across different platforms without requiring users to install additional software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If executable code is written from textual description of algorithms, then the algorithm can be executed and evaluated, but the development process becomes time-consuming and error-prone

Engineering Contradiction:
Improveexecution accuracyVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating executable code from textual algorithm descriptions before manual coding begins. The code generation unit creates initial executable code based on the textual description, which developers can then refine and adapt, significantly reducing the time required to transform algorithmic concepts into working software while maintaining execution accuracy.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If code is integrated from external repositories, then resources are available, but the code cannot be easily evaluated and integrated into specific computing environments

Engineering Contradiction:
Improvecode reusabilityVSAvoidintegration ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system introduces an intermediary code generation unit that translates between external code repositories and specific computing environments. This unit automatically adapts code from various sources by generating environment-specific executable code, serving as a mediator that eliminates the need for manual integration work while preserving code reusability across different platforms and computing environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If vast algorithm resources are searched, then suitable algorithms can be found, but the search process becomes almost impossible due to voluminous amount of resources

Engineering Contradiction:
Improvealgorithm suitabilityVSAvoidsearch complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the code generation unit learns from successful code generations and evaluations. By analyzing which generated codes execute successfully and meet performance criteria, the system refines its generation process, providing feedback that improves algorithm matching accuracy over time while reducing the complexity of searching through vast algorithm resources.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3311265B1A computing platform and method thereof for searching, executing, and evaluating computational algorithms
Publication Date: 2020.06.17 THE JOAN & IRWIN JACOBS TECHNION CORNELL INST
  • EP3311265B1 patent drawingFigure 1
  • EP3311265B1 patent drawingFigure 2
  • EP3311265B1 patent drawingFigure 3

AI summary

A method and system for evaluating computational algorithms are provided. The method comprises receiving a textual description of a computational algorithm; generating a software container based on the received textual description; instantiating a computing environment on a computing device, wherein the computing environment includes computing resources configured to support execution of the software container; executing the software container in the computing environment; and displaying, on a user device, results that are output in response to execution of the software container.