
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Відлагодження моделей у gpss World
Процес відлагодження моделі розглянемо на конкретному прикладі (STANOK_2.GPS). Для цього виконаємо команди: File → New. У вікні Новий документ виділяємо пункт Model і натискаємо кнопку ОК. З’явиться вікно моделі, у якому вводиться програма, показана на рис. 6.20.
Рис. 6.20. Імітаційна модель ділянки цеху STANOK_2
Викликати вікно для представлення імітаційної моделі в системі GPSSW можна також натисканням комбінації клавіш Ctrl+Alt+S.
У програмі доданий оператор QTABLE з міткою Time_pv для збирання інформації й побудови відповідної гістограми функціонування черги під іменем Cherga.
Призначимо командам, що найчастіше використовуються для даної моделі, відповідні функціональні клавіші. Для цього виконаємо команди Edit → Settings. Відкриється відповідне діалогове вікно для даної програми. У ньому активізуємо закладку Function Keys (Функціональні клавіші), а потім кнопку ОК. З’явиться відповідна вкладка, в якій у текстові поля F8 і F9 вводяться відповідно команди SHOW P$N_detaly і SHOW X$N_ detaly. (рис. 6.21). Натискаємо кнопку ОК.
Ці дії забезпечили можливість виклику двох команд SHOW P$N_detaly і SHOW X$N_ detaly за допомогою відповідно клавіш F8 і F9. Це допоможе заощадити час моделювання й використати різні вхідні дані.
Рис. 6.21. Вікно Settings для моделі STANOK_2
Тепер перейдемо до етапу компіляції моделі. Для цього виконаємо Command → Create Simulation (Створити виконувану модель). Потім відкриємо вікно BLOCK ENTITIES (Блокові елементи) виконанням команд: Window → Simulation Window → Blocks Window. З’явиться діалогове вікно BLOCK ENTITIES (рис. 6.22).
Рис. 6.22. Діалогове вікно BLOCK ENTITIES для моделі STANOK_2
Помістимо умову зупинки вимоги на блоці 5. Для цього виконаємо команди Command → Custom (Замовити). Відкриється діалогове вікно Simulation Command. У текстовому полі вводиться STOP 5 (Зупинити на блоці 5), як показано на рис. 6.23. Натискаємо кнопку ОК, що зумовить відкриття вікна JOURNAL.
Рис. 6.23. Діалогове вікно Simulation Command
Вікна JOURNAL і BLOCK ENTITIES розташовуються у полі видимості кожного з них, а інші поки згортаються.
Переміщення вікон, зменшення або збільшення їх розмірів здійснюється курсором мишки.
Для необхідного розміщення вікон вибираємо Window → Tile (Мозаїка). Вікна розмістяться одне під одним так, як зображено на рис. 6.24.
Рис. 6.24. Головне вікно системи з двома вікнами JOURNAL і BLOCK ENTITIES до початку моделювання для моделі STANOK_2
Тепер перейдемо до моделювання системи. Для цього виконаємо: Command (або комбінація клавіш Alt+C) → START. Відкриється діалогове вікно Start Command, у якому вказується значення лічильника, наприклад 100, і натискаємо кнопку ОК. У вікні буде додана інформація (рис. 6. 24). Вигляд вікон зображено на рис. 6.25.
Рис. 6.25. Головне вікно системи з двома вікнами JOURNAL і BLOCK ENTITIES після початку моделювання для моделі STANOK_2
У вікні JOURNAL відображено повідомлення про те, що вимога зупинилася на блоці 5. У вікні BLOCK ENTITIES перед блоком 5 це відображено у вигляді маленького прямокутника.
Покрокове моделювання можна здійснювати з використанням функціональної клавіші F5, що за замовчуванням відповідає команді STEP 1. Кожен крок моделювання змінює інформацію у вікнах JOURNAL і BLOCK ENTITIES.
Тепер у будь-який момент моделювання, натиснувши на функціональні клавіші F8 i F9, за якими призначені відповідно команди SHOW P$N_ detaly і SHOW X$N_ detaly, можемо у вікні JOURNAL одержати чисельні значення стандартних числових атрибутів P$N_ detaly і X$N_ detaly.
Після освоєння процедурного керування активною вимогою можна зняти умову зупинки. Для цього вибираємо: Window → Simulation Snapshot. Відкриється діалогове вікно Stop Conditions (Умови зупинки) (рис. 6.26).
Рис. 6.26. Діалогове вікно Stop Conditions
Виділяємо рядок, активізувавши мишкою число 5 і натискаємо послідовно кнопки Remove і ОК. Умова зупинки буде знята. Про це з'явиться наступне повідомлення у вікні JOURNAL:
STOP 5,0,OFF
Можна спостерігати деякі інші показники роботи модельованої системи, наприклад, поточний вміст черги, що виводиться за допомогою відповідного стандартного числового атрибута Q$Cherga. Для цього вибираємо Command → SHOW. Відкриється діалогове вікно Show Command, у якому вказується шуканий показник – Q$Cherga (рис. 6.27). Натискаємо кнопку ОК. Цей показник з'явиться у вікні JOURNAL і в рядку стану головного вікна системи GPSSW.
Рис. 6.27. Діалогове вікно Show Command
Натискаючи на функціональну клавішу F5, можна на кожному кроці переглянути, що ж відбувається під час роботи системи
Також можна переглянути вимоги у вікні TABLE WINDOW. Для цього виконаємо команди: Window → Simulation Window → Table Window (Вікно гістограми). Відкриється діалогове вікно Open Table Window (Відкрити вікно гістограми). Для нашого завдання вікно виглядатиме, як зображено на рис. 6.28. Натискаємо кнопку ОК.
Рис. 6.28. Діалогове вікно Open Table Window
Відкриється вікно TABLE WINDOW з відповідною гістограмою, яке зображено на рис. 6.29.
Рис. 6.29. Діалогове вікно TABLE WINDOW для моделі STANOK_2
Гістограма показує розподіл часу очікування деталей в черзі. Середній час очікування становить 16,287 хв, а стандартне відхилення – 3,407 хв.
Контрольні запитання та завдання
Які стани передбачає технологія моделювання систем у GPSS World? Наведіть їх характеристики.
Вкажіть способи створення імітаційних моделей та їх компіляції у GPSS World.
Яке призначення вікна Insert GPSS Blocks?
Яка послідовність команд використовується для виправлення синтаксичних помилок?
Охарактеризуйте команди GPSS World для визначення об’єктів.
Наведіть та охарактеризуйте команди GPSS World для керування процесом моделювання.
Запишіть команду для записування значення 2010 у зберігаючу величину з номером 2009.
Запишіть команду для обчислення натурального логарифма від СЧА ОТМПТ і виведення результату на екран.
Запишіть команду умови зупинення процесу моделювання під час входження транзакта з номером N у блок із номером М.
Запишіть команду умови завершення процесу моделювання під час проходження одного блоку моделі.
Яке вікно системи дозволяє відслідковувати рух транзактів у моделі?
У якому вікні створюється активна вимога моделі?
Як можна переглянути значення активного транзакта у моделі?
Наведіть послідовність команд для включення сліду (трасування) активної вимоги у моделі.
Як використовуються текстові файли у процесі моделювання?
Як призначити командам відповідні функціональні клавіші?
Наведіть послідовність команд для зупинки вимоги на конкретному блоці програмі.
Яке призначення діалогового вікна Stop Conditions?
Яке призначення діалогового вікна TABLE WINDOW?
Охарактеризуйте основні параметри вікна REPORT.
“Якщо ти не знаєш, що ти робиш, роби це дуже детально”
(правило для програміста)
Розділ 7
Моделювання багатоканальних пристроїв у GPSS World
зайняття та звільнення багатоканальних пристроїв
стани недоступності та доступності у багатоканальних пристроїв
перевірка стану в багатоканальних пристроях
моделювання перемикачів
До об’єктів апаратної категорії GPSS World належать як одноканальні (ОКП) так і багатоканальні пристрої (БКП). Система з довільною кількістю обслуговуючих пристроїв, що характеризуються різнорідними властивостями, наприклад, різними інтенсивностями обслуговування, моделюється у GPSSW такою ж кількістю ОКП, які розташовуються паралельно.
Однак часто різні паралельно працюючі пристрої є однорідними. Тоді для їх моделювання у GPSSW застосовується багатоканальний пристрій (БКП), який може бути використаний декількома транзактами одночасно. Обмежень на кількість використання БКП в моделі немає. Кількість пристроїв, які моделюються БКП визначається терміном “ємність БКП”. Ємність БКП задається користувачем до процесу моделювання.
У даному розділі розглядаються основі засоби GPSS World для побудови моделей систем з багатоканальними пристроями.