diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-12.png b/docs/src/reference/asciidoc/images/papyrus-gs-12.png new file mode 100644 index 00000000..911330a9 Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-12.png differ diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-13.png b/docs/src/reference/asciidoc/images/papyrus-gs-13.png new file mode 100644 index 00000000..a6748f87 Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-13.png differ diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-14.png b/docs/src/reference/asciidoc/images/papyrus-gs-14.png new file mode 100644 index 00000000..7f812a53 Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-14.png differ diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-15.png b/docs/src/reference/asciidoc/images/papyrus-gs-15.png new file mode 100644 index 00000000..c4093e23 Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-15.png differ diff --git a/docs/src/reference/asciidoc/sm.adoc b/docs/src/reference/asciidoc/sm.adoc index 9bc10b76..393c8241 100644 --- a/docs/src/reference/asciidoc/sm.adoc +++ b/docs/src/reference/asciidoc/sm.adoc @@ -1949,3 +1949,30 @@ any uml _effect_, _action_ or _guard_, supported method to do that is via `FunctionBehavior` or `OpaqueBehavior` where defined language needs to be `spel` and language body having a SpEL expression. +[[sm-papyrus-submachineref]] +=== Using Sub-Machine Reference +Normally when using sub-states those are simply drawn into a state +chart itself. Chart itself may become a little complex and big to +follow so we also support defining sub-state as a statemachine +reference. + +First create a _New Diagram_ and give it a name i.e. _SubStateMachine +Diagram_. + +image::images/papyrus-gs-12.png[width=400] + +Give new diagram a design you need. + +image::images/papyrus-gs-13.png[width=400] + +From state you want to link(in this case state `S2`), click +`Submachine` field and choose your linked machine, i.e. +_SubStateMachine_. + +image::images/papyrus-gs-14.png[width=400] + +Finally you'll see that state `S2` is linked to `SubStateMachine` as a +sub-state. + +image::images/papyrus-gs-15.png[width=400] +