11.3 Rules about Procedures


The following comments refer to the "Rules about Procedures" enumerated in the box above.

Run-to-completion.

The key rule here (Procedures: 4) is called run-to-completion. It states that the procedure must complete its execution before the object can recognize another signal directed to the state machine. This is a standard UML rule for execution carried over into Executable UML without change.

It is not literally correct to say that a procedure is "atomic" or "uninterruptable," because other procedures in other objects can, in fact, interrupt and even access data in use by other procedures. This is important because you must design your models to take into account other objects accessing the same data as you.

Propagation.

It can take time for the system to become entirely consistent, because it takes time for signals to propagate and procedures to execute.

In the real world, when you receive your bank statement, it is likely that the balance shown on the statement differs from that shown in your checkbook. This is due to the fact that it takes time for checks and deposits to arrive at the bank and to be reflected in the account's balance. The work you go through to verify the statement is correct takes care of this by accounting for uncleared checks and unrecorded deposits.

Inconsistency must be explicitly prohibited in the Executable UML models by synchronization, and by carefully managing data access.



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