Как я могу повторить диаграмму состояний при определенных условиях? - PullRequest
0 голосов
/ 18 апреля 2020

Как я могу повторить диаграмму состояний при определенных условиях? Я не хочу переходить обратно в первое состояние.

Например, у агента А есть диаграмма состояний. И у агента Б также есть диаграмма состояний. Последние состояния в агенте A содержатся в начале диаграммы состояний в агенте B. И агент B перечисляет другие состояния после этого. В состоянии в Агенте A код создает Агента B. До тех пор, пока не будет выполнено определенное условие.

Если я сделаю переход в агенте B (если необходимо с сообщением) из последнего состояния обратно в первое новые агенты создаются и все состояния проходят снова и снова. Теперь я хочу, чтобы диаграмма состояний в агенте b повторялась. У кого-нибудь есть идея?

(Кстати, я перешел обратно в состояние в агенте А, но это желательно).

Я рад любой помощи. :)

Новые подробности ***** Агент А - это машина. Соответствующая диаграмма состояний описывает то, что в данный момент происходит в машине, например, наполнение, прессование, извлечение. В состоянии, например, «нажатие», агент B создан. Это продукт. Продукт должен покинуть машину. По этой причине, как и агент А, он также имеет состояние «Нажмите» и «Извлечь». Состояние «Извлечение» в агенте B подразделяется на дополнительные уровни детализации.

Продукт создается в состоянии «Печать». Следовательно, первое состояние в агенте B начинается с «нажато». Общие состояния работают одновременно. Разница заключается в «выбросе» машины, например, описывает движение деталей машины. В то время как «выталкивание» в продукте описывает, например, движение продукта в машине, то есть «движение вверх» et c. Причина, по которой состояние make возникает дважды, заключается в том, что я хочу описать агентов как можно более подробно.

Агент A: Когда «Eject» завершен, происходит возврат к заполнению состояния, поскольку машина продолжает работать до тех пор, пока не будет выполнено определенное условие. Например, до тех пор, пока сырья больше не будет.

Агент B: После «выброса» продукт все еще обрабатывается, например, он собирается в контейнере и проверяется через определенный промежуток времени, et c. После последнего состояния возникает только «конечное состояние». Причина: продукт не go повторяет одни и те же шаги снова и снова, но новый продукт создается снова и снова.

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

Надеюсь, вы сможете открыть фото введите описание изображения здесь

1 Ответ

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

Вы не можете «повторить» диаграмму состояний. Вы должны работать с переходами, возвращающимися в исходное состояние. Однако это не ошибка / ограничение, а особенность.

Последние состояния в агенте A содержатся в начале диаграммы состояний в агенте B.

Это не похоже на хороший дизайн.

Вам придется переосмыслить свой дизайн диаграммы состояний. Очень вероятно, что есть простое исправление, но ваше описание очень неясно. Может быть, уточнить это и добавить несколько четких снимков экрана. Также проверьте { ссылка }

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