SysMLv1: A basic ControlFlow, ObjectFlow, and DecisionNode loop driven by fUML ReadLine CLI String input with conversion to Boolean for LiteralBoolean guard [with mini video] Gallery Tutorial TRAIL: SysMLv1/UML: Cameo Simulation Toolkit® (Magic Model Analyst®): Some basics for beginners and some more advanced cases [with mini videos] Section Slide kind SysML Activity Diagram UML Activity Diagram
SysMLv1: A basic ControlFlow, ObjectFlow, and DecisionNode loop driven by fUML ReadLine CLI String input [with mini video] Gallery Tutorial TRAIL: SysMLv1/UML: Cameo Simulation Toolkit® (Magic Model Analyst®): Some basics for beginners and some more advanced cases [with mini videos] Section Slide kind SysML Activity Diagram UML Activity Diagram
TRAIL: SysMLv1/UML: Cameo Simulation Toolkit® (Magic Model Analyst®): Some basics for beginners and some more advanced cases [with mini videos] Jump to first slide SysMLv1: A basic ControlFlow and DecisionNode loop with implied variable popup dialog [with mini video] Sections
TIP: SysMLv1/UML: Cameo Simulation Toolkit: HOWTO convert an fUML ReadLine CLI String to a Boolean for cleaner DecisionNode tests against a LiteralBoolean [true] guard.
TIP/GOTCHA: SysMLv1/fUML: Cameo Simulation Toolkit: If you have a ControlFlow loop with a DecisionNode test you MUST have a MergeNode for the continuation path ControlFlow (typically entered also from an InitialNode or other loop starting point).
TIP/GOTCHA: SysMLv1/UML: Cameo Simulation Toolkit: If you use a «decisionInputFlow» to a DecisionNode you MUST also have a ControlFlow to the DecisionNode; if you don't use an explicit «decisionInputFlow» you don't need the "extra" ControlFlow
ExecutableNode has implicit fork Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
OPTION double InitialNode Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
CORRECT InitialNode explicit fork Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
INCORRECT InitialNode no implicit fork Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
A DecisionNode accepts tokens on its primary incoming edge and offers them to all its outgoing edges. However, each token offered on the primary incoming edge shall traverse at most one outgoing edge. Tokens are not duplicated. Source Unified Modeling Language 2.5.1
When an Action in an Activity completes execution, object tokens for output data placed on its OutputPins may be offered on any outgoing ObjectFlows from those Pins ... In addition, control tokens shall be offered on any outgoing ControlFlows ... Source Unified Modeling Language 2.5.1
If the outgoing edge of a MergeNode is a ControlFlow, then all incoming edges must be ControlFlows, and, if the outgoing edge is an ObjectFlow, then all incoming edges must be ObjectFlows. Source Unified Modeling Language 2.5.1
If the incoming edge is a ControlFlow, then all outgoing edges shall be ControlFlows and, if the incoming edge is an ObjectFlow, then all outgoing edges shall be ObjectFlows. Source Unified Modeling Language 2.5.1
ExecutableNodes actually carry out the desired behavior of an Activity. If an ExecutableNode has incoming ControlFlows, then there must be tokens offered on all these flows that it accepts before beginning execution. Source Unified Modeling Language 2.5.1
ControlFlows are used to explicitly sequence execution of ActivityNodes, as the target ActivityNode cannot receive a control token and start execution until the source ActivityNode completes execution and produces the token. Source Unified Modeling Language 2.5.1
A ControlFlow is an ActivityEdge that only passes control tokens (and some object tokens as specified by modelers, see isControlType for ObjectNodes ...). Source Unified Modeling Language 2.5.1
When an ExecutableNode completes an execution, the control token representing that execution is removed from the ExecutableNode and control tokens are offered on all outgoing ControlFlows of the ExecutableNode. That is, there is an implicit fork ... Source Unified Modeling Language 2.5.1
In some cases, multiple concurrent executions of an ExecutableNode may be ongoing at one time (see the semantics of isLocallyReentrant=true for Actions ... ). In this case, the ExecutableNode holds one control token for each concurrent execution. Source Unified Modeling Language 2.5.1
While the ExecutableNode is executing, it is considered to hold a single control [token] indicating it is execution [executing]. Source Unified Modeling Language 2.5.1
The effect of object tokens accepted from ControlFlows is not specified (see isControlType for ObjectNodes ...), but the semantics above applies if the effect is to execute the ExecutableNode. Source Unified Modeling Language 2.5.1
Before an ExecutableNode begins executing, it accepts all tokens offered on incoming ControlFlows. If multiple tokens are being offered on a ControlFlow, they are all consumed. Source Unified Modeling Language 2.5.1
An ExecutableNode shall not execute until all incoming ControlFlows (if any) are offering tokens. That is, there is an implicit join on the incoming Control Flows. Specific kinds of ExecutableNodes may have additional prerequisites ... Source Unified Modeling Language 2.5.1
In a SysML Activity Diagram a control flow may be notated with a dashed line and stick arrowhead; this helps distinguish a ControlFlow from an ObjectFlow symbol.
uml101 - Activity Diagram - notation - REFERENCE CARD This content has been marked as discussing an ADVANCED topic! Gallery Tutorial TRAIL: Webel's ultimate guide to Systems Modeling Language (v1) with MagicDraw/Cameo Section 01:04: UML Behavior: Activities quick start Slide kind UML Activity Diagram
Allocation of ControlFlow is not shown as an example, but it is not prohibited in SysML. Source OMG Systems Modeling Language (SysML) 1.6
object_nodes ControlFlows may not have ObjectNodes at either end, except for ObjectNodes with control type. Source Unified Modeling Language 2.5.1
A ControlFlow is an ActivityEdge traversed by control tokens or object tokens of control type, which are use to control the execution of ExecutableNodes Source Unified Modeling Language 2.5.1
MagicDraw/Cameo: to use SysML-style control flow notation with a dashed line and stick arrowhead set the Diagram Style display option SysML Control Flow Style to true (enabled)
Figure 11-4: Control flow notation Gallery Tutorial TRAIL: The SysML-1.6 Hybrid SUV sample and specification diagrams in MagicDraw/Cameo (with annotations) [UNDERGOING UPDATE to SysML1.7] Section Section: SysML-1.6 specification diagrams: 11 Activities Slide kind hybrid diagram SysML Activity Diagram
Control flow may be notated with a dashed line and stick arrowhead, as shown in Figure 11-4. Source OMG Systems Modeling Language (SysML) 1.6
If the primary incoming edge of a DecisionNode is a ControlFlow, then all outgoing edges shall be ControlFlows and, if the primary incoming edge is an ObjectFlow, then all outgoing edges shall be ObjectFlows. Source Unified Modeling Language 2.5.1
15.3.3.6 Decision Nodes - A DecisionNode is a ControlNode that chooses between outgoing flows. Source Unified Modeling Language 2.5.1
incoming_control_one_input_parameter If the DecisionNode has a decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has one in Parameter ... Source Unified Modeling Language 2.5.1
decision_input_flow_incoming The decisionInputFlow of a DecisionNode must be an incoming ActivityEdge of the DecisionNode. Source Unified Modeling Language 2.5.1
DecisionNode::edges The ActivityEdges incoming to and outgoing from a DecisionNode, other than the decisionInputFlow (if any), must be either all ObjectFlows or all ControlFlows. Source Unified Modeling Language 2.5.1
zero_input_parameters If the DecisionNode has no decisionInputFlow and an incoming ControlFlow, then any decisionInput Behavior has no in parameters. Source Unified Modeling Language 2.5.1
The values on such object tokens may be used to affect the control of ExecutableNodes that are the targets of such ControlFlows, though the specific meaning of such values is not defined in this specification Source Semantics of a Foundational Subset for Executable UML Models 1.4
If isControlType=true for an ObjectNode, ControlFlows may be incoming to and outgoing from the ObjectNode, objects tokens can come into or go out of the ObjectNode along ControlFlows, and these tokens can flow along ControlFlows reached downstream ... Source Semantics of a Foundational Subset for Executable UML Models 1.4