Event-Driven State Machine Sequencer with Priority Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication systems face challenges in efficiently scheduling and executing state machines in communication devices, particularly in cellular phones, due to complex event-driven processes that require flexible, scalable, and modular solutions to manage multiple state machines with varying priorities and occurrence patterns.
Innovation Solution
The method involves defining multiple state machines with relative priorities and state conditions based on events, using a sequencer to monitor and evaluate these conditions, and scheduling their execution accordingly, with the ability to trigger hardware or software modules and manage instances across different time frames within communication protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple state machines are executed with flexible scheduling based on event priorities, then the responsiveness and adaptability of the communication device is improved, but the scheduling complexity and computational overhead increase
Solution Approach 1:
The system segments the state machine execution by creating separate priority queues for different priority levels (high, medium, low). Each queue independently manages state machines of its priority level, dividing the complex scheduling problem into manageable segments that can be processed sequentially according to priority.
Solution Approach 2:
The system changes the scheduling parameter from simple FIFO (first-in-first-out) to priority-based scheduling. Each state machine is assigned a priority parameter, and the scheduler dynamically adjusts execution order based on this parameter, allowing critical events to be processed immediately while less urgent events wait in lower-priority queues.
2Measurement precision
If state machines are triggered based on complex event patterns over multiple time frames, then the precision of event detection is improved, but the processing time and computational load increase
Solution Approach 1:
The system performs preliminary actions by pre-configuring event patterns and their associated state machines before runtime. Event patterns spanning multiple time frames are defined in advance, allowing the sequencer to efficiently match incoming events against predefined patterns without performing complex analysis in real-time.
Solution Approach 2:
The system uses periodic action by evaluating event patterns at regular intervals corresponding to communication protocol time frames. The sequencer checks whether accumulated events over multiple periods match defined patterns, transforming continuous complex monitoring into discrete periodic evaluations that are computationally efficient.
3Productivity
If relative priorities are defined for different subsets of state machines based on different events, then the execution efficiency is improved, but the system configuration complexity increases
Solution Approach 1:
The system implements a universal priority assignment mechanism that works across all state machines and event types. The same priority queue structure and scheduling logic handle different event subsets uniformly, allowing the system to manage complexity through a single versatile framework rather than multiple specialized mechanisms.
Solution Approach 2:
The priority configuration is made dynamic, allowing different priority assignments for different event types without requiring static rigid structures. The system can adapt priority levels based on the specific event being processed, enabling efficient execution where critical events automatically receive higher priority while less critical events use lower priorities.
Data Source
AI summary
A method includes, in a communication device, defining multiple state machines including states and respective state conditions that depend on a set of events. Relative priorities are defined, to be applied among the state machines in scheduling the state machines for execution in response to the events. The events are monitored and the state conditions are evaluated based on the monitored events. The state machines are executed based on the evaluated state conditions using a scheduling order that depends on the priorities.


