Вызов (англ. call) – спецификация факта посылки синхронного сообщения между объектами, предписывающего выполнение операции (действия или деятельности) объектом, которому посылается сообщение. Синхронность означает, что после посылки вызова объект-отправитель передает управление объекту-получателю и после выполнения последним операции получает управление обратно. Например, закрасить фигуру красным фоном fill(red) или рассчитать допускаемые скорости calculateVdop().
Событие времени – спецификация факта, обозначающего истечение промежутка времени с момента входа в текущее состояние. В UML данный факт специфицируется с помощью ключевого слова «after» (англ. – после). Например, after(2 seconds).
Событие изменения состояния – спецификация логического (булевского) условия. В контексте диаграмм состояний данное событие приводит к изменению состояния экземпляра сущности. В UML оно специфицируется с помощью ключевого слова «when» (англ. – когда) или сторожевого условия. Например, when(A < B) или [A < B].
Переход (англ. transition) – отношение между двумя состояниями, показывающее возможный путь изменения состояния экземпляра сущности.
Состояние отображается в виде прямоугольника со скругленными углами, внутри которого записывается имя (рис. 12.1). Рекомендуется в качестве имени использовать глаголы в настоящем времени (звенит, печатает, ожидает) или причастия (занято, передано, получено).
Рис. 12.1. Способы отображения состояний
Характеристика состояния может содержать описание выполняемых операций, перед которыми указывается одна из стандартных меток:
entry (англ. – вход) – действие при входе, выполняемое вне зависимости от того, по какому переходу был выполнен вход в состояние. Например, создать соединение с базой данных entry / createConnect();
exit (англ. – вход) – действие при выходе, выполняемое вне зависимости от того, по какому переходу был выполнен выход из состояния. Например, закрыть соединение с базой данных exit / closeConnect();