Previous | Table of Contents | Next
Problem – Defining Actions prevented
from being executed Immediately
Many times an event will occur that cannot be immediately acted upon. These events need to be tracked and handled at some later point in time.
Solution
Deferred actions may be specified through the definition of blocking and queuing types. A blocking type prevents any actions in response to the event until some condition is satisfied. A queuing type provides a mechanism for responding to a backlog of events.
Example – Web Based Customer
Support
The customer service department for an organization manages a web site that enables customers to submit support requests completing a web page form. All requests are handled in a first-in, first-out manner. However, two separate queues are maintained, one for preferred customers and another for all other customers. Since preferred customers have paid for support, they are handled in a ratio of four to one. This example also applies the Ordering rule pattern to establish the four to once ratio of request handling between the two customer types. This is accomplished through a functional restriction, however the parameters are omitted for clarity of the Deferred Action rule pattern.
Preferred customer Queue type |
FIFO |
General customer Queue type |
FIFO |
UML Representation and Related
Patterns
The Deferred Action business rule pattern maps to an ActionSequence that is associated with a deferredEvent between a State and an Event. It specifies the effect of the Transition that is triggered by the Event.
Previous | Table of Contents | Next