
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню gpss World
- •Меню File
- •Меню Edit
- •Панель інструментів gpss World
- •Вікно моделі у системі gpss World
- •Інтерактивний перегляд значень виразів
- •Налаштування параметрів моделювання
- •4.1. Основне меню gpss World
- •4.2. Подання моделей у вигляді блок-діаграм
- •4.3. Основні складові системи gpssw
- •4.4. Об'єкти обчислювальної категорії
- •4.4.1. Константи
- •4.4.2. Системні числові атрибути
- •4.4.3. Арифметичні і логічні оператори
- •4.4.4. Бібліотечні математичні функції
- •4.4.5. Змінні користувача
- •4.4.6. Вирази в операторах gpss
- •4.4.7. Зберігаючі комірки
- •4.4.8. Матриці зберігаючих комірок. Оголошення та ініціалізація матриць
- •4.4.9. Арифметичні змінні й арифметичні вирази
- •4.4.10. Булеві змінні
- •4.4.11. Типи функцій
- •5.1. Введення транзактів у модель і вилучення їх із неї
- •5.2. Блоки для зміни значень параметрів транзактів
- •5.3. Блоки апаратної категорії зайняття та звільнення одноканальних пристроїв
- •5.4. Блоки перевірки стану та передавання керування в одноканальних пристроях
- •5.5. Блоки статистичної категорії
- •5.6. Блоки для зміни послідовності руху транзактів у моделі
- •5.7. Блоки апаратної категорії для переривань одноканальних пристроїв
- •5.8. Блоки апаратної категорії для переведення одноканальних пристроїв у стан недоступності
- •5.9. Створення і застосування списків користувача
- •Основні етапи моделювання у системі gpssw
- •Команди gpss World
- •Інтерактивні можливості gpss World
- •Відлагодження моделей у gpss World
- •Блоки зайняття та звільнення багатоканальних пристроїв
- •Блоки апаратної категорії для переведення багатоканальних пристроїв у стан недоступності та відновлення доступності
- •Блоки перевірки стану багатоканальних пристрів
- •Моделювання перемикачів
- •Основні елементи мови
- •Побудова виразів
- •Plus-оператори та їх призначення
- •Вбудована бібліотека процедур
- •Генератори випадкових чисел
- •Реалізація методу Ньютона для розв’язування нелінійних рівнянь за допомогою мови Plus
- •Налагодження Plus-процедур
- •Команда integrate і блок integration для моделювання неперервних систем
- •Використання plus-процедур для моделювання неперервних систем
- •Використання функцій в імітаційних моделях
- •Генерування випадкових чисел для дискретних рівномірних розподілів
- •Генерування випадкових чисел для дискретних нерівномірних розподілів
- •Генерування випадкових чисел для неперервного рівномірного розподілу
- •Генерування випадкових чисел для неперервних нерівномірних розподілів
- •Функції типу e, l і м
- •9.1. Основні відомості з теорії планування експериментів
- •9.1.1. Повний факторний експеримент
- •Оцінювання точності результатів моделювання
- •Дисперсійний аналіз
- •Однофакторний дисперсійний аналіз
- •9.2.2. Двофакторний дисперсійний аналіз
- •9.3. Технологія дисперсійного аналізу у gpss World
- •9.4. Технологія регресійного аналізу у gpss World
- •9.5. Організація експериментів користувача у gpss World
- •Initial Rezult_tf,unspecified ;Ініціалізація матриці результатів
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні положення
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання одноканальних розімкнутих смо
- •Індивідуальні завдання для моделювання одноканальних замкнутих смо
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання багатоканальних розімкнутих смо
- •Індивідуальні завдання для моделювання багатоканальних замкнутих смо
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи транспортного конвеєра
- •Індивідуальні завдання для моделювання роботи ділянки цеху
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи еом для оброблення завдань з різними пріоритетами
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання роботи вузла комутації повідомлень
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для моделювання поширення вірусу на системному диску
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для проведення дисперсійного аналізу для дослідження вагомості впливу змінних користувача на об’єкт моделі
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання для розроблення експерименту користувача
- •Контрольні запитання
- •Загальні відомості
- •Завдання для виконання роботи
- •Індивідуальні завдання проведення регресійного аналізу для оптимізації і кількісного прогнозу поведінки системи
- •Контрольні запитання
- •Елементи стандартного звіту
- •Загальна інформація про результати роботи моделі
- •Інформація про імена
- •Інформація про блоки
- •Інформація про об’єкти типу «пристрій»
- •Інформація про об’єкти типу «черга»
- •Інформація про об’єкти типу «багатоканальний пристрій»
- •Інформація про таблиці
- •Інформація про списки користувача
- •Табличні значення критеріїв
- •Значення t-критерію Ст’юдента
Блоки перевірки стану багатоканальних пристрів
Блок GATE перевіряє стан БКП. Формат блоку такий же як у випадку перевірки стану ОКП
GATE X А,[В]
Рис. 7.4. Результати моделювання переведення багатоканального пристрою Nak у недоступний стан
Але значення умовного оператора X для перевірки стану БКП є іншими, а саме:
SE – БКП, заданий операндом А, порожній;
SF – БКП, заданий операндом А, заповнений;
SNE – БКП, заданий операндом А, не порожній;
SNF – БКП, заданий операндом А, не заповнений;
SNV – БКП, заданий операндом А, не доступний;
SV – БКП, заданий операндом А, доступний.
Блок GATE також працює у двох режимах: відмови на вході, дозвіл входу й альтернативний вихід.
Наприклад:
GATE SNF Buf,Mit3
Якщо БКП з назвою Buf не заповнений, тобто є вільні канали, задана в блоці GATE умова виконується й транзакт спрямовується до наступного блоку. Якщо БКП заповнений, то транзакт буде спрямований до блоку з міткою Mit3.
Розглянемо приклад використання блоку GATE. Нехай БКП переводиться в недоступний стан. Обслуговування транзактів, що перебували в БКП до моменту переведення його в недоступний стан, триває, але транзакти, що знову надходять, не потрапляють в список затримування БКП. Відновлення доступності БКП починається після того, як БКП буде порожній (рис. 7.5).
Рис. 7.5. Імітаційна модель з використанням блоку GATE
Блок GENERATE другого сегмента в t = 0 генерує один транзакт (XN1=2), що входить у блок затримування ADVANCE. В t = 5 перший транзакт (XN1=1) блоку GENERATE першого сегмента проходить перший і другий блоки GATE і займає два канали із п’яти БКП Nak. Обслуговування цього транзакта закінчиться в t =5 + 12 = 17. В t = 10 другий транзакт (XN1=3) також проходить обидва блоки GATE першого сегмента і займає наступні два канали БКП Nak. Залишається вільним один канал. Обслуговування другого транзакта закінчиться в t = 10 + 12 = 22. В t = 15 третій транзакт (XN1=4) пройде перший блок GATE першого сегмента і ввійде в другий блок GATE. Оскільки БКП Nak має один вільний канал, умова в другому блоці GATE також виконується і транзакт пройде до блоку ENTER. Але одного вільного каналу недостатньо для оброблення вимоги, потрібно два, тому третій транзакт потрапляє в список затримування БКП Nak.
В t = 17 БКП Nak блоком SUNAVAIL переводиться в недоступний стан. У цей же час завершиться обслуговування першого транзакта, але третій транзакт не займе БКП. Він залишиться в списку затримування. В БКП Nak перебуває тільки другий транзакт (тобто він не порожній). Тоді транзакт, що викликав переведення у недоступний стан, буде затриманий блоком GATE другого сегмента (задана в ньому умова не виконується). В t = 20 четвертий транзакт (XN1=5) першим блоком GATE першого сегмента внаслідок недоступності БКП Nak направляється до блоку TERMINATE з міткою Vuhid і знищується.
Обслуговування другого транзакта завершиться в t = 22. БКП стане порожнім, умова в блоці GATE другого сегмента виконається. Транзакт, що згенерував недоступність, увійде в блок затримування ADVANCE. B t = 25 п'ятий транзакт (XN1=6) першим блоком GATE першого сегмента внаслідок недоступності БКП Nak направляється до блоку TERMINATE з міткою Vuhid і знищується. В t = 22 + 5 = 27 блок SAVAIL переведе БКП в доступний стан. Третій транзакт зі списку затримки БКП займе два канали БКП. Обслуговування третього транзакта (XN1=4) закінчиться в t = 27 + 12 = 39 одиниць часу.
Для перевірки стану БКП використовується також і блок TEST. Формат блоку та умовні оператори ті ж що й для перевірки стану ОКП.
У булевій змінній використовуються наступні логічні оператори, пов'язані із БКП:
SF дорівнює 1, якщо БКП заповнений повністю, інакше – 0;
SE дорівнює 1, якщо БКП порожній, інакше – 0;
SV дорівнює 1, якщо БКП доступний, інакше – 0,
а також СЧА БКП:
S – число зайнятих каналів БКП;
SA – середнє значення зайнятих каналів БКП;
SC – лічильник використання БКП;
SR – коефіцієнт використання БКП;
SM – максимальне число зайнятих каналів БКП;
ST – середній час використання одного каналу БКП.
Отже, SE, SF і SV можна використовувати як у блоці GATE, так і в булевих змінних.