<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=SysML_Activity_Diagram</id>
	<title>SysML Activity Diagram - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=SysML_Activity_Diagram"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=SysML_Activity_Diagram&amp;action=history"/>
	<updated>2026-04-12T22:57:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=SysML_Activity_Diagram&amp;diff=67264&amp;oldid=prev</id>
		<title>Fstachecki: /* SysML Activity extensions⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=SysML_Activity_Diagram&amp;diff=67264&amp;oldid=prev"/>
		<updated>2018-05-20T09:41:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;SysML Activity extensions⌘&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:SysML]]&lt;br /&gt;
[[Category:private]]&lt;br /&gt;
&lt;br /&gt;
==SysML Activity Diagram⌘==&lt;br /&gt;
===Flow-based logic⌘===&lt;br /&gt;
[[File:ClipCapIt-160721-092359.PNG]]&lt;br /&gt;
* Activity modeling specifies controlled sequences of actions, inputs and outputs.&lt;br /&gt;
* Activity diagram is primary representation for modeling flow-based logic.&lt;br /&gt;
&lt;br /&gt;
===Activity, Action⌘===&lt;br /&gt;
[[File:ClipCapIt-170919-135928.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Activity&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*describes a &amp;#039;&amp;#039;&amp;#039;sequence of actions&amp;#039;&amp;#039;&amp;#039; based on control models and object flow models&lt;br /&gt;
*contains edges and activity nodes (e.g. actions), is represented by a rectangle with rounded corners&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* is a fundamental unit of executable functionality contained within an Activity&lt;br /&gt;
* represents a &amp;#039;&amp;#039;&amp;#039;single step&amp;#039;&amp;#039;&amp;#039; within an activity&lt;br /&gt;
&lt;br /&gt;
====Activity Node ⌘====&lt;br /&gt;
[[File:ActivityNodeMetamodel.png]]&lt;br /&gt;
&lt;br /&gt;
Subtypes of Activity Node&lt;br /&gt;
&lt;br /&gt;
[[File:ActivityNode.png]]&lt;br /&gt;
&lt;br /&gt;
====Activity Edge⌘====&lt;br /&gt;
[[File:ActivityEdge.png]]&lt;br /&gt;
* The edges of an activity&lt;br /&gt;
* Denoted by a straight line with an open arrowhead&lt;br /&gt;
=====Control Flow⌘=====&lt;br /&gt;
[[File:ClipCapIt-160721-080042.PNG]]&lt;br /&gt;
* A control flow is an edge that starts an activity node after the previous one is finished&lt;br /&gt;
* In SysML a control flow may be notated with a dashed line and stick arrowhead&lt;br /&gt;
&lt;br /&gt;
=====Object Flow⌘=====&lt;br /&gt;
[[File:ObjectFlow.png|333px]] &amp;#039;&amp;#039;&amp;#039;OR&amp;#039;&amp;#039;&amp;#039; [[File:ObjectFlow2.png]]&lt;br /&gt;
&lt;br /&gt;
* An object flow is an activity edge that can have objects or data passing along it&lt;br /&gt;
===Control Nodes⌘===&lt;br /&gt;
[[File:ClipCapIt-141105-111637.PNG]]&lt;br /&gt;
* Control Node is used to manage the flow of tokens between other nodes in an Activity.&lt;br /&gt;
====Initial Node⌘====&lt;br /&gt;
[[File:ActivityInitialNode.png]]&lt;br /&gt;
&lt;br /&gt;
* It has outgoing edges but no incoming edges&lt;br /&gt;
* An activity may have more than one initial node&lt;br /&gt;
** Each generates a concurrent flow&lt;br /&gt;
* An initial node can have more than one outgoing edge&lt;br /&gt;
** Semantics: a control token at &amp;#039;&amp;#039;&amp;#039;ONLY ONE&amp;#039;&amp;#039;&amp;#039; outgoing edge&lt;br /&gt;
* Activity diagrams do not have to have initial nodes&lt;br /&gt;
* Notation: a filled circle&lt;br /&gt;
&lt;br /&gt;
====Activity Final Node⌘====&lt;br /&gt;
[[File:ActivityFinalNode.png]]&lt;br /&gt;
&lt;br /&gt;
*An activity may have more than one activity final node&lt;br /&gt;
*The first one reached stops all flows in the activity&lt;br /&gt;
** Regardless of the number of tokens in activity&lt;br /&gt;
* At least one incoming edge and no outgoing edges&lt;br /&gt;
* If several incoming edges only one must carry a token&lt;br /&gt;
* Activity diagrams do not have to have final nodes&lt;br /&gt;
* Notation: a filled circle with an outer ring&lt;br /&gt;
====Flow Final Node⌘====&lt;br /&gt;
[[File:ClipCapIt-150923-231210.PNG]]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;A Flow Final Node&amp;#039;&amp;#039;&amp;#039; is a Final Node that terminates a flow by consuming the tokens offered to it without any effect on execution of the enclosing activity.&lt;br /&gt;
&lt;br /&gt;
====Decision⌘====&lt;br /&gt;
[[File:ActivityDecision.png]]&lt;br /&gt;
* is a control node that chooses between outgoing flows&lt;br /&gt;
* One incoming edge and several outgoing edges&lt;br /&gt;
* When a token is supplied guards on outgoing edges are evaluated&lt;br /&gt;
** Token goes to first true outgoing&lt;br /&gt;
* Notation: a rhombus&lt;br /&gt;
&lt;br /&gt;
====Merge⌘====&lt;br /&gt;
[[File:ActivityMerge.png|350px]]&lt;br /&gt;
* A merge node is a control node that brings together multiple alternate flows&lt;br /&gt;
**It is not used to synchronize concurrent flows&lt;br /&gt;
*Several incoming edges, one outgoing edge&lt;br /&gt;
*Nothing calculated, nothing expected&lt;br /&gt;
*Notation: an empty rhombus&lt;br /&gt;
* incoming to and outgoing from a Merge must be either all Object Flows or all Control Flows.&lt;br /&gt;
====Fork, Join⌘====&lt;br /&gt;
[[File:ClipCapIt-141104-174247.PNG]]&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Fork&amp;#039;&amp;#039;&amp;#039; – one incoming edge and multiple outgoing edges&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Join&amp;#039;&amp;#039;&amp;#039; – multiple incoming edges and one outgoing edge&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
===localPrecondition and localPostcondition⌘===&lt;br /&gt;
[[File:ClipCapIt-141104-083658.PNG]]&lt;br /&gt;
* localPrecondition for an Action is constraint that should hold when an execution of an Action starts &lt;br /&gt;
* localPostcondition for an Action is constraint that should hold when an execution of an Action completes&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Call Behavior Action⌘===&lt;br /&gt;
[[File:ClipCapIt-160722-092620.PNG]]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Call Behavior Action&amp;#039;&amp;#039;&amp;#039; invokes a Behavior directly&lt;br /&gt;
&lt;br /&gt;
===Send Signal Action⌘===&lt;br /&gt;
[[File:ClipCapIt-141104-160925.PNG]]&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Send Signal Action&amp;#039;&amp;#039;&amp;#039; creates a Signal instance and transmits the instance to the object given on its target&lt;br /&gt;
&lt;br /&gt;
===Accept Event Actions⌘===&lt;br /&gt;
[[File:ClipCapIt-141104-155216.PNG]]&lt;br /&gt;
* Accept Event Action waits for a specific event to occur. &lt;br /&gt;
====Accept Event Actions examples⌘====&lt;br /&gt;
[[File:ClipCapIt-141104-155340.PNG]]&lt;br /&gt;
===Interruptible Region⌘===&lt;br /&gt;
[[File:ClipCapIt-160725-114021.PNG]]&lt;br /&gt;
* An Interruptible Region is a group that supports termination of a portion of an Activity.&lt;br /&gt;
&lt;br /&gt;
===SysML Activity extensions⌘===&lt;br /&gt;
SysML provides some extensions to UML Activity diagrams:&lt;br /&gt;
* extensions to UML flows:&lt;br /&gt;
** Probability&lt;br /&gt;
** Rate&lt;br /&gt;
* Optional parameter&lt;br /&gt;
* Activities as blocks (function tree)&lt;br /&gt;
&amp;lt;!--* ControlValue and ControlOperator--&amp;gt;&lt;br /&gt;
====Probability⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-102346.PNG]]&lt;br /&gt;
* The «probability» stereotype can be applied to edges coming out of decision nodes and object nodes.&lt;br /&gt;
* It provides an expression for the probability that the edge will be traversed. &lt;br /&gt;
* These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.&lt;br /&gt;
====Rate / Frequency⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-165459.PNG]]&lt;br /&gt;
* When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. &lt;br /&gt;
* Two kinds of rate: continuous or discrete&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Continuous&amp;#039;&amp;#039;&amp;#039; rate is intended to represent continuous flows that may correspond to water flowing through a pipe, or continuous energy flow.&lt;br /&gt;
====Optional parameter⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-103228.PNG]]&lt;br /&gt;
* When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. &lt;br /&gt;
* This means the parameter is not required to have a value for the activity or any behavior to begin or end execution.&lt;br /&gt;
====Activities as blocks⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-101318.PNG]]&lt;br /&gt;
* Activities in block definition diagrams appear as regular blocks with the «activity» keyword&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
====Control Operator⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-171343.PNG]]&lt;br /&gt;
* A &amp;#039;&amp;#039;&amp;#039;Control Operator&amp;#039;&amp;#039;&amp;#039; is a behavior that can be used to enable and disable other actions.&lt;br /&gt;
* A &amp;#039;&amp;#039;&amp;#039;Control Value&amp;#039;&amp;#039;&amp;#039; is an enumeration with values used by control operator.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Linking activities to structural elements⌘===&lt;br /&gt;
* Activities can be used without any reference to existing structural model elements.&lt;br /&gt;
* there are some possibilities how to link them to those elements:&lt;br /&gt;
** using activity partitions&lt;br /&gt;
** using behaviors for blocks&lt;br /&gt;
** using methods&lt;br /&gt;
** using activities as part of transition description on state machine diagram&lt;br /&gt;
====Behaviors for blocks⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-145217.PNG]]&lt;br /&gt;
====Activities as Methods⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-132631.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Partitions⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-134448.PNG]]&lt;br /&gt;
====State Machine transition⌘====&lt;br /&gt;
[[File:ClipCapIt-160721-141436.PNG]]&lt;/div&gt;</summary>
		<author><name>Fstachecki</name></author>
	</entry>
</feed>