TransWikia.com

What's the use case of the combined fragment "strict"?

Software Engineering Asked by TimSch on December 21, 2020

As far as I understood, synchronous messages will be handled one after another.

Then we have the interaction operator for combined fragments called “strict” which states, that the operands inside the fragment should run one after another.

I can’t see the difference to the normal behaviour with synchronous messages.

Why would I want (or need) to use the keyword “strict” instead of just using synchronous messages?

2 Answers

The UML 2.5 specs tells on p. 617:

• strict | The InteractionOperatorKind strict designates that the CombinedFragment represents a strict sequencing between the behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the CombinedFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing CombinedFragment.

(That would leave me with quite some question marks hovering over my head.)

Earlier on p. 590 you find

17.7.4.2 PartDecomposition

PartDecomposition is designated by a referencing clause in the head of the Lifeline as can be seen in the notation sub clause 17.3.4 (Lifeline) (see also Figure 17.21).

If the part decomposition is denoted inline under the decomposed lifeline and the decomposition clause is “strict,” this indicates that the constructs on all sub lifelines within the inline decomposition are ordered in strict sequence (see 17.6.4 (Strict interactionOperator).

Extra global CombinedFragments have their rectangular frame go outside the boundaries of the decomposition Interaction.

The reference to 17.6.4.7 on p. 584:

17.6.4.7 Strict interactionOperator

Notationally, this means that the vertical coordinate of the contained fragments is significant throughout the whole scope of the CombinedFragment and not only on one Lifeline. The vertical position of an OccurrenceSpecification is given by the vertical position of the corresponding point. The vertical position of other InteractionFragments is given by the topmost vertical position of its bounding rectangle.

Answered by qwerty_so on December 21, 2020

"Synchronous" means the same thing as "blocking." It doesn't necessarily have anything to do with the order in which messages are handled.

See here, which says that the system "waits for a message response before it continues processing."

Accordingly, you need "strict" to distinguish between synchronous message handling where order matters and synchronous message handling where order doesn't matter.

Answered by Robert Harvey on December 21, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP