meaning of condition of control flow

23 views
Skip to first unread message

Alberto

unread,
Nov 18, 2021, 8:46:41 AM11/18/21
to SysML Forum
Hi,

What's the meaning of the condition attached to the control flow (i.e. the connector connecting two nodes)?

In particular, what's the meaning of the condition of a control flow coming out from a fork node? The control flow should wait until its condition is true?

flow.png

Thanks,
Alberto

James Towers

unread,
Nov 18, 2021, 6:18:25 PM11/18/21
to SysML Forum
Control Flows (and Object Flows) can have Guard Conditions, Boolean expressions displayed in square brackets e.g. [x > y] the flow only happens when the preceding action terminates (control flow) or presents object tokens (object flow) and the Guard is true

On 18 Nov 2021, at 09:36, Alberto <debiasi...@gmail.com> wrote:

Hi,

What's the meaning of the condition attached to the control flow (i.e. the connector connecting two nodes)?

In particular, what's the meaning of the condition of a control flow coming out from a fork node? The control flow should wait until its condition is true?

<flow.png>

Thanks,
Alberto

--
--
You received this message because you are subscribed to the Google
Groups "SysML Forum" group.
Public website: http://www.SysMLforum.com
To post to this group, send email to sysml...@googlegroups.com
To unsubscribe from this group, send email to
sysmlforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sysmlforum?hl=en_US?hl=en
---
You received this message because you are subscribed to the Google Groups "SysML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sysmlforum+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sysmlforum/1e7e6f74-53d3-4dcd-85c7-94854ace1c21n%40googlegroups.com.
<flow.png>

István Dányi

unread,
Nov 18, 2021, 6:20:01 PM11/18/21
to sysml...@googlegroups.com
Hi Alberto,

The token received at the ForkNode is held until at least one of the outgoing conditions is satisfied.

In general, the ControlFlow is a specialization of an ActivityEdge and each ActivityEdge can refer to a 'Guard' (~= precondition). This guard is an boolean expression which is evaluated when a token is offered to the edge. The offer (and then the token) will be passed along the edge only if the evaluation result is true. (Without a forwarded token, the ActivityNode at the other end of the edge will not be triggered at all.)

So when a fork receives a token, the fork also offers it on all outgoing edges and then holds it until at least one of these offers is accepted. When this happens, the fork will copy the token onto all edges accepting the offer, but all other edges (rejected by their guards) shall not receive a copy of the token.

hope it helps,
Istvan   

 

--

dani....@gmail.com

unread,
Nov 18, 2021, 6:20:14 PM11/18/21
to sysml...@googlegroups.com

Hi Alberto

 

The meaning of the condition is that this control flog path is traversed only if the condition is true as soon as the control token reaches that segment.

 

Regards

 

Dani Mannes

image001.png

gashu...@gmail.com

unread,
Nov 22, 2021, 9:09:39 PM11/22/21
to SysML Forum
Hi Alberto,

Others have provided you with a correct answers.  I would like to suggest you go to omg.org and download the UML specification.

Get both the current version and 2.4.1 Superstructure (lots of valuable info here and predates the removal of language guidance that occurred in 2.5).

As James has stated an ActivityEdge has a "guard" property (see Fig 12.10 in the UML spec 2.4.1).  It is unfortunate that the control flows have "condition 1,2".

You should also read the section of the spec discussing "ForkNode" semantics ( see 12.3.30 ForkNode UML spec 2.4.1).

Take note of guidance in the last 2 paragraphs of the12.3.30 ForkNode semantics discussion regarding the JoinNode in your diagram

Regards,
Geoff

Alberto

unread,
Nov 22, 2021, 9:09:59 PM11/22/21
to SysML Forum
Thanks for the answers.
Reply all
Reply to author
Forward
0 new messages