Автор Тема: Моделирование создания объектов и взаимодействия с ними на диаграммах состояний  (Прочитано 3052 раз)

locode

  • Newbie
  • *
  • Сообщений: 2
  • Рейтинг читателей: 0
    • Просмотр профиля
Добрый день !

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

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

Спасибо !


Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6158
  • Рейтинг читателей: 198
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
Существует событие, которое переводит Объект 1 в Состояние 11. На переходе или на выходе из Состояния 10 или на входе в Состояние 11 или во время нахождения в Состоянии 11 выполняется деятельность по созданию объекта 2 CreateObjecT(Object 2).

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

locode

  • Newbie
  • *
  • Сообщений: 2
  • Рейтинг читателей: 0
    • Просмотр профиля
Спасибо за ответ !

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

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

Galogen

  • Member of CAR
  • Hero Member
  • *****
  • Сообщений: 6158
  • Рейтинг читателей: 198
  • Аксакал
    • Просмотр профиля
    • Профиль в Моем Круге
UML позволяет показать на одной диаграмме действия осуществляемые при переходе между состояниями одного объекта, если они осуществляются над вторым объектом, в виде стрелочек между переходом и вторым автоматом.
Я не такой глубокий знаток UML. Однако здравый смысл заставляет меня сомневаться в этом утверждении. Могли бы вы описать ваш процесс (в начале этой темы) на каком-то наглядном примере так сказать в лицах?

Виктор Малышко

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