IEC 61499 Execution Engine with Parallel Environment Creation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing IEC 61499-compatible computing apparatuses face inefficiencies in resource utilization due to statefulness of execution engines and execution control charts, leading to blocking and reduced system throughput.
Innovation Solution
The implementation of a stateless event-function assignment mechanism and a second state control apparatus that allows the execution engine to create a second execution environment data set while a functional block is executed, enabling efficient resource utilization and preventing blocking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If the execution engine is designed to be stateful and reuse existing execution environment data sets, then resource utilization efficiency improves, but system throughput deteriorates due to blocking when execution environments are occupied
Solution Approach 1:
The execution engine is divided into multiple instances (first execution engine instance and second execution engine instance), each capable of independently creating and managing execution environment data sets. This segmentation allows parallel processing of different functional blocks without mutual blocking, as each instance can operate on different execution environments simultaneously.
Solution Approach 2:
The execution engine is designed to create a second execution environment data set in advance (before the first execution environment is fully utilized or while it is still being used). This preliminary creation of execution environments eliminates waiting time and prevents blocking, allowing functional blocks to be assigned to pre-prepared execution environments immediately when needed.
2Stability of the object's composition
If the execution engine waits for the first execution environment to be free before creating a second one, then resource stability is maintained, but system responsiveness deteriorates due to waiting times
Solution Approach 1:
The execution engine creates the second execution environment data set before the first execution environment becomes free. This preliminary action eliminates the need for waiting, as the second execution environment is already prepared and available when needed, thus reducing loss of time while maintaining system stability through controlled concurrent creation.
Solution Approach 2:
The system transitions from a static, sequential execution model to a dynamic, concurrent model where multiple execution environment data sets can be created and managed simultaneously. The execution engine dynamically adjusts resource allocation by allowing overlapping creation and usage of execution environments, improving responsiveness without sacrificing stability.
3Productivity
If the execution control chart state is changed from occupied to free immediately upon function call, then system throughput improves by enabling concurrent executions, but reliability deteriorates due to potential premature state release
Solution Approach 1:
The execution control mechanism is segmented into separate state control apparatus for each execution engine instance and execution control chart. This segmentation allows independent state management, where the first execution engine instance and second execution engine instance can manage their respective execution control charts without interfering with each other, enabling concurrent operations while maintaining reliable state tracking for each instance.
Solution Approach 2:
A second state control apparatus acts as an intermediary to manage the state transitions of execution control charts. This intermediary ensures that state changes from occupied to free are handled correctly and concurrently, preventing premature release while enabling parallel executions. The state control apparatus coordinates state management across multiple execution engine instances, maintaining reliability through controlled state transitions.
Data Source
AI summary
An IEC 61499-part-compatible computing apparatus has an arithmetic logic unit, a RAM, a ROM, an operating system memory, one or more interfaces for the input and/or output of data and signals and a bus connecting one or more or all of the above and/or the following components. A program memory is adapted to store a program that has one or more functional blocks, wherein a functional block has one or more programmed functions and can have a programmed execution control chart. An execution engine is adapted to create a first execution environment data set for configuring an execution environment for executing a functional block of a program. Said execution engine is also adapted to create a second execution environment data set while or before a functional block or a function is executed in an execution environment that is configured by a first execution environment data set previously created by the execution engine.


