Event Execution Ordering in Data-Driven Control Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data-driven architectures, complex control scenarios often result in events being executed in undesirable orders, leading to issues like transient states and infinite loops, especially when signals are combined or feedback is involved, which can cause errors and inefficiencies.
Innovation Solution
The system organizes devices based on their desired interoperation and assigns them values to ensure events are executed in the correct order, using multiple queues to manage event execution, where events are placed in active or standby queues based on their dependency on the most recently executed event, reducing overhead and preventing errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If data-driven architectures execute events based on data changes, then automation and responsiveness are improved, but event execution order becomes unpredictable leading to transient states and infinite loops
Solution Approach 1:
The system performs preliminary actions by assigning priority values to events before execution. When an event is generated, its priority is determined based on the organization of affected devices and any explicitly specified priority. This preliminary assignment ensures that events are always executed in the correct order, preventing transient states and infinite loops while maintaining automation.
2Ease of operation
If polling is used to monitor data changes, then system control is simplified and predictable, but computational overhead increases significantly
Solution Approach 1:
The system extracts and eliminates the need for continuous polling by implementing an event-driven architecture with priority-based execution. Instead of polling all devices to detect data changes, the system directly generates and executes events when data changes occur, using priority values to ensure correct execution order. This removes the computational overhead of polling while maintaining simplified system control.
3Speed
If events are executed in the order they are received, then processing speed is maximized, but complex control scenarios produce errors and inefficiencies
Solution Approach 1:
The system changes the parameter of event execution by introducing priority values that determine execution order. Instead of executing events in the order they are received, each event is assigned a priority based on the organization of affected devices and explicit specifications. This parameter change ensures that complex control scenarios are handled correctly while maintaining efficient processing through direct event execution without polling.
Data Source
AI summary
An event execution system comprises an ordering component that receives multiple events and dynamically organizes the multiple events based at least in part upon a predefined organization of devices affected by the multiple events. The system can additionally include an execution component that executes the multiple events with respect to the devices according to the organization of the multiple events.


