Multi-language Execution Engine for Mixed Programming Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current programming languages lack support for mixed language execution, which is often proprietary and not extensible to multiple languages, limiting the ability to employ instructions or statements from different languages to solve problems or implement applications effectively.

Innovation Solution

A data processing method that uses an execution engine to identify and process code sections in multiple programming languages, delegating unknown language sub-sections back to the engine for coordinated execution, with language-specific processing units handling their respective sections and returning results to continue processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple programming languages are used in a single source file, then programmer productivity and problem-solving capability are improved, but language processing complexity and execution coordination difficulty increase

Engineering Contradiction:
Improveprogrammer productivityVSAvoidexecution engine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution engine is segmented into multiple language-specific processing units, each responsible for handling a specific programming language. This allows the system to process multiple languages simultaneously through specialized components rather than a single monolithic processor, improving both productivity and managing complexity through division of labor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution engine acts as an intermediary that coordinates between different language-specific processing units. It receives code sections, identifies the programming language, delegates to appropriate processing units, and integrates their outputs. This mediator approach enables multi-language support while managing the complexity of coordination through a centralized dispatch mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If proprietary mixed language execution approaches are used, then specific language compatibility is achieved, but extensibility to other programming languages is limited

Engineering Contradiction:
Improvelanguage execution reliabilityVSAvoidlanguage extensibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The execution engine is designed as a universal platform that can handle multiple programming languages through a standardized interface. Each language-specific processing unit implements the same core functionality for its language, allowing new languages to be added by creating additional processing units that follow the same pattern, thus achieving both reliability through proven implementations and extensibility through a universal architecture.

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

Solution Approach 2:

The system uses parameter-based language identification where code sections are marked with language identifiers. The execution engine changes its behavior based on these parameters, routing to different processing units. This parameter-driven approach allows reliable execution of known languages while easily extending to new languages by simply adding new parameter mappings without changing the core engine architecture.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If language-specific processing units are implemented for each language, then execution precision and semantics are improved, but system complexity and maintenance burden increase

Engineering Contradiction:
Improvecode execution precisionVSAvoidprocessing unit complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system segments the processing functionality into separate language-specific units, each optimized for its target language. This segmentation improves execution precision by allowing each unit to implement language-specific semantics accurately while keeping the complexity localized to individual units rather than distributed throughout the entire system, making maintenance easier.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Language-specific processing logic is extracted from a monolithic execution engine into separate, independent processing units. Each unit contains only the necessary logic for its specific language, reducing the complexity burden on any single component and allowing precise implementation of language semantics without carrying unnecessary complexity from other languages.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8156471B2Multi-language execution method
Publication Date: 2012.04.10 ORACLE INT CORP
  • US8156471B2 patent drawing
  • US8156471B2 patent drawing
  • US8156471B2 patent drawing

AI summary

A data processing representation is expressed in the form of code sections, which may be nested, using multiple programming languages. The representation is read by an execution engine. The execution engine identifies the language of each code section, and a corresponding language specific processing unit is invoked to process the code section. The processing unit reads that section, identifying sub-sections specified in it's associated language and other sub-sections specified in unknown languages. It executes the sub-sections specified in its associated language with the intended semantics and in the appropriate order. When a sub-section specified in an unknown language is encountered, it delegates processing of that sub-section back to the execution engine, which repeats this process for the unknown sub-section. The execution result is returned back to the requesting language specific processing unit, which continues processing from where it left off.