Asynchronous State Engine with Plugin Transition Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current business applications face complexity and maintainability issues when interfacing with external applications that need to affect state changes, requiring cumbersome 'if-then' conditions and frequent modifications to handle various external applications, leading to increased software complexity and difficulty in maintenance.

Innovation Solution

Implementing an asynchronous state engine with a state transition table that allows external applications to plug-in criteria for state changes, enabling the host application to hold states until responses are received from external applications, and specifying follow-up actions, thus decoupling the host application from external interactions and allowing flexible updates without modifying the host application itself.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the host application uses traditional state engine with if-then conditions to handle external applications, then the application can process state changes, but the software complexity increases and maintenance becomes difficult

Engineering Contradiction:
Improveability to interface with external applicationsVSAvoidsoftware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the state engine functionality by separating the core state transition logic from external application-specific logic. The state engine is divided into a core component that handles state transitions and a plugin component that handles external application interactions. This segmentation allows the host application to maintain simple core logic while external applications can be added through plugins without increasing core complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a state transition table as an intermediary layer between the state engine and external applications. This table acts as a mediator that stores predefined state transition rules and external application requirements. The state engine queries this table to determine how to handle state changes, eliminating the need for complex if-then conditions in the host application code and reducing software complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the host application modifies itself to integrate new external applications, then the application can support new functionalities, but the maintainability decreases

Engineering Contradiction:
Improveintegration capabilityVSAvoidmaintainability
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The patent enables the system to adapt to new external applications through self-service mechanisms. The state transition table is designed to be externally modifiable, allowing new applications to register their requirements by updating the table without requiring host application modifications. The state engine automatically picks up these changes from the table, providing self-service integration capability that maintains ease of repair.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal interface mechanism through the state transition table that can accommodate multiple different external applications with a single unified approach. Instead of creating specialized integration code for each application, the universal table structure allows any external application to define its state transition requirements in a standardized format, making the system multi-functional without increasing maintenance burden.

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

3Reliability

If the state engine waits for external application responses before state changes, then accuracy is improved, but the processing time increases

Engineering Contradiction:
Improvestate transition accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining state transition rules and external application requirements in the state transition table before actual state changes occur. The table contains predetermined conditions and actions for each state transition scenario. When a state change is needed, the engine simply queries the pre-configured rules rather than making real-time decisions, ensuring accuracy while minimizing processing time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8554798B2Asynchronous state engine with plug-ins for flexible application development
Publication Date: 2013.10.08 ORACLE INT CORP
  • US8554798B2 patent drawing
  • US8554798B2 patent drawing
  • US8554798B2 patent drawing

AI summary

Various embodiments of the present disclosure provide for an asynchronous state engine incorporated within a host application program. The state engine may operate based on a state transition table that may be updated independently of the host application. The state transition table may instruct the asynchronous state engine as to actions that should be performed prior to changing states. Such actions may include interacting with external applications. The state transition table may also instruct the host application to reside in a hold state until responses from external applications are received. Furthermore, the state transition table may instruct the host application as to follow up actions that should be performed when a state is entered. By allowing an external application to plug-in criteria for state changes within the host application, development of the host application may maintain a significant level of flexibility.