Dynamic Procedures for Runtime Software Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software solutions fail to provide a fast and flexible adaptation of user workflow and data management, as well as customization of software product functionality, as they are static after development and do not allow customers to dynamically alter functionality without changing the binary code.
Innovation Solution
Dynamic procedures are implemented within the executing software product during runtime, providing access to internal operations, classes, and data variables on a source code level, allowing customization without altering the product's binary code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional libraries or frameworks are used to package functionality, then the software product can be built with reusable components, but the functionality becomes static after development and cannot be adapted to different customer needs
Solution Approach 1:
The patent applies dynamics by enabling the software product to transition from a static state to a dynamic state where functionality can be altered at runtime. Dynamic procedures allow the product to adapt its behavior based on customer-specific configurations without requiring separate binary versions, thus achieving adaptability while maintaining a single product codebase.
Solution Approach 2:
The patent segments the software functionality into core product functions and dynamic procedure functions. The dynamic procedures are separate executable code modules that can be independently configured and loaded, allowing customization without modifying the core product binary. This segmentation enables flexible adaptation while keeping the base product simple and maintainable.
2Adaptability or versatility
If scripting is used to allow customer-defined business logic, then workflow customization is enabled, but the scripts can only access predefined operations and data, limiting the extent of customization
Solution Approach 1:
The patent creates a universal interface layer through the dynamic procedure mechanism that allows scripts to access both predefined operations and internal product operations. The dynamic procedure acts as a bridge that provides unified access to the full product functionality, enabling extensive workflow customization without being limited to predefined operations.
3Adaptability or versatility
If the software product is modified to accommodate different customer needs, then functionality can be adapted, but new versions must be built and distributed, increasing maintenance burden
Solution Approach 1:
The patent applies preliminary action by pre-configuring the product with dynamic procedure hooks and interfaces during development, but deferring the actual customization to runtime. This allows the product to be adapted to specific customer needs without requiring new version builds, as the adaptation mechanism is already in place and只需 activating different dynamic procedures.
Solution Approach 2:
The patent enables dynamic loading and activation of procedure code at runtime, allowing the software to adapt its functionality without requiring recompilation or redistribution of new versions. This dynamic approach eliminates version update delays while maintaining product integrity.
4Adaptability or versatility
If configurable features are provided to accommodate different user needs, then basic customization is enabled, but complex workflow and data management adaptation cannot be achieved
Solution Approach 1:
The patent introduces dynamic procedures as an intermediary layer between the user configuration interface and the core product functionality. This intermediary enables complex workflow and data management adaptation by providing a flexible execution environment for customer-defined logic, while maintaining ease of operation through standardized configuration interfaces.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is provided a method for changing the functionality of an executing software product in runtime through the use of dynamic procedures. There is further provided a corresponding computerized system, computer program and non-volatile data carrier containing the computer program.