Assisted Automation Framework Synthesizing Interactive Programs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program synthesis methods struggle to create interactive programs that can effectively respond to unpredictable environmental inputs, as they are typically non-interactive and require extensive data for learning, making them inefficient and limited in adaptability.

Innovation Solution

The development of an assisted automation framework that uses recordings to synthesize programs capable of interacting with environments, featuring a warping interpreter and human-as-an-interpreter, allowing for conditional guards, generalization of patterns, and iterative improvement through observations of new data and world states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional program synthesis methods are used, then programs can be generated from specifications, but the synthesized programs are non-interactive and cannot respond to unpredictable environmental inputs

Engineering Contradiction:
ImproveinteractivityVSAvoidresponse to unpredictable inputs
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent transforms static, non-interactive synthesized programs into dynamic interactive programs by introducing conditional guards that evaluate environment states at runtime. The warping interpreter continuously monitors environmental changes and dynamically adjusts program execution based on current conditions, enabling the program to adapt to unpredictable inputs while maintaining reliability through structured decision-making frameworks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where the warping interpreter evaluates environmental states and feeds this information back to the program execution engine. This feedback loop allows the synthesized program to respond to environmental changes by triggering appropriate actions based on conditional guards, thereby achieving interactivity and reliable response to unpredictable inputs through continuous environment-program interaction.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If extensive data is used for learning in program synthesis, then program accuracy can be improved, but the process becomes inefficient and requires large amounts of data

Engineering Contradiction:
Improveprogram accuracyVSAvoiddata efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-defining conditional guards and response patterns during program synthesis based on specification analysis, rather than requiring extensive training data. The warping interpreter is pre-configured with evaluation rules and action mappings that enable accurate responses to environmental inputs without needing to learn from large datasets, thereby improving data efficiency while maintaining program accuracy.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If manual programming is used to create interactive programs, then adaptability to environment can be achieved, but the process is time-consuming and complex

Engineering Contradiction:
Improveenvironmental response capabilityVSAvoidprogram creation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent enables self-service by allowing the program synthesis system to automatically generate interactive programs with embedded conditional guards and warping interpreter configurations directly from specifications. The system synthesizes the complete interactive program structure, including environment monitoring logic and response actions, without requiring manual programming intervention, thereby achieving environmental adaptability while dramatically reducing program creation time.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If synthesized programs are made interactive with conditional guards and interpreters, then environmental interaction is enabled, but the system complexity increases

Engineering Contradiction:
Improveenvironmental interactionVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the interactive program system into distinct modular components: the synthesized program logic, conditional guard evaluations, warping interpreter module, and environment interface. This segmentation allows each component to be independently developed, tested, and maintained, reducing overall system complexity while enabling sophisticated environmental interaction through coordinated operation of the modular elements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11966724B1Framework and system for building assisted automations from recordings using program synthesis
Publication Date: 2024.04.23 XXV INC
  • US11966724B1 patent drawing
  • US11966724B1 patent drawing
  • US11966724B1 patent drawing

AI summary

Described herein are systems and methods for automatically building automations from desktop recordings using program synthesis. The problem of building automations for desktop applications can be lifted to a generalized concept of automations that operate on worlds whose “world state” can change asynchronously to the actions of the automation. Advantageously, in contrast with synthesis systems that take input-output demonstrations to synthesize a function that maps between them, the method presented here can synthesize from time-series traces of actions to automations that generalizes each step. The present disclosure describes ways to a) build assisted automations, b) synthesize them from recordings, c) running assisted automations using interpreters that observe the world state and adjust the actions accordingly, d) discovering them from an always-on recorder, e) suggesting them in partial progress from an always-on recorder, and lastly f) iteratively improving the assisted automation by recordings of every subsequent run.