Producer Graph Runtime for Automated Method Invocation Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The creation of object-oriented applications involves significant costs due to the complexity of debugging and optimizing manual invocation sequencing code, which often results in errors such as incorrect method invocation order, forgotten or unnecessary method invocations, and inefficient cascading of updates.

Innovation Solution

A runtime that interprets producer dependency declarations to automatically generate and execute a producer graph, sequencing the execution of producers based on these declarations, ensuring correct and efficient method invocation order and synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual invocation sequencing code is used to sequence method invocations, then flexibility and control over execution order are achieved, but development complexity and error rates increase significantly

Engineering Contradiction:
Improveease of sequencing method invocationsVSAvoidcomplexity of invocation sequencing code
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system enables self-service by allowing the code itself to automatically generate and execute the sequencing plan through producer dependency declarations. The runtime system interprets these declarations and autonomously determines the execution order, eliminating the need for manual sequencing code while maintaining precision and control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A runtime system acts as an intermediary between the producer dependency declarations and the actual method invocations. This mediator interprets the declarations, builds the producer graph, and sequences the executions, thereby simplifying the programming model while ensuring correct execution order.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If manual invocation sequencing code is written to ensure correct method invocation order, then execution precision is improved, but development time and debugging costs increase

Engineering Contradiction:
Improveprecision of method invocation orderVSAvoidtime for debugging and optimizing invocation code
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by automatically generating the execution sequence before runtime based on producer dependency declarations. The runtime system pre-computes the producer graph and determines the execution order in advance, ensuring precision without requiring manual sequencing code or subsequent debugging.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the runtime system monitors producer execution and dynamically adjusts the sequencing based on actual execution states. This feedback loop ensures correct invocation order while automatically handling optimizations, eliminating the need for manual debugging and optimization efforts.

Inventive Principle:
Principle #23Feedback

3Reliability

If automated producer graph generation is implemented, then sequencing accuracy and synchronization are improved, but runtime complexity increases

Engineering Contradiction:
Improvereliability of method invocation sequencingVSAvoidcomplexity of runtime execution system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the execution model into distinct components: producers, consumers, and the runtime system. Each producer declares its dependencies independently, and the runtime system processes these declarations to build the overall execution sequence. This segmentation improves reliability through modular dependency management while keeping the runtime complexity manageable through systematic processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10481877B2Producer graph oriented programming and execution
Publication Date: 2019.11.19 MUREX
  • US10481877B2 patent drawing
  • US10481877B2 patent drawing
  • US10481877B2 patent drawing

AI summary

A method and apparatus for producer graph oriented programming and execution. According to one aspect of the invention, a runtime is provided that interprets producer dependency declarations for methods. The producer dependency declarations identify at run time a set of zero or more producers, where a producer is a runtime instantiatable construct that includes at least an instance and a method associated with that instance. The runtime automatically generates and executes, responsive to receiving a designation of a producer of interest whose method has a producer dependency declaration, a producer graph. The producer graph initially includes the producer of interest and is generated, from the producer of interest to source producers, through instantiation of producers based on the producer dependency declarations of the methods of the producers already in the producer graph. The runtime sequences the execution of the producers in the producer graph as indicated by the producer graph.