Содержание
Диаграмма взаимодействия служит для описания взаимодействий между объектами системы. Имеет четыре формы: диаграмма последовательности, диаграмма коммуникации, диаграмма обзора взаимодействия и диаграмма синхронизации.
Характерным элементом диаграммы последовательности является временная ось (т. н. „линия жизни“). „Линия жизни“ позволяет отследить последовательность происходящих событий во времени.
Диаграмма последовательности описывает одну из возможных ситуаций взаимодействия в некотором контексте. Отсутствие некоторых событий на диаграмме не говорит о том, что данные события не могут происходить. Напротив, наличие некоторых событий не говорит о том, что они происходят всегда. В первом случае, отсутствующие события не важны для заданного контекста. Во втором случае, наоборот, отображенные события являются значимыми для обсуждения.
На диаграмме последовательности могут быть указаны моменты времени, длительность и временные ограничения. Для этого используются маркеры времени, указатели длительности, временные литералы, временные выражения и интервалы.
Маркер времени — элемент диаграммы в виде короткой горизонтальной черты, перпендикулярной временной оси.
Указатель длительности — графический элемент в виде вертикальной стрелки с двумя концами, расположенной между двумя последовательными маркерами времени.
Временной литерал — конкретный указатель на момент времени.
Временное выражение — опосредованное описание некоторой временной величины; описание посредством других величин и выражений. Во временном выражении могут быть использованы атрибуты, литералы, операторы сравнения, арифметические операторы, ключевые слова now, duration, at и after.
Временной интервал — это массив величин, заданных путем указания минимальных и максимальных временных пределов.
На линиях жизни можно указывать состояния взаимодействующих объектов. При этом взаимодействие не будет иметь смысла в случае, если объекты не будут находиться в указанных состояниях.
Глоссарий
behavior
комплекс действий
event specification
спецификация события
определение события
execution specification
interaction partner
region
сегмент (связанного фрагмента)
trace order
последовательность, порядок следования (событий)
Перечень элементов
активный объект
среда, в которой происходит взаимодействие; в модели предметной области представлен исполнителем, взаимодействующим с системой, а в модели реализации — тредом
взаимодействие
процесс обмена сообщениями
временная ось
воображаемая вертикальная прямая, определяющая хронологический порядок взаимодействия
гейт
точка перехода к диаграмме или к связанному фрагменту (входной гейт), или точка выхода из диаграммы или связанного фрагмента (выходной гейт)
данные
декомпозиция диаграммы
разбиение комплексной диаграммы на части для упрощения осмысления первой; осуществляется путем использования фрагментов-ссылок и гейтов
диаграмма коммуникации
одна из диаграм взаимодействия делающая упор на структурную организацию объектов
диаграмма последовательности
одна из диаграмм взаимодействия в которой делается упор на порядок отправки сообщений во времени
инвариант состояния
требование к состоянию объекта, обязательное для удовлетворения для того, чтобы дальнейшее взаимодействие имело смысл
источник сообщения, субъект сообщения (message source)
событие, отправки сообщения (send event)
см. также цель сообщения
конкурентный порядок следования, т. ж. произвольный, неограниченный
порядок следования, при котором место расположения события на временной оси не определяет приоритет его следования
контекст взаимодействия
набор специфичных условий в которых происходит взаимодействие; в разных контекстах объекты взаимодействуют по разному; как правило является предметом обсуждения
корегион
вспомогательное условное обозначение, используемое для описания конкурентного порядка следования для событий, расположенных на одной временной оси
линия жизни
элемент диаграммы, определяющий время жизни объекта
определение исполнения
элемент диаграммы, явно указывающий на то, что данный участник взаимодействия выполняет некоторый комплекс действий
определение локального атрибута
элемент диаграммы, используемый для спецификации атрибутов (тип, значение, модификатор видимости и т. п)
маркер (продолжения)
структурный элемент диаграммы, используемый для реализации продолжения; бывает исходным (start marker) и целевым (target marker)
маркер времени
элемент диаграммы, обозначающий момент времени на линии жизни
набор объектов
параметр (уровня диаграммы)
порядок взаимодействия
продолжение (continuation)
механизм декомпозиции диаграммы, заключающийся в приостановки описания взаимодействий в одной диаграмме и его продолжения в другой; реализуется посредством использования маркеров
роль
форма поведения объекта в заданном контексте (например, listener:Student, lecturer:Professor в контексте Lecture; host:Professor, guest:Professor в контексте Invite Guest Lecturer.)
связанный фрагмент, т. ж. фрейм взаимодействия
элемент диаграммы последовательности служащий для более точной передачи характера взаимодействия
сегмент (связанного фрагмента)
селектор
вспомогательный идентификатор, используемый в случае совпадения классов и ролей в объектах
слабый порядок следования
порядок следования предполагающий, что события на одной временной оси последовательны, события на разных осях конкурентны; является стандартным порядком следования
сообщение
средство взаимодействия
событие
точка на линии жизни объекта определяющая момент совершения некоего действия (главным образом отправка или получение сообщения)
стандартный порядок следования
строгий порядок следования
порядок следования, при котором события следуют одно за другим, вне зависимости от их расположения на осях
субъект взаимодействия
участник взаимодействия
субъект или объект взаимодействия
фильтр
связанный фрагмент, позволяющий включать в описание сообщения, нерелевантные для текущего контекста взаимодействия
фрагмент-ссылка (interaction reference, interaction use)
связанный фрагмент, позволяющий вынести некоторый контекст взаимодействия в другую диаграмму, упрощая тем самым текущую, главным образом, комплексную диаграмму; позволяет разбивать комплексные диаграммы на модули и в дальнейшем рассматривать каждый модуль отдельно; также позволяет повторно использовать одну и туже диаграмму (референт) в нескольких контекстах; кроме того, используется в случае наличия инкапсуляции
хронологическая связь
взаимозависимость событий относительно времени их происхождения
цель сообщения, объект сообщения (message target)
событие, приема сообщения (receive event)
см. также источник сообщения
Связанные фрагменты
Связанные фрагменты можно вкладывать друг в друга.
Перечень операторов
alt
оператор ветвления
opt
оператор выполнения по условию
loop
оператор повторения
break
оператор выхода по условию (из внешнего по отношению к данному оператору контекста)
seq
оператор слабого порядка следования событий
strict
оператор строгого следования
par
оператор конкурентного следования
critical
оператор отмены конкурентного следования
ignore
исключающий фильтр
consider
включающий фильтр
assert
оператор утверждения
neg
оператор отрицания
ref
оператор-ссылка
Составные части фрагментов
операнд
оператор
фрейм
условие, охранное выражение, гард
Заметки
При передачи агрументов сообщению формальное соблюдение спецификации необязательно.
Оператор утверждения (assert) позволяет показать явным образом то, как должно происходить взаимодействие.
Оператор отрицания (neg), напротив, показывает явным образом то, как взаимодействие происходить не должно.
На разных диаграммах взаимодействия изображено одно и то же, но под разными углами.