Method Calls / Control Flow
Methods are used to model remote calls typically (but not necessarily) in a situation of alternating execution. This means that the caller will wait and suspend his action until the corresponding reply returns.
Due to the fact that instances may be decomposed it is not obvious that an instance have to wait for the reply. Therefore suspension (described by suspension regions above) is not mandatory, but explicitly described.
A special case is when a suspended instance receives a remote method call. We have allowed (inspired by the UML correspondant feature) that the suspended instance may execute the requested method. (Shown in lower left cornre of chart)
This slide also shows the improved condition notation where conditions may contain a predicate. Such a condition covers only one instance which must be the only instance in the guarded scope that is active in the respect that it is the only instance which is about to have an event.
In this example, the guarded scopes are inline expression operands and the active instance is in both operands “ob1”.