homepage › Forums › Executable UML and xtUML Methodology › OOA '20 Questions: Delayed accelerated event to self › Reply To: OOA '20 Questions: Delayed accelerated event to self
I wondered where this question came from until the discussion at xtUML Days 2019. The discussion between Cortland Starrett and Allan Kennedy revealed that often two event queues are used; one for self-directed events, and one for all other events. In my mind, I only imagined one queue (I wasn’t envisioning self-directed events to stack up), where self-directed events went to the top and non-self-directed events went to the bottom.
In any case, delayed events are just events that get fired from the time domain (the queue discussion makes this an interesting concept (more below)), and should get treated as if they were called directly. This means that delayed self-directed events should go to the event queue, and delayed non-self-directed events should go to the normal event queue.
The interesting thing about considering events from the time domain is that the queue discussion also had a queue for external messages. Queue priority was stated as, “empty self-directed queue, then empty event queue, then empty external message queue”, so a timer domain message might be considered as lowest priority. I’m not sure I agree with that priority order, but I also don’t know if it’s specified in an OOA ‘xx. I would want external events to get put in the normal event queue as they are received.