Stepping Component Automation Framework for Software Workflow Robustness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software workflows, such as test automation, face challenges in robustness due to errors in components leading to premature workflow termination and high costs in time and computing resources, as re-running the entire workflow is often necessary to reproduce and fix errors.

Innovation Solution

A framework that wraps software components in a common interface, enabling retry and debug capabilities, allowing for selective retry of failed components with retained outputs and persistent action context data for quick debugging, thereby reducing the need to re-execute all components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire software workflow is re-executed to reproduce and resolve errors, then error reproduction and resolution are achieved, but time and computing resources are significantly consumed

Engineering Contradiction:
Improveerror resolution capabilityVSAvoidworkflow execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the workflow into individual executable components with unique identifiers. When an error occurs, only the failed component and its dependencies are re-executed rather than the entire workflow. This is achieved by identifying the specific component that failed and restarting execution from that component, preserving the outputs of successfully executed components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by executing components ahead of time and storing their outputs. When a component fails, the stored outputs from previously executed components are reused, eliminating the need to re-execute them. This preliminary execution and storage of results directly reduces the time and resources needed for error resolution.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire software workflow is re-executed to reproduce and resolve errors, then error reproduction and resolution are achieved, but computing resources are significantly consumed

Engineering Contradiction:
Improveerror reproduction capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and stores the outputs of successfully executed components separately. When an error occurs, only the failed component is re-executed while the extracted outputs from other components are reused. This extraction mechanism prevents unnecessary re-computation and reduces computing resource consumption during error resolution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system creates copies of the workflow state including component outputs and execution context. When an error occurs, the system can restore to a previous valid state or re-execute only the necessary portion, using copied data rather than regenerating it. This copying approach conserves computing resources by avoiding redundant execution.

Inventive Principle:
Principle #26Copying

3Reliability

If a common interface is introduced to wrap software components for retry and debug capabilities, then robustness and debuggability are improved, but device complexity increases

Engineering Contradiction:
Improveworkflow robustnessVSAvoidframework structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a universal common interface that wraps all software components, providing standardized retry and debug capabilities across different component types. This single interface handles multiple functions including error detection, retry logic, and debugging support, reducing the need for component-specific error handling code and actually simplifying the overall system architecture.

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

Solution Approach 2:

The common interface acts as an intermediary layer between the workflow execution engine and individual software components. It mediates error handling, retry logic, and debugging operations, isolating the complexity of robustness mechanisms from both the execution engine and the components themselves. This intermediary approach improves reliability while managing complexity through abstraction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9892019B2Use case driven stepping component automation framework
Publication Date: 2018.02.13 SUCCESSFACTORS INC
  • US9892019B2 patent drawing
  • US9892019B2 patent drawing
  • US9892019B2 patent drawing

AI summary

A framework for improving robustness in the execution of software workflows is described herein. One such workflow is a testing scenario, where multiple testing modules are to be executed sequentially, with some of the modules receiving as input the output of other modules. Many types of modules are contemplated, such as Application Program Interface (API) modules, User Interface (UI) modules, Database (DB) modules, and the like. Each of these modules may invoke, respond to, and/or extract data from various subjects of the testing scenario, among other operations. One aspect of the invention wraps each of these modules in a software component, such that disparate module types can be operated on with a common interface. In one embodiment, the common interface enables a test executor to retry and/or debug the software components in novel ways.