Связь между диаграмми последовательности и диаграммами состояний(Прочитано 20772 раз)
Здравствуйте.
Насколько я знаю, при моделировании систем различные типы диаграмм оказываются тесно связанными друг с другом(UC-диаграммы состояний, диаграммы классов с диаграммами последовательности и.т.д).
Меня интересует связь между диаграммами последовательности(ДП) и диаграммами состояний(ДС). Используется ли такая при моделировании?
В простейшем случае она может выглядеть так:
для некоторых состояний в ДС инициирующее событие перехода состояния в другое состояние совпадает с некоторым сообщением, которое получает объект(моделируемый вышеописанной ДС) на ДП. И обратно, в некоторых состояниях входной эффект состояния совпадает с некоторым сообщением посылаемым объектом.Если непонятно, могу описать более подробно.
Вопрос возник в связи с научной работой.



Это зависит уже от реализации конкретного инструмента. В спеке никаких ограничений по этому поводу нет.
Но такой реализации нигде я не видел. Вот, например, что нашли ребята в ЕА: http://www.uml2.ru/forum/index.php?topic=579.msg7178#msg7178

З.Ы. Хорошо бы нарисовать и прикрепить ДС и ДП и показать на примере здесь, чтобы всем было однозначно ясно
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



К сожалению прямо сейчас не могу нарисовать, но если описать словами:
Пусть на ДП объект X посылает объекту Y сообщение mes()
Тогда для некоторого состояния в ДС Y есть переход по событию mes(). Кроме того в ДС X есть состояние с входным эффектом mes() (/entry mes() ).

Постараюсь вечером прикрепить диаграммы.
Вобще для чего это нужно - мне пришла в голову мысль, а что если связать ДС и ДП так, чтобы на ДП описывался внешний протокол обмена сообщениями, а на ДС соответствующих объектов -  логика(концепция, шаги) их обработки. Далее такую систему можно использовать для верификации программных свойств, путем сведения к некоторым мат.моделям.
« Последнее редактирование: 06 Февраля 2008, 13:13:13 от Decline »



Таким образом на-практике эта связь не используется, да?
Как вы считаете насколько она логична и естественна?



Вобще для чего это нужно - мне пришла в голову мысль, а что если связать ДС и ДП так, чтобы на ДП описывался внешний протокол обмена сообщениями, а на ДС соответствующих объектов -  логика(концепция, шаги) их обработки. Далее такую систему можно использовать для верификации программных свойств, путем сведения к некоторым мат.моделям.
Не совсем вас понимаю, как потом можно это будет использовать для мат. моделирования. Ведь ДС описывает больше переходы внутри одной ф-ции или объекта, а ДП описывает взаимодействие с внешними объектами\системами. Ну есть у вас входное состояние и что? Как оно поможет вам на ДС, где будет описано именно действия внутри объекта?
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Таким образом на-практике эта связь не используется, да?
Как вы считаете насколько она логична и естественна?
используется, используется!

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

- Набор состояний, как правило, удаётся получить от заказчика напрямую.

Остаётся увязать всё это в диаграммы состояний.

Сбор соответствия Communication message - State-Chart signal приходится пока делать вручную и
независимо отображать результат в ЭА диаграммах.





Не совсем вас понимаю, как потом можно это будет использовать для мат. моделирования. Ведь ДС описывает больше переходы внутри одной ф-ции или объекта, а ДП описывает взаимодействие с внешними объектами\системами. Ну есть у вас входное состояние и что? Как оно поможет вам на ДС, где будет описано именно действия внутри объекта?
Да, именно. Объект получил сообщение/вызов метода (getmes()), для выполнения метода объект вызывает внутренние подметоды(или например в зависимости от состояния может обработать запрос различными путями) - это и описывается в ДС. Когда он обработал запрос он переходит в состояние входным действием которого будет ответ на запрос (return result).

Эта система очень похожа на сети Петри высокого уровня, собственно их я и предполагаю использовать для мат.моделирования и верификации.



используется, используется!

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

- Набор состояний, как правило, удаётся получить от заказчика напрямую.

Остаётся увязать всё это в диаграммы состояний.

Сбор соответствия Communication message - State-Chart signal приходится пока делать вручную и
независимо отображать результат в ЭА диаграммах.
Спасибо!
Ибо мне показалось что идея не совсем бредовая, поэтому хотелось уточнить )



Меня интересует связь между диаграммами последовательности(ДП) и диаграммами состояний(ДС). Используется ли такая при моделировании?

На диаграмме последовательности можно показывать как объект меняет свое состояние.



Связь есть, и она проходит через головы тех, кто строит модель. ДП определяет некоторые трассы, а ДС --, образно говоря, карту, по которой эти трассы проходят и правила передвижения.
Приводимый пример не точен в этой части:
Цитировать
Пусть на ДП объект X посылает объекту Y сообщение mes(). ... в ДС X есть состояние с входным эффектом mes() (/entry mes() ).
Первое, отправка сообщения Y.mess() может быть в любом эффекте, не обязательно в эффекте входного действия.
Второе, ДП может моделировать трассу, на которой X и Y не взаимодействуют или взаимодействуют так, что вызов Y.mess() не происходит.
Третье. Y может игнорить отправляемые ему вызовы Y.mess(). Значит, неточно и это:
Цитировать
...для некоторого состояния в ДС Y есть переход по событию mes().
[...и улетело НЛО.]




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19