Диаграмма состояний, вычисление значения после этих функций - PullRequest
1 голос
/ 20 апреля 2020

У меня есть эта картина диаграммы состояния, и я должен вычислить значение x после нескольких событий. События e1-e2-e2-e2-e2
В начале x будет равен 2.
Первым событием будет e1, поэтому я думаю, что после этого события оно станет равным 4.
Следующим является e2 и Мне было интересно, потому что выход x = x-1, так что он go должен заявить о состоянии B, потому что он меньше 4 или C, потому что это было 4, но стало 3 на выходе?
И давайте предположим, что он идет к B, и становится 5, и мы снова делаем e2. Ничего не случилось бы, потому что единственная возможность - x> 5 и она равна 5?

state_diagram_calculation.png

Ответы [ 2 ]

2 голосов
/ 20 апреля 2020

Предполагая, что предохранитель между A и C равен x>=4 (поскольку e не определено), я создал небольшую таблицу переходов:

enter image description here

Таким образом, конечное состояние должно быть B, а X равно 11.

0 голосов
/ 20 апреля 2020

В автоматах UML защитные устройства оцениваются, когда они находятся в исходном состоянии. Т.е. при получении е2 в первый раз х равен 4, и, таким образом, вы переходите к C, не предполагая, что е есть х (иначе это не имеет смысла). После того, как вы решили перейти к C и, таким образом, покинуть A, вы абстрагируете 1 от x из-за выходной процедуры. Находясь в C, вы можете изменить B с помощью триггера e2, который не охраняется (защита x> 5 относится к переходу от B к C). Теперь х равен 6, так как вы добавляете 3 из-за условия входа. Затем вы получаете следующий e2 и переходите к B, где вы добавляете 1, так что x теперь равно 7. При получении следующего e2 вы проверяете охрану при переходе к C, который требует, чтобы x был больше 5, что имеет место , Итак, позвольте go до C и выполните действие ввода еще раз. Таким образом, x теперь равно 10. Затем вы получаете еще один e2, поэтому состояние меняется на C, и выполняется его действие по вводу, таким образом, x равно 11.

Таким образом, после выполнения данных событий, x 11 и состояние машины находится в состоянии B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...