В чем разница между завершающим псевдосостоянием и конечным состоянием на диаграмме состояний? - PullRequest
0 голосов
/ 10 сентября 2018

Стандарт UML заявляет

завершение псевдосостояния
Ввод псевдосостояния завершения означает, что выполнение конечного автомата с помощью его объекта контекста прекращается.Конечный автомат не выходит из состояний и не выполняет никаких действий выхода, кроме тех, которые связаны с переходом, ведущим к псевдосостоянию завершения.

Когда я должен использовать псевдосостояние final и terminate?Для меня термин «псевдосостояние» может быть заменен состоянием с именем «уничтожено».

1 Ответ

0 голосов
/ 18 сентября 2018

Многие объяснения и примеры немного загадочны, поэтому позвольте мне посмотреть, могу ли я изложить это на более простом английском для вас. Конечное состояние - это когда процесс выходит из конечного автомата. Конечное псевдосостояние - это то, где конечный автомат выключается.

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

Я не пойду настолько далеко, что скажу, что псевдосостояние завершает моделирование ненормального завершения конечного автомата, но именно для этого его используют большинство практических приложений.

...