Dynamic Flow Node Configuration for Customizable Intelligent Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software applications with hard-coded flow sequences and navigation algorithms face inefficiencies and difficulties in providing customizable user experiences due to complex inter-dependencies among code blocks, leading to excessive computational resource consumption and challenges in modifying the logic flow, especially in applications with large numbers of interview screens or questions.
Innovation Solution
Implementing software applications with dynamic conditions and actions by identifying flow nodes that are independently executed and modified without hard-coded inter-dependencies, allowing for dynamic evaluation and execution of conditions and actions, and reducing the flow nodes based on runtime data to optimize the software flow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hard-coded flow sequences and navigation algorithms are used in software applications, then the software structure is stable and predictable, but the computational resources are excessively consumed and modifications become difficult
Solution Approach 1:
The patent applies dynamics by transforming static hard-coded flow sequences into dynamic flow graphs where nodes and edges can be selectively activated or deactivated based on runtime conditions. The system dynamically determines which flow nodes to execute by evaluating conditions associated with each node, allowing the software to adapt its execution path without modifying the underlying code structure. This resolves the contradiction by maintaining structural stability through the fixed graph definition while improving computational efficiency through dynamic selection of executable paths.
2Reliability
If hard-coded flow sequences are used in software applications, then the execution path is deterministic, but customization and modification of logic flow become complex and require extensive re-coding
Solution Approach 1:
The patent segments the software flow into discrete flow nodes and edges that can be independently configured and manipulated. Each flow node represents a distinct executable unit with associated conditions, allowing the system to customize execution paths by selecting different combinations of nodes without affecting the overall structure. This segmentation enables easy customization through configuration files or runtime parameters while maintaining deterministic execution within each selected path.
Solution Approach 2:
The system enables dynamic customization of logic flow by allowing conditions and actions to be modified at runtime without re-coding. The flow graph structure remains deterministic and stable, but the activation of specific nodes and edges can be dynamically adjusted based on user inputs, configuration changes, or runtime conditions. This provides adaptability while preserving execution determinism within the selected configuration.
3Adaptability or versatility
If a large number of interview screens and questions are included in the software application, then the software provides comprehensive functionality, but the complexity of traversing and managing the flow structure increases significantly
Solution Approach 1:
The patent segments the comprehensive software functionality into modular flow nodes, where each node represents a discrete interview screen or question with its own conditions and actions. This segmentation allows the system to manage complexity by treating each functional unit independently, making it easier to traverse, configure, and modify individual components without affecting the entire flow structure. The graph-based representation further simplifies navigation between segmented components.
Solution Approach 2:
The flow node structure serves multiple functions simultaneously: it represents interview screens, defines execution logic through conditions and actions, enables dynamic selection through condition evaluation, and provides a configurable framework for customization. This multi-functionality reduces the need for separate management structures, simplifying overall flow structure management while maintaining comprehensive functionality.
4Ease of manufacture
If conventional software programs with hard-coded flow sequences are used, then the initial development is straightforward, but any modifications to the flow sequence require breaking edges, modifying nodes, and re-establishing connections
Solution Approach 1:
The patent applies dynamics by enabling flow modifications without structural changes to the code. The flow graph is defined once with all possible nodes and edges, but modifications are achieved by dynamically changing which nodes are activated and how they connect through condition evaluations. This allows easy repair and modification of flow sequences by simply changing configuration parameters or runtime conditions rather than breaking and re-establishing code connections.
Solution Approach 2:
The system creates a configurable representation of the flow structure that can be copied and reused. The flow graph definition serves as a template that can be instantiated multiple times with different configurations, allowing modifications to be made by creating new configurations rather than altering the original code structure. This copying approach simplifies both initial development and subsequent modifications.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
Disclosed are techniques for implementing an intelligent system with dynamic configurability. These techniques identifying a plurality of flow nodes for a software application and determine a dynamic flow for executions of the intelligent system with the plurality of flow nodes, one or more dynamic conditions, and one or more dynamic actions, without hard coded inter-dependency between two or more flow nodes of the plurality of flow nodes. The intelligent system is transformed into a dynamically configured intelligent system at least by performing a modification pertaining to one or more flow nodes in the dynamic flow, without affecting remaining flow nodes in the dynamic flow.