Unified Modeling Language

UML - Unified Modeling Language (Унифицированный язык моделирования)

28  01 2008

11. Диаграмма последовательности. Элементы диаграммы. Параллельные процессы активации.

Диаграммы взаимодействия (interaction diagrams) представляют собой модели, предназначенные для описания поведения взаимодействующих групп объектов.

Существует два вида диаграмм взаимодействия: диаграммы последовательности (sequence diagrams) и диаграммы кооперации (collaboration diagrams).

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

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

Диаграммы взаимодействия

Вертикальная линия называется линией жизни (lifeline) объекта. Она представляет собой жизненный цикл объекта в процессе взаимодействия.

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

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

Управляющая информация может быть представлена двумя способами. Во-первых, существует некоторое условие, которое указывает, когда сообщение может быть передано (например, [нуженПовторныйЗаказ]). Сообщение посылается, только если это условие истинно. Во-вторых, может оказаться полезным некоторый управляющий маркер, называемый маркером итерации, показывающий, что сообщение посылается несколько раз для множества принимающих объектов. Такая итерация указывается в квадратных скобках с предшествующей звездочкой, например *[для всех позиций заказа].

Диаграммы последовательности также имеют большое значение для моделирования параллельных процессов.

Параллельные процессы

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

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

Половина стрелки на конце сообщения служит для обозначения асинхронного сообщения.

Leave a Reply

You must be logged in to post a comment.