6.6. Super-States

Super-state はノードのグループです。再帰的にネストし、プロセス定義へ階層を追加するために使用することができます。例えば、この機能を使用してフェーズの 1 プロセスに属するすべてのノードをグループ化することができます。
アクションを super-state のイベントに関連付けることもできます。ネスト化されたノードでトークンにより開始されたイベントは、プロセス定義まで super-state 階層まで上がっていきます。そのため、階層内の全ノードに同時に存在するように機能します。これは、実行プロセスが起動フェーズにあるかをチェックする時などに便利です。

6.6.1. Super-state 遷移

Super-state を退出する遷移は、その super-state 内にあるノードのいずれかに置かれているトークンにより取得可能です。この機能のユースケースの1つに、いつでも行うことのできる キャンセル の遷移モデルが挙げられます。
遷移は Super-state にも到達可能です。その場合、トークンは最初のノードに文書の順番にリダイレクトされます。Super-state の外側のノードから super-state の内側のノードに直接遷移することも可能です。逆に、Super-state の内側のノードから super-state の外側のノードの遷移も、また Super-state そのものへの遷移も可能です。super-state は、自身を参照することもできます。