Page 64 - 6602
P. 64
Повідомлення, які відрізняються лише ім'ям, є паралельними на
цьому рівні вкладеності. На одному рівні вкладеності всі нитки
управління еквівалентні в сенсі пріоритету передачі повідомлень.
Рекурентність використовується для вказівки ітеративного
або умовного характеру виконання передачі повідомлень. Запис
рекурентності представляє нуль або більше повідомлень, які мають
бути виконані залежно від записаної умови. Можливі два варіанти
запису рекурентності:
- '*''[Вираз-ітерація]' для запису ітеративного виконання
відповідного виразу. Ітерація представляє послідовність
повідомлень одного рівня вкладеності. Речення-ітерація може
бути опущена, якщо кількість ітерацій ніяк не специфікується.
Найчастіше пропозиція-ітерація записується на псевдокоді
або мові програмування. У мові UML формат запису цієї
пропозиції строгим чином не визначений.
- '[Вираз-умова]' для запису розгалуження. Ця форма запису
описує умову для даного повідомлення, передача якого по
даній гілці можлива лише за умови істинності виразу.
Вираз-умова записується так само, як і ітерація, але без
зірочки. У загальному випадку передбачається, що специфікована
ітерація виконується послідовно. Якщо необхідно відзначити
можливість паралельного виконання ітерації, то для цієї мети в мові
UML використовується символ "*||". Ітерація не поширюється на
вкладені рівні даного потоку або нитки. Кожен рівень повинен мати
власне представлення для ітеративного повторення процедурної
послідовності.
Ім'я повідомлення, записане після повертаного значення,
означає ім'я події, яка ініціюється об'єктом-одержувачем
повідомлення після його прийому. Найчастіше такою подією є
виклик операції у об'єкта-одержувача. Це може бути реалізовано
різними способами, один з яких – явна вказівка в якості ім'я
60