Event-Triggered Program Flow Control With Manager Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional event-triggered systems face challenges in predictability, testability, and observability, while time-triggered systems suffer from lower resource utilization and longer runtimes, making them unsuitable for real-time applications.
Innovation Solution
Implement a manager module that selectively triggers operational units using both node-originating and manager-originating triggers, allowing for conditional event initiation based on predetermined conditions, enhancing predictability and testability, and enabling real-time observation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If event-triggered scheduling is used to minimize delay between events, then resource utilization is improved, but predictability and testability deteriorate
Solution Approach 1:
A manager module is introduced as an intermediary between operational units in the event-triggered system. The manager receives event reports from operational units, determines system state, and sends trigger messages to initiate events. This intermediary provides a centralized coordination point that improves predictability and testability while maintaining the event-triggered architecture's resource utilization benefits.
Solution Approach 2:
The system implements a feedback mechanism where operational units send event reports to the manager, and the manager responds with trigger messages. This closed-loop feedback enables monitoring and control of event execution, allowing for verification of timeliness and correctness, thereby improving predictability and testability without sacrificing the dynamic responsiveness of event-triggered scheduling.
2Reliability
If a centralized scheduler is used to monitor operational units, then predictability and observability are improved, but runtime and resource utilization deteriorate
Solution Approach 1:
Operational units autonomously determine when to trigger events based on local conditions and send event reports to the manager. This self-service approach eliminates the need for the centralized scheduler to continuously monitor and control every operational unit, reducing communication overhead and runtime while maintaining predictability through the manager's coordination of critical events.
3Reliability
If time-triggered scheduling is used to ensure predictable execution, then observability is improved, but resource utilization and real-time performance deteriorate
Solution Approach 1:
The system combines the static predictability of time-triggered scheduling with the dynamic responsiveness of event-triggered scheduling. The manager module dynamically determines whether to send trigger messages based on event reports and system state, allowing the system to adapt to changing conditions while maintaining predictable execution through centralized coordination.
Data Source
AI summary
In various examples, a program (e.g., application, algorithm, routine, etc.) may be organized into operational units (e.g., nodes executed by one or more processors), each of which are tasked with executing one or more respective events (e.g., tasks) within the larger program. At least some of the events of the larger program may be successively executed in a flow, one after another, using triggers sent directly from one node to the next. In addition, a manager may exchange communications with the nodes to monitor or assess a status of the system (e.g., determine when a node has completed an event) or to control or trigger a node to initiate an event.


