diff --git a/docs/src/reference/asciidoc/images/papyrus-gs-17.png b/docs/src/reference/asciidoc/images/papyrus-gs-17.png new file mode 100644 index 00000000..78050707 Binary files /dev/null and b/docs/src/reference/asciidoc/images/papyrus-gs-17.png differ diff --git a/docs/src/reference/asciidoc/sm.adoc b/docs/src/reference/asciidoc/sm.adoc index 128aea22..dc3564d0 100644 --- a/docs/src/reference/asciidoc/sm.adoc +++ b/docs/src/reference/asciidoc/sm.adoc @@ -2056,6 +2056,23 @@ academic. Actual logic to select outgoing transition is exactly same. === Define Junction See <>. +=== Define Entry/Exit +_EntryPoint_ and _ExitPoint_ are used to do controlled entry and exit +with state having sub-states. In a below statechart events `E1` and +`E2` will do a normal state behaviour by entering and exiting state +`S2` where normal state behaviour happens by entering initial state +`S21`. + +Using event `S3` takes machine into _EntryPoint_ `ENTRY` which then +leads into `S22` without activating initial state `S21` at any time. +Similarly _ExitPoint_ `EXIT` with event `S4` controls specific exit +into state `S4` while normal exit behaviour from `S2` would take +machine into state `S3`. While being on a state `S22` you can choose +events `E4` or `E2` to take machine into states `S3` or `S4` +respectively. + +image::images/papyrus-gs-17.png[scaledwidth="100%"] + === Define Actions State entry and exit actions can be associated by using a behaviour, more about this in <>.