diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-21.png b/docs/src/reference/asciidoc/images/papyrus-gs-21.png new file mode 100644 index 00000000..da6bc6fd Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-21.png differ diff --git a/docs/src/reference/asciidoc/sm.adoc b/docs/src/reference/asciidoc/sm.adoc index 93d13cf6..8b4dee45 100644 --- a/docs/src/reference/asciidoc/sm.adoc +++ b/docs/src/reference/asciidoc/sm.adoc @@ -2128,10 +2128,24 @@ never been active as its history has never been recorded. If state image::images/papyrus-gs-20.png[scaledwidth="100%"] +=== Define Fork/Join +Both _Fork_ and _Join_ are represented as bars in _Papyrus_. As shown +below you need to draw one outgoing transition from `FORK` into state +`S2` which have orthogonal regions. `JOIN` is then reverse where +joined states are collected together via incoming transitions. + +image::images/papyrus-gs-21.png[scaledwidth="100%"] + === Define Actions State entry and exit actions can be associated by using a behaviour, more about this in <>. +==== Initial Action +Initial action as shown in <> is defined +in uml by adding action in transition leading from _Initial State_ +marker into actual state. This _Action_ is then executed when state +machine is started. + === Define Guards Guard can be defined by first adding _Constraint_ and then defining its _Specification_ as _OpaqueExpression_ which works in a same way