
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
4.2. Подання моделей у вигляді блок-діаграм
Структура програми на GPSS може бути описана у вигляді блок-діаграм. Блок-діаграма – це послідовність блоків, з'єднаних між собою лініями, згідно яких здійснюється рух транзактів. Графічне зображення і формати блоків наведені у додатку 1. Для побудови модель будується наступним чином. Із множини блоків обирають необхідні. Їх з’єднують у вигляді діаграми з врахуванням взаємодії один з одним у процесі функціонування моделі. Використання блоків для побудови моделей залежить від логічних схем роботи реальних систем, що моделюються на ЕОМ. Типовий вигляд блок-діаграми до імітаційних моделей на GPSS представлений на рис. 4.2.
Конфігурація блок-діаграми моделі відображає напрямки руху транзактів у процесі їх переміщення від блоку до блоку. Зокрема, поява транзактів у моделі описується блоком GENERATE, а затримування у часі здійснює блок ADVANCE. За виведення транзактів відповідає блок TERMINATE. Будь-який блок системи має входи та виходи. За їх допомогою здійснюється зв’язок блоків у моделі. Блоки GENERATE і TERMINATE мають особливий статус – перший має лише вихід, а другий має лише вхід.
На початку моделювання в моделі немає жодного транзакта. У процесі моделювання транзакти входять у модель і залишають її у певні моменти часу, відповідно до тих логічних умов, які виникають у системі.
Загалом у моделі існує значне число транзактів. Однак у певний момент часу переміщається від блоку до блоку тільки один транзакт згідно блок-діаграми. Кожний блок можна розглядати як місце звертання до відповідної підпрограми, яка викликається на виконання у момент входження транзакта у блок. Таке просування транзакту у цьому і наступних блоках триває доти, поки не відбудеться одна з наступних подій [1, 6]:
транзакт входить у блок, що призначений для затримування транзакта на визначений модельний час;
транзакт входить у блок, який видаляє транзакт з моделі;
транзакт намагається ввійти в наступний блок відповідно до запропонованої блок-діаграмою логіки, однак блок відмовляється прийняти цей транзакт;
транзакт залишається в тому блоці, у якому він у цей час перебуває, і буде повторювати свої спроби ввійти в наступний блок.
Рис. 4.2. Блок-діаграма моделі системи
Виникнення однієї з перерахованих умов залишає транзакт на місці й дозволяє переміщення в моделі іншого транзакта. Реалізація моделі полягає в послідовному звертанні до підпрограм, зумовленим надходженням в певні блоки транзактів. Проходячи через блоки, кожний транзакт вносить свій внесок у вміст лічильників блоків. Значення цих лічильників доступні розроблювачеві через системні числові атрибути (СЧА) блоків: W – поточний вміст блоку й N – загальна кількість входів у блок.
Транзакт, що просувається у даний момент часу в моделі, називається активним. Проміжок часу, протягом якого транзакт знаходиться у моделі, називається резидентним часом транзакта. Проміжок часу, протягом якого транзакт переходить від одного місця моделі до іншого, називається транзитним часом.
Кожне просування транзакта в моделі є подією, що має відбутися в певний момент модельного часу. Для того, щоб підтримувати правильну часову послідовність подій, планувальник має таймер модельного часу, що автоматично корегується відповідно до логіки моделювання системи. Модельний час характеризує тривалість функціонування системи під час проведення імітаційного моделювання на ЕОМ.
Таймер GPSS має наступні особливості:
реєструються лише додатні дійсні значення часу;
одиниця модельного часу визначається розробником моделі і має правильно відображати події реальної системи у моделі. Значення одиниці модельного часу визначаються у формі часових даних моделі;
планувальник не аналізує стан моделі у кожний наступний момент модельного часу (що відрізняється від поточного на одиницю модельного часу), а просуває таймер до моменту часу, коли повинна відбутися найближча наступна подія.
Значення таймера доступні розробнику через системні СЧА С1 (відносний модельний час) і АС1 (абсолютний модельний час). Оскільки одиниця часу не повідомляється моделі, тому всі дані моделі, пов’язані з часом, мають бути призначені користувачем через одиницю часу.
Розглянемо більш детально механізм зміни таймера модельного часу і логіку процесу моделювання на прикладі моделювання СМО з неоднорідним потоком вимог. Для формування такого потоку вимог y GPSSW-моделі міститься декілька операторів GENERATE, які відповідають числу класів вимог.
В початковий момент часу значення таймеру модельного часу встановлюється в “0”. Для всіх класів вимог, які поступають у систему, у кожному з блоків GENERATE визначається по одному найближчому моменту появлення транзакту, що відповідає моменту надходження чергової вимоги даного класу. Очевидно, що число таких вимог дорівнюватиме кількості класів вимог. Серед усіх цих моментів часу визначається момент з найменшим значенням (який відповідає найближчій події). Саме йому встановлюється значення таймера модельного часу. Це зумовлює рух такого транзакту від блоку GENERATE до наступного блоку, момент надходження якого співпадає із значенням таймера. Просування транзакту у моделі здійснюватиметься до того часу, поки він не попаде у блок, який “відмовляється” прийняти його доти, поки у моделі не зміняться певні умови. У цьому випадку транзакт залишається у попередньому блоці. Якщо транзакт входить у блок, функцією якого є вилучення транзакту з моделі, тоді такий транзакт знищується.
Якщо у моделі є ще транзакт з таким же моментом часу появлення, тоді починається його просування, але значення таймера модельного часу не змінюється. Зміна таймера модельного часу проходить лише у тому випадку, коли у моделі немає ні одного транзакта з таким же моментом часу появлення.
Побудові блок-діаграми повинні передувати досить детальний аналіз і проектування предметної області інформаційної моделі із вказуванням всіх джерел інформації, різних документів, шляхів їхньої передачі, засобів і способів обробки. Ступінь деталізації інформаційної моделі залежить від цілей моделювання.