Моделирование создания объектов и взаимодействия с ними на диаграммах состояний(Прочитано 3230 раз)
Добрый день !

Подскажите, пожалуйста, как смоделировать с помощью диаграммы состояний следующую ситуацию.
1) Необходимо чтобы при переходе Объекта 1 в Состояние 11 создавался Объект 2.
2) Далее, при переходе Объекта 2 в Состояние 22 Объект 1 переходил в Состояние 12.

Вложил диаграмму, на которой 2 пункт я промоделировал. С первым не знаю как быть.

Спасибо !



Существует событие, которое переводит Объект 1 в Состояние 11. На переходе или на выходе из Состояния 10 или на входе в Состояние 11 или во время нахождения в Состоянии 11 выполняется деятельность по созданию объекта 2 CreateObjecT(Object 2).

Далее изображается вторая диаграмма автомата объекта, на которой показывают события, Объект 1 по мановению палочки ведь не перейдет в Состояние 12, он должен получить сообщение, на диаграмме это нужно показать как событие перехода между 11 и 12 типа getMessageFromObject2()



Спасибо за ответ !

Через две отдельные диаграммы состояний можно всё четко смоделировать, да.

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



UML позволяет показать на одной диаграмме действия осуществляемые при переходе между состояниями одного объекта, если они осуществляются над вторым объектом, в виде стрелочек между переходом и вторым автоматом.
Я не такой глубокий знаток UML. Однако здравый смысл заставляет меня сомневаться в этом утверждении. Могли бы вы описать ваш процесс (в начале этой темы) на каком-то наглядном примере так сказать в лицах?



Присоединяюсь к сомнениям Эдуарда. Соединять переходы стрелками -- это не по стандарту. Можно сделать общее примечание для двух переходов, если хочется.
В рамках стандарта можно использовать композитное состояние с параллельными регионами (каждый регион для своего объекта), а синхронизацию обозначить с помощью состояния синхронизации (sync states). См. здесь (слайд 93)