- •2 Аналіз вимог до програмного забезпечення створення засобів опису програми для побудови її автоматної моделі
- •2.1 Виділення первинних вимог
- •2.2 Виділення детальних вимогчерез uml-діаграми
- •2.2.1 Діаграма прецедентів
- •2.2.2 Діаграми діяльності
- •2.2.4 Діаграма станів
- •2.4 Висновки
- •3 Проектування програмного забезпечення створення засобів опису програми для побудови її автоматної моделі
- •3.1 Архітектурне проектування
- •3.1.1 Об’єктно орієнтована парадигма
- •3.1.1 Структурна ієрархія системи
- •3.1.2Структурна схема системи
- •3.2 Детальне проектування
- •3.2.1 Діаграма класів
- •3.3.2 Діаграма послідовності
- •3.3 Висновки
- •4 Конструювання та тестування програмного забезпечення
- •4.1 Розробка інтерфейсу користувача
- •4.2 Кодування системи
- •4.2.1 Вибір мови програмування
- •4.2.2Опис розробки програмних компонентів
- •4.2.2.1 Модуль ядра
- •4.2.2.2 Модуль віджетів
- •4.2.2.3 Модуль алгоритмів заміщення
- •4.2.2.4 Модуль графічного інтерфейсу
- •4.3. Детальне тестування програмного засобу
- •4.4. Висновки
2.2.2 Діаграми діяльності
Діаграма діяльності — в UML, візуальне представлення графу діяльностей. Граф діяльностей є різновидом графу станів скінченного автомату, вершинами якого є певні дії, а переходи відбуваються по завершенню дій.
Дія є фундаментальною одиницею визначення поведінки в специфікації. Дія отримує множину вхідних сигналів, та перетворює їх на множину вихідних сигналів. Одна із цих множин, або обидві водночас, можуть бути порожніми. Виконання дії відповідає виконанню окремої дії. Подібно до цього, виконання діяльності є виконанням окремої діяльності, буквально, включно із виконанням тих дій, що містяться в діяльності. Кожна дія в діяльності може виконуватись один, два, або більше разів під час одного виконання діяльності. Щонайменше, дії мають отримувати дані, перетворювати їх та тестувати, деякі дії можуть вимагати певної послідовності. Специфікація діяльності (на вищих рівнях сумісності) може дозволяти виконання декількох (логічних) потоків, та існування механізмів синхронізації для гарантування виконання дій у правильному порядку [*].
Діаграма діяльності входу в систему представлена на рис. 2.2.
Рис.2.2. Діаграма діяльності системи
Спочатку слідує завантаження системи. Після цього, вказується розмір фізичної пам’яті та розмір сторінки пам’яті. Далі, необхідно додати сегменти. При додаванні сегменту вказується його ім’я, розмір та колір для візуалізації. Пілся цього, система відобразить доданий сегмент як завантажений у зовнішню пам’ять. Наступним кроком є безпосередня емуляція роботи віртуальної пам’яті, а саме емуляція звертання до сторінки. Якщо сторінка вже завантажена у фізичну пам’ять, то відбувається анімація звертання в залежності від типу доступу — запису чи читання. Якщо ж сторінка відсутня в даний момент у фізичній пам’яті, то потрібно її завантажити із зовнішньої пам’ятті. При цьому може виникнути проблема, коли у фізичній пам’яті немає вільного місця. В такому випадку потрібно застосувати алгоритм заміщення і витіснити одну із сторінок (яку саме, визначає безпосередньо алгоритм, тому різні алгоритми можуть витісняти різні сторінки). Якщо до сторінки звертались лише за читанням, то її можна переписати поточною, оскільки її точна копія є у зовнішній пам’яті. Якщо ж сторінка була модифікована записом, то її потрібно записати у зовнішню пам’ять. Після вищезазначених операцій відбувається емуляція доступу до сторінки шляхом анімації.
2.2.4 Діаграма станів
Діаграма станів — спрямований граф, вершинам якого відповідають стани автомата, а дугам — вхідні сигнали. Якщо вхідний сигнал xi спричиняє перехід автомата зі стану aj в стан ak, то на графі цьому факту відповідає дуга, позначена символом xi, яка з'єднує вершину aj з ak. Такий граф задає функцію переходів автомата. Для визначення функції виходів, дуги цього графа позначаються ще й відповідними вихідними сигналами. Визначення автомата за допомогою його графа є особливо наочним за умов невеликої кількості станів.
Діаграми станів Хареля стають дедалі популярнішими після того, як варіант цих діаграм став частиною Unified Modeling Language. Цей вид діаграм дозволяє моделювання надстанів, ортогональних регіонів, та діяльності як складової стану.
Класичні діаграми станів вимагають створення окремих вершин для кожної допустимої комбінації параметрів, що визначають стан. Це може призводити до необхідності введення великої кількості вершин та переходів між ними для систем складніших за найпростіші. Така складність ускладнює перегляд та розуміння діаграми. Діаграми Хареля дозволяють моделювання багатьох автоматів з перетином функцій на одній діаграмі. Кожен з відокремлених автоматів може виконувати внутрішні переходи не впливаючи на інші автомати на діаграмі. Стан кожного з відокремленого автомата на діаграмі визначає стан системи. Діаграма Хареля еквівалентна діаграмі станів але полегшує перегляд та розуміння отриманих діаграм.
Діаграма станів системи представлена на рис. 2.4.
Рис.2.4.Діаграма станів системи
Першим кроком є встановлення стартових параметрів системи, а саме розміру фізичної пам’яті та розміру сторінки пам’яті. Цей стан є першочерговим, оскільки в послідуючих кроках, система в розрахунках опирається на ці параметри.
Основним станом системи є безпосередня емуляція роботи віртуальної пам’яті. Він включає в себе ряд підстанів, а саме додавання нового сегменту із послідуючим його завантаженням у фізичну пам’ять, а також звертання до сторінки.
