Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделювання ПЗ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать
  1. Рекомендації з побудови діаграм послідовності

Побудова діаграми послідовності доцільно починати з виділення з усієї сукупності класів лише тих, об'єкти яких беруть участь у моделюється взаємодії. Після цього всі об'єкти наносяться на діаграму, з дотриманням порядку ініціалізації повідомлень. Тут необхідно встановити, які об'єкти будуть існувати постійно, а які тимчасово - тільки на період виконання ними необхідних дій.

Коли об'єкти візуалізовані, можна приступати до специфікації повідомлень. При цьому необхідно враховувати ті операції, які мають класи відповідних об'єктів в моделі системи. При необхідності уточнення цих операцій слід використовувати їх стереотипи. Для знищення об'єктів, які створюються на час виконання своїх дій, потрібно передбачити явне повідомлення. Найбільш прості випадки розгалуження процесу взаємодії можна зобразити на одній діаграмі з використанням відповідних графічних примітивів. У більш складних випадках для моделювання кожної гілки управління може знадобитися окрема діаграма послідовності. Слід пам'ятати, що кожний альтернативний потік керування ускладнює розуміння побудованої моделі.

Загальним правилом є візуалізація особливостей реалізації кожного варіанту використання на окремій діаграмі послідовності. У цій ситуації окремі діаграми повинні розглядатися спільно як одна модель взаємодії. Необхідність синхронізації складних потоків управління, як правило, вимагають введення в модель додаткових обмежень. При цьому загальна запис таких обмежень повинна слідувати семантиці мови об'єктних обмежень OCL.

Тема 6. Елементи графічної нотації діаграми станів

План.

  1. Особливості моделювання поведінки об'єктів у вигляді діаграм станів

  2. Поняття кінцевого автомата і логіка зміни його станів.

  3. Опис реакції об'єкта на асинхронні зовнішні події у формі діаграми стану.

  4. Внутрішні дії стану і ду-діяльність.

  5. Тригерні і нетріггерние переходи.

  6. Події та їх специфікація на діаграмах

  7. Діаграма станів в контексті кінцевого автомата.

  1. Особливості моделювання поведінки об'єктів у вигляді діаграм станів

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

Діаграма станів (statechart diagram) - діаграма, яка представляє кінцевий автомат.

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

Раніше зазначалося, що будь-яка прикладна система характеризується не тільки структурою складових її елементів, але й деяким поведінкою або функціональністю. Для загального уявлення функціональності модельованої системи призначені діаграми варіантів використання, які на концептуальному рівні описують поведінку системи в цілому. Для того щоб представити найбільш загальна поведінка на логічному рівні, слід відповісти на питання: "У процесі якої поведінки система реалізує необхідну користувачам функціональність?".

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

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

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

Кінцевий автомат (state machine) - модель для специфікації поведінки об'єкта у формі послідовності його станів, які описують реакцію об'єкта на зовнішні події, виконання об'єктом дій, а також зміна його окремих властивостей.

В контексті мови UML поняття кінцевого автомата має додаткову семантику. Вершинами графа кінцевого автомата є стани й інші типи елементів моделі, які зображуються відповідними графічними символами. Дуги графа служать для позначення переходів зі стану в стан. Кінцевий автомат описує поведінку окремого об'єкта у формі послідовності станів, які охоплюють всі етапи його життєвого циклу, починаючи від створення об'єкта і закінчуючи його знищенням. Кожна діаграма станів являє собою кінцевий автомат.

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

У загальному випадку кінцевий автомат являє динамічні аспекти модельованої системи у вигляді орієнтованого графа, вершини якого відповідають станам, а дуги - переходам. При цьому поведінка моделюється як послідовне переміщення по графу станів від вершини до вершини по зв'язуючим їх дугах з урахуванням їх орієнтації. Для графа станів системи можна ввести в розгляд спеціальні властивості.

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