Domain-Specific Language Interpreter for Cross-Platform Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Online service providers face challenges in efficiently updating domain logic across disparate platforms written in different programming languages, requiring time-consuming platform-specific changes and recompilation, which decreases availability and increases computational expense.

Innovation Solution

Encapsulating domain logic in interpretable code that can be evaluated by an interpreter at runtime, allowing changes to be made without modifying program code, using a domain-specific language and evaluators to determine user interface elements' properties based on contextual data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If domain logic is implemented in platform-specific programming languages, then each platform can be optimized for its specific requirements, but updates to domain logic require time-consuming platform-specific changes and recompilation

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoidupdate time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent introduces a domain-specific language (DSL) as an intermediary layer between the platform-specific programming languages and the domain logic. The DSL serves as a universal interface that can be translated to different platform-specific languages, allowing domain logic to be written once and deployed across multiple platforms without requiring platform-specific changes. This mediator eliminates the need for recompilation while maintaining platform optimization capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The domain-specific language is designed to be universal and platform-independent, allowing the same domain logic to be executed across different platforms (e.g., mobile, web, desktop) without modification. The DSL can be translated to various target languages including Java, JavaScript, C++, and others, making it a multi-functional solution that serves multiple platforms simultaneously.

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

2Adaptability or versatility

If domain logic is written in different programming languages for different platforms, then platform-specific functionality can be achieved, but personnel knowledge requirements increase and computational expense increases

Engineering Contradiction:
Improveplatform-specific functionalityVSAvoidpersonnel knowledge requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The domain-specific language acts as a mediator that standardizes domain logic across platforms. Instead of requiring personnel to know multiple platform-specific programming languages, they only need to learn and work with the single DSL. The translation layer handles the complexity of converting the DSL to different target languages, reducing personnel knowledge requirements while maintaining platform-specific functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates platform-specific implementations by translating the universal DSL into different programming languages. Rather than writing separate domain logic for each platform, the same DSL code is copied and translated to match the requirements of each specific platform, reducing the need for personnel to understand multiple languages while preserving platform-specific functionality.

Inventive Principle:
Principle #26Copying

3Reliability

If conventional code recompilation is used for logic changes, then platform-specific optimizations are maintained, but availability decreases due to longer update times

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoidavailability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The domain-specific language serves as an intermediary that enables hot-reloading of domain logic without requiring full recompilation of the entire application. The DSL can be dynamically translated and executed, allowing logic changes to be applied in real-time while maintaining platform-specific optimizations. This eliminates the availability loss associated with traditional recompilation processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transitions from static, compiled code to dynamic, interpretable domain logic. The domain-specific language can be dynamically loaded, translated, and executed at runtime, allowing changes to be made without shutting down or stopping the platform. This dynamic approach maintains platform-specific optimizations while significantly improving availability during updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11847477B1Techniques for natively interpreting logic across disparate platforms
Publication Date: 2023.12.19 AMAZON TECH INC
  • US11847477B1 patent drawing
  • US11847477B1 patent drawing
  • US11847477B1 patent drawing

AI summary

Systems and methods are provided herein for natively interpreting logic across disparate platforms. Rather than executing server calls that are computationally expensive, logic may be extracted into code segments that can be evaluated at run time by an interpreter. The interpreter is passed a set of evaluators, features, and contextual data, each of which is expressed in a domain specific language. An evaluator maps an identifier to a rule and describes one or more contextual data fields with which the rule is to be evaluated. A feature corresponds to a logical condition that identifies the evaluator and a return value that is returned if the condition is met. The interpreter identifies the evaluator from the feature being evaluated and evaluates its corresponding rule based on the contextual data provided to return a return value. One or more operations may be performed based on the return value provided.