11.5 Delayed Signals and Time Events


Executable UML allows for a signal to be sent at some time in the future.


generate <signal> to <instance handle> delay <duration>;

This action causes the signal to be received after the duration expires. (It is not relevant whether the sender delays sending the signal, or the receiver delays receipt. That decision is properly the domain of the model compiler.)

A delayed signal cannot be manipulated directly by the application, because the delayed signal belongs in the domain of the model compiler, and any such manipulation would constitute domain pollution.

However, there remains a need to refer to a delayed signal, for example, to cancel it:


cancel <signal> from <instance handle> to <instance handle>;

There can be at most one delayed signal of a given name (an event specification) outstanding for each sender-receiver instance pair at any one time.

Finally, a delayed signal can be caused to be produced at an exact time. The "exact time" is determined by the sender or receiver, according to the wishes of the model compiler.


generate <signal> to <instance handle> at <exact time>;

This type of signal can be canceled too, using the same cancel action.



Executable UML. A Foundation for Model-Driven Architecture
Executable UML: A Foundation for Model-Driven Architecture
ISBN: 0201748045
EAN: 2147483647
Year: 2001
Pages: 161

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net