
- •Моделювання систем
- •Передмова
- •Моделі процесів і систем
- •Класифікація моделей
- •Основні визначення та класифікація систем масового обслуговування
- •Характеристики систем масового обслуговування
- •Вхідний потік вимог
- •Стратегії керування потоками вимог
- •Класифікація систем масового обслуговування
- •Метод статистичних випробовувань
- •Генератори випадкових чисел
- •Моделювання випадкових подій та дискретних випадкових величин
- •Моделювання неперервних випадкових величин
- •Моделювання нормально-розподілених випадкових величин
- •Моделювання випадкових векторів
- •Моделювання випадкових функцій
- •Статистична обробка результатів моделювання
- •Визначення кількості реалізацій під час моделювання випадкових величин
- •Основне меню 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-критерію Ст’юдента
Блоки зайняття та звільнення багатоканальних пристроїв
Функціонування БКП у моделях можна організувати у двох режимах: зайняття/звільнення та недоступності.
БКП визначається командою STORAGE у форматі
Name STORAGE A
де Name – назва БКП. Для звертання до декількох БКП символічному імені ставиться у відповідність номер за допомогою команди EQU. Операнд А є тільки цілим додатним числом.
У процесі моделювання БКП події відбуваються у такій послідовності:
транзакт очікує своєї черги у випадку необхідності;
транзакт займає пристрій;
пристрій обслуговує протягом деякого інтервалу часу;
транзакт звільняє пристрій.
Зайняття й звільнення БКП моделюється блоками ENTER (Ввійти) і LEAVE (Вийти). Формати блоків:
ENTER А,[В]
LEAVE А,[В]
Операнд А в блоках вказує на назву БКП. Він використовується для пошуку БКП із зазначеною назвою, коли транзакт входить у блок ENTER. Якщо такого БКП немає, відбувається зупинка процесу моделювання. Операнд В задає число одночасно зайнятих пристроїв (елементів пам’яті) в блоці ENTER або звільнених в блоці LEAVE. За замовчуванням операнд В = 1 (для В = 0 блок вважається нефункціонуючим).
Транзакт може ввійти в блок ENTER, якщо БКП перебуває в доступному стані і містить достатню ємність для обслуговування. У протилежному випадку транзакт потрапляє в список затримування пристрою відповідно до пріоритету.
Під час входження транзакту у блок ENTER виконуються наступні дії:
збільшується на значення операнда В лічильник входів БКП;
збільшується на значення операнда В (за замовчуванням на 1) поточний вміст БКП;
зменшується на значення операнда В (за замовчуванням на 1) доступна ємність БКП.
БКП ніколи не може бути вилучений з поточної моделі, навіть якщо команда STORAGE видаляється з програми. БКП можна перевизначити, тобто змінити його ємність іншою командою STORAGE із тією ж самою назвою. Наприклад:
Buf STORAGE 8
Повторний опис
Buf STORAGE 12
Імітація обслуговування протягом певного проміжку часу також здійснюється блоком ADVANCE. Наприклад:
Nak1 STORAGE 10
. . .
ENTER Nak1,2
ADVANCE 80,5
LEAVE Nak1,2
. . .
Командою STORAGE визначається БКП з назвою Nak1 ємністю 10 одиниць. Під час входу транзакта в блок ENTER займається 2 одиниці й стільки ж звільняється в блоці LEAVE з виходом із БКП.
Якщо транзактом здійснюється запит на більшу кількість пристроїв (елементів пам'яті), ніж визначено командою STORAGE, (значення операнду А команди STORAGEC є меншим за значення операнда В блоку ENTER), тоді виникає помилка “Запит елементів пам'яті перевищує її загальну ємність”. Наприклад:
Nak2 STORAGE 10
. . .
ENTER Nak2,15
ADVANCE 80,5
LEAVE Nak2,15
. . .
Оскільки транзакт з входом в блок ENTER намагається зайняти більше каналів (15), ніж визначено (10) командою STORAGE, то відбудеться зупинка програми. Tе ж саме відбудеться з виходом із блоку LEAVE. Транзакт намагається звільнити каналів більше (15), ніж визначено командою STORAGE.
Якщо операнд В у блоках ENTER і LEAVE не використовується, тоді транзактом займається й звільняється одна одиниця ємності БКП. Наприклад:
Buf1 EQU 1
Buf2 EQU 2
Buf3 EQU 3
Buf1 STORAGE 20
Buf2 STORAGE 15
Buf3 STORAGE 18
. . .
ENTER *1
ADVANCE MX$TudFg(P2,P3)
LEAVE *1
. . .
Тут визначені три БКП з іменами Bufl, Buf2, Buf3 та ємностями 20, 15 і 18 відповідно. Командою EQU іменам поставлені у відповідність номера 1, 2 і 3. Передбачається, що на вході транзакта в блок ENTER у його першому параметрі міститься який-небудь один із трьох номерів. Відповідно до цього номера й займається, а потім звільняється одна одиниця ємності БКП. Це приклад використання непрямої адресації БКП, де номер БКП визначається параметром транзакта.