Batch Execution Engine with Just-in-Time Procedural Loading
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Batch processing control systems face inefficiencies due to the need to load and execute complex control recipes that consume large amounts of memory and processor time, leading to limitations in the number of concurrent batches that can be processed and causing production delays due to inconsistencies between lower-level controllers and batch execution engines.
Innovation Solution
Implementing a 'just-in-time' loading and execution technique using instantiation objects, where procedural elements are loaded and executed only when needed during runtime, rather than at creation time, and deconstructed after use, to optimize resource usage and reduce memory consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If control recipes are loaded at creation time, then all procedural elements are available for execution, but memory consumption increases and processor time is wasted loading unnecessary elements
Solution Approach 1:
The patent applies preliminary action by pre-defining the structure and logic of procedural elements in a compact format during system setup, but delaying their full instantiation and loading until they are actually needed during batch execution. This allows the system to have all procedural elements prepared in advance in a space-efficient form while only consuming full memory resources when necessary.
Solution Approach 2:
The patent implements local quality by making different procedural elements available at different times based on their specific need during batch execution. Instead of uniformly loading all procedural elements at creation time, the system selectively loads only those procedural elements that are required for the current batch, optimizing memory usage according to local requirements.
2Productivity
If all procedural elements are loaded into memory, then execution can proceed without delays, but the number of concurrent batches that can be processed is limited
Solution Approach 1:
The patent applies dynamics by making the procedural element loading process adaptive and dynamic rather than static. The system dynamically determines which procedural elements to load based on the current batch requirements, and dynamically manages memory allocation to support multiple concurrent batches by unloading elements from batches that have completed or are paused.
Solution Approach 2:
The patent implements universality by creating a shared memory management system that serves multiple concurrent batches. The same memory resources are dynamically allocated and deallocated to different batches as needed, allowing the system to process multiple batches simultaneously with a fixed memory footprint, rather than requiring dedicated memory for each batch.
3Speed
If control recipes are fully loaded and compiled, then execution is fast, but system resources are consumed even when batches are not being processed
Solution Approach 1:
The patent applies periodic action by loading and compiling procedural elements in periodic cycles corresponding to batch execution cycles. Instead of maintaining all procedural elements in fully compiled form continuously, the system compiles and loads them periodically when batches are initiated, and allows them to be unloaded or decompiled when not in use, reducing continuous resource consumption while maintaining execution speed when needed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method for implementing a control process within a process control system and resolving inconsistencies during execution of the control process includes loading the logical structure of the control process, loading a plurality of instantiation objects or processes when the control process is instantiated, using the instantiation objects to instantiate a procedural element of the control process as the control process calls for the procedural element during execution, executing the procedural element as part of the control process, and deconstructing the procedural element as execution of the procedural element is completed during execution of the control process Resolution of inconsistencies includes executing a first model of an entity in a controller, executing a second model of the entity in an execution engine, detecting a difference between the models, generating a prompt and receiving an operation instruction to continue the process or abort the process