Page 88 - 6602
P. 88
У мові UML події відіграють роль стимулу, який ініціює
переходи з одних станів в інші. Як події можна розглядати сигнали,
виклики, закінчення фіксованих проміжків часу або моменти
закінчення виконання певних дій. В залежності від виду подій, що
відбуваються, в мові UML розрізняють два типів переходів:
тригерні і нетригерні.
Перехід називається тригерним, якщо його специфікує подія,
пов'язана із зовнішніми умовами по відношенню до даного стану. В
цьому випадку поряд із стрілкою тригерного переходу обов'язково
вказується ім'я події у формі рядка тексту, що починається з
маленької літери. Найчастіше як імена тригерних переходів задають
імена операцій, що викликаються в тих або інших об'єктів системи.
Після імені такої події мають бути круглі дужки для явного
задавання параметрів операції. Якщо таких параметрів немає, то
список параметрів з дужками може бути відсутнім. Наприклад,
перехід на рис. 6.4, а, є тригерним, оскільки з ним пов'язана
конкретна подія-тригер, така, що відбувається асинхронно при
спрацьовуванні деякого сенсора.
Перехід називається нетригерним, якщо він відбувається
після закінчення виконання do-діяльності в даному стані. Для таких
переходів поряд із стрілкою переходу не вказується жодного імені
події, а у вихідному стані має бути описана внутрішня do-
діяльність, після закінчення якої станеться той або інший
нетригерний перехід.
Сторожова умова (guard condition) - логічна умова у вигляді
булевого виразу, яка записана в прямих дужках. Якщо сторожова
умова набуває значення "істина", то відповідний перехід при
настанні події-тригера або завершенні діяльності може спрацювати.
Якщо ж сторожова умова набуває значення "хибність", то перехід
не може спрацювати, навіть якщо сталася подія-тригер або
завершилася діяльність у вихідному стані. Проте обчислення
84