Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
examen.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
234.73 Кб
Скачать

Семантика і нотація діаграми пакетів. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

  1. Семантика і нотація діаграми композитних структур. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

  2. Семантика і нотація діаграми синхронізації (часова діаграма). Нарисуйте елементи нотації і наведіть їх інтерпретацію.

  3. Семантика і нотація діаграми профілів. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

  4. Семантика і нотація оглядової діаграми взаємодій. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

  5. Дія і діяльність в діаграмі станів. Застосування глибокого і неглибокого історичного станів. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

Список внутрішніх дій або діяльностей відображає ті дії, які виконуються модельованим об’єктом в даному стані. В UML розрізняють поняття дії і діяльності.

Дія (action) – атомарне обчислення, яке виконується і приводить до зміни системи або повертає значення. Дія є миттєвою і її не можна перервати ззовні. Типовими атомарними діями є присвоювання значень атрибутам, доступ до значень атрибутів або зв’язків, прості обчислення, відправка сигналів іншим об’єктам. Система може одночасно виконати декілька дій, але виконання кожної із них відбувається незалежно від інших.

Запуск дій відбувається переходами. Розрізняють вхідну подію переходу (поглинання) – автомат встановлюється в певний стан і вихідну подію переходу – автомат втрачає даний стан. Відповідно розрізняють вхідні і вихідні дії.

Кожну дію описують окремим рядком у форматі <мітка дії / вираз дії>. Мітка дії вказує на обставини або умови, за яких буде виконуватися дія, визначена виразом дії. Відповідно, вираз дії може використовувати будь-які атрибути і зв’язки, які належать до області імен або контексту модельованого об’єкту.

Перелік міток дії володіє деякими фіксованими значеннями в UML, які не можна використовувати для іменування подій:

entry – вказує на те, що дія виконується в момент входу в даний стан (вхідна дія); exit - вказує на те, що дія виконується в момент виходу з даного стану (вихідна дія); do – специфікує виконувану діяльність («do activity»), яка виконується протягом всього часу, доки об’єкт знаходиться у даному стані, або до того часу, поки не закінчиться обчислення, яке є специфіковане відповідним виразом дії; include - вказує на те, що дія це звертання до автомату з вказаним іменем, яке задають виразом

дії.

Діяльність (activity) – це тривале неатомарне обчислення в кінцевому автоматі. Діяльність має внутрішню структуру і може бути перервана переходом внаслідок зовнішньої події. Вона виконується протягом кінцевого часу і тому не може бути приписана до переходу, а тільки до стану в цілому. Діяльність може продовжуватися безконечно до зовнішнього переривання або закінчуватися сама собою.

Семантика і нотація діаграми станів. Нарисуйте елементи нотації і наведіть їх інтерпретацію.

В UML станом вважають абстрактний метаклас, який використовують для моделювання окремої ситуації, протягом якої виконується певна умова. Стан класу може бути заданий у вигляді набору конкретних значень атрибутів класу або об’єкту, при цьому зміна їхніх окремих значень відображатиме зміну стану модельованого класу або об’єкту.

Діаграма станів (state chart diagram) – діаграма, на якій зображають кінцевий автомат з простими станами, переходами і, можливо, вкладеними композитними станами.

Отже, на відміну від статичного представлення, діаграма станів є деталізацією діаграми варіантів використання, на логічному рівні вона описує поведінку об’єктів системи і системи в цілому. В основі діаграми лежить поняття кінцевого автомата (state machine).

Кінцевий автомат – це специфікація послідовності станів, через які протягом життєвого циклу проходить об’єкт (система, підсистема, екземпляр класу), в тому числі взаємодіючи з іншими об’єктами (системами, підсистемами, екземплярами класу), а також перебуваючи під впливом деякого потоку подій. Стани, у яких може знаходитися об’єкт, утворюють простір станів, його вважають скінченним. Під станом розуміють ситуацію у життєвому циклі об’єкту, коли об’єкт виконує яку - небудь діяльність, або очікує яку – небудь подію.

Графічно автомат описують графом, для якого вершини позначають стани, а ребра – можливі переходи. Стан зображають прямокутником із заокругленими кутами, у нього може бути один або декілька необов’язкових розділів.

Перехід (transition) – реакція об’єкта на деяку подію. Об’єкт виконує дію, яка прикріплена до переходу, і змінює свій стан. Кожному стану відповідає своя множина переходів. Зміна стану є атомарною дією, яку неможливо перервати ззовні. Як правило, час переходу вважають нульовим (за умови, що це немає інших вказівок), тобто, переходи здійснюються миттєво. Поведінка об’єкта визначається, як послідовне переміщення вздовж графу від вершини до вершини через ребра.

Із всієї сукупності станів виділяють два особливих: початковий стан і кінцевий, так звані, псевдостани. Псевдостани можуть не мати специфікацій.

В кожний момент часу автомат може знаходитися тільки в одному із станів (послідовна поведінка). Для моделювання паралельної поведінки в одній моделі розглядають декілька окремих автоматів.

Ім’я стану бажано задавати за допомогою дієслова у теперішньому часі або прислівником. Всі стани повинні бути унікальними. Додатковий розділ з списком внутрішніх дій є необов’язковим.

Композитний стан (composite state) – це такий складний стан, який складається із інших вкладених у нього станів. Останні виступають відносно батьківського як підстани (substate). Графічно всі вершини діаграми, які відповідають вкладеним станам, зображають всередині символу композитного стану. У деяких випадках бажано приховати внутрішню структуру композитного стану, наприклад, у випадку, коли окремий підавтомат є достатньо великим, щоб бути візуалізованим на вихідній діаграмі станів. У цьому випадку застосовують піктограму SubmachineState.

У поняття події у контексті UML вкладають поняття специфікації деякого факту, який відбувається у просторі і часі, і ініціює переходи із стану в стан.

Ім'я події ідентифікує кожен окремий перехід на діаграмі станів і може містити рядок тексту. У цьому випадку, такий перехід вважають тригерним, оскільки, з ним пов’язана деяка подія – тригер. Якщо ж поруч із стрілкою переходу не вказують тексту, то відповідний перехід є не тригерним. У цьому випадку із контексту діаграми станів повинно бути зрозуміло, після закінчення якої діяльності він спрацьовує.

Історичні стани застосовують у контексті композитного стану, Вони використовуються для запам’ятовування послідовності підстанів, яка була поточною в момент виходу із композитного стану. Існують дві різновидності історичних станів: неглибокий Shallow History і глибокий Deep History.

Семантика неглибокого історичного стану, по перше, вказує на те, що він є першим підстаном у композитному стані, і перехід ззовні у цей композитний стан має вести безпосередньо у цей історичний стан. Глибокий історичний стан служить для запам’ятовування всіх під станів будь-якого рівня вкладеності для поточного підавтомату.

Відповідними елементами розбиття переходів виступають перехідні стани або стани перехрестя (junction state)(замальовані кружечки) і стани вибору (choice) (незамальовані кружечки).

З метою врахування синхронізації поведінки окремих підавтоматів можна використовувати лінійки синхронізації. За їх допомогою можна організувати incoming join (злиття) або outgoing fork (вилку розщеплення) переходів з / до відповідних станів. Зображається у вигляді жирної горизонтальної лінії.

Іноді на діаграмах станів використовують спеціальний стан Final flow (terminate)(кружечок з хрестиком Х всередині) для позначення переходу до закінчення активності кінцевого автомату, яке, як правило, означає, що власник стану закінчив своє існування.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]