UML State Machines: глубокая история, псевдосостояние и конечное состояние - PullRequest
0 голосов
/ 30 апреля 2018

В машинах состояний UML, что именно происходит с историей составного состояния, если вводится конечное состояние подсостояния?

Рассмотрим конечный автомат, показанный ниже. После триггерной последовательности T1-T2-T3-T4 он окажется в конечном состоянии. При входе в конечное состояние история региона State21 очищается, и, поскольку регион также завершается этим, будет выполнен переход завершения в State1. Теперь, когда триггер T5 включается, конечный автомат переходит в состояние глубокой истории. Я полагаю, что в этой ситуации состояние глубокой истории представляет собой State21, что означает, что конечный автомат входит в State21 и затем выполняет переход из исходного псевдосостояния State21 в State211. Это правильно?

Я предпочитаю поведение, описанное выше, но я вижу альтернативу, в которой история State2 также очищается при входе в конечное состояние в State21. В этом случае конечный автомат выполняет переход из исходного псевдосостояния State2 в State22. Так что ты думаешь?

State Machine

1 Ответ

0 голосов
/ 02 мая 2018

Из моего глубокого понимания истории

Этот тип псевдосостояния является разновидностью переменной, которая представляет самую последнюю конфигурацию активного состояния своего региона. Как объяснено выше, переход, заканчивающийся в этом псевдосостоянии, подразумевает восстановление Региона в той же конфигурации состояния, но со всей семантикой , входящей в состояние (см. Подраздел, описывающий запись состояния).

Ваше первое описание поведения кажется хорошим. Путем триггеринга переходов T1, T2, T3, T4 и T5 вы вернетесь к записи State21, то есть State211.

...