Wrapper Component for Seamless Runtime Software Replacement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing industrial control environments face challenges in updating or replacing software components of the runtime system without interrupting the running industrial control process, particularly due to the complexity and expense of redundant systems.
Innovation Solution
A method and system that utilize a wrapper component to centrally route and switch calls from the first software component to a replacement component, initializing function pointers, and minimizing downtime by detecting and blocking active calls, allowing for seamless replacement without pausing the industrial control process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If redundant controller units are used to enable online updating of the runtime system, then the industrial control process can continue without interruption, but the system cost and complexity increase significantly
Solution Approach 1:
The runtime system is segmented into multiple independently replaceable software components (first software component and second software component). This allows individual components to be updated without requiring redundant entire-controller systems, reducing overall system complexity while maintaining continuous operation capability.
Solution Approach 2:
A wrapper component is introduced as an intermediary layer between the control application and the software components being updated. The wrapper manages calls dynamically, routing them to either the first or second software component, enabling seamless transitions during updates without requiring complex redundant hardware architectures.
2Loss of time
If the runtime system software components are updated online without interruption, then operational downtime is minimized, but the risk of errors or instability during the update process increases
Solution Approach 1:
The second software component is initialized and prepared in advance before the switching occurs. The wrapper component is configured with function pointers to both the first and second software components beforehand, allowing for a smooth, pre-planned transition that minimizes runtime errors and maintains stability during the update process.
Solution Approach 2:
The system implements call tracking and switching control mechanisms that monitor the state of software component calls. The wrapper component dynamically adjusts call routing based on the update status, providing feedback control that ensures stability during the transition from the first to the second software component.
3Device complexity
If function pointers are switched directly without a wrapper component, then the update process is simpler, but calls may be lost or misrouted during the transition
Solution Approach 1:
The wrapper component serves as a safe intermediary that manages function pointer switching. It maintains references to both the first and second software components and controls the transition of calls between them, ensuring that no calls are lost or misrouted during the update process while keeping the implementation relatively simple.
Solution Approach 2:
The wrapper component is designed to be universally applicable for managing calls to different software components. It provides a standardized interface that can handle switching between the first and second software components, as well as future components, without requiring complex component-specific update logic.
Data Source
Figure 1
Figure 2
Figure 3a
AI summary
A method for replacing a software component among a plurality of software components of a runtime system, in particular a runtime system of an industrial control environment, comprises the steps of determining a first software component to be replaced among the plurality of software components, determining a second software component for replacing the first software component in the runtime system; initializing the second software component in the runtime system; routing a plurality of calls directed to the first software component centrally through a wrapper component; and switching the calls directed to the first software component to the second software component by means of a wrapper component.