Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

События

Различные типы состояний позволяют задавать структуру автомата. Но основная семантическая нагрузка при описании поведения падает на переходы различных типов.

Помимо структурных составляющих — исходного и целевого состояний – переход может быть нагружен событием перехода, сторожевым условием и действиями на переходе.

В UML используются четыре типа событий:

● событие вызова,

● событие сигнала,

● событие таймера,

● событие изменения.

Событие вызова (call event) — это событие, возникающее при вызове метода класса. Событие вызова — наиболее часто используемый тип событий перехода. Поскольку событие вызова — это вызов метода, то оно может иметь аргументы, как всякий вызов метода. Значения аргументов могут использоваться в действиях перехода. Если метод возвращает значение, то этот факт отмечается с помощью действия возврата в последовательности действий данного перехода

Событие сигнала (signal event)— это событие, возникающее при посылке сигнала. Семантически сигнал — это именованный объект, который создается другим объектом (отправителем) и обрабатывается третьим объектом (получателем). Сигнал может иметь атрибуты (параметры). Сигнал может иметь операции. Концепция сигнала в UML принадлежит к числу наиболее фундаментальных и имеет ясную и строго определенную семантику. Объект, являющийся отправителем, обращается к классификатору сигнала (вызывает операцию send()), указывая аргументы сигнала (значения атрибутов) и целевое множество объектов, которым должен быть отправлен сигнал. После этого объект-отправитель продолжает свою работу и дальнейшее его не касается.

Событие таймера (time event)— это событие, которое возникает, когда истек заданный интервал времени с момента попадания автомата в данное состояние. Семантически событие таймера означает следующее. Подразумевается, что у состояния имеется таймер, который сбрасывается в 0 (начинает отсчет), когда автомат переходит в данное состояние (напомним, что автомат считается перешедшим в состояние, когда закончено выполнение всех действий, предписанных переходом). Таймер ведет отсчет времени. Если до истечения указанного интервала времени сработает другой переход, то событие таймера не возникает. Когда указанный интервал времени истекает, наступает событие таймера и возбуждается соответствующий переход. Если переход срабатывает, то автомат переходит в новое состояние.

Если переход по событию таймера не срабатывает (из-за ложности сторожевого условия), то событие таймера теряется, и таймер продолжает отсчет времени, так что позже может сработать другой переход по событию таймера с большим интервалом времени. Событие таймера не может быть отложено.

Событие изменения (change event)— это событие, которое возникает, когда некоторое логическое условие становится истинным, будучи до этого ложным. Синтаксически событие изменения записывается с помощью ключевого слова when, за которым указывается логическое выражение (условие). Семантически событие изменения означает следующее. Подразумевается, что в системе имеется механизм, работающий как демон (например, приложение, запущенфяное в фоновом режиме), который генерирует событие, если в результате изменения состояния системы изменяется значение логического выражения. Если выражение, являющееся аргументом события изменения, принимает значение true (имея до этого значение false), то переход возбуждается. Если выражение имеет значение true в тот момент, когда автомат переходит в данное состояние, то переход сразу возбуждается. Если переход срабатывает, то автомат, как обычно, переходит в новое состояние. Если переход не срабатывает, то событие изменения теряется. При этом если условие продолжает оставаться истинным, то нового события изменения не возникает. Для того чтобы снова возникло событие изменения, нужно, чтобы условие стало сначала ложным, а потом истинным.

<== предыдущая лекция | следующая лекция ==>
Специальные состояния | Диаграммы взаимодействия
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 306; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.