Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИЖКА_Моделювання систем у GPSS World.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.15 Mб
Скачать

4.1. Основне меню gpss World

Система GPSS World призначена для імітаційного моделювання дискретних і неперервних систем. Основними об’єктами системи є програмний код, написаний мовою GPSS (GPSS-модель), виконавчий об’єкт, що створюється у результаті трансляції GPSS-моделі і реалізує процес моделювання та звіт з результатами моделювання.

Мова моделювання GPSS (General Purpose Simlation System) з вбудованою мовою програмування PLUS передбачає, що модель складної системи можна представити сукупністю елементів і логічних правил їхньої взаємодії в процесі функціонування системи, що моделюється. Також передбачається, що для модельованих систем можна виділити невеликий набір абстрактних елементів, які називаються об'єктами. Основними елементами мови GPSS є транзакти і блоки. Вони відповідно характеризують динамічні та статичні об’єкти системи. Набір логічних правил обмежений і може бути описаний невеликим числом стандартних операцій. Комплекс програм, що описують функціонування об'єктів і виконують логічні операції, є основою для створення програмної моделі системи даного класу. Компілювання програми у GPSSW здійснюється у два етапи. На першому етапі перевіряється синтаксис і семантика програм, а на другому – здійснюється просування транзактивів у моделі від блоку до блоку.

GPSS-модель обов’язково містить блоки і транзакти. Послідовність блоків відображає напрями переміщення транзактів. За аналогією з іншими мовами моделювання механізм керування у GPSS реалізується у модельному часі. Це дає змогу відображати динамічні процеси у реальних системах. Керування між блоками передається за допомогою руху транзактів у модель­ному часі. Звернення до підпрограм блоків зумовлюється рухом транзактів. Змістовне наповнення моделі здійснює розробник моделі. Він же встановлює аналогію між транзактами та елементвами реальної сисиеми моделювання.

У системі GPSS World є спеціальна програма-планувальник, що виконує наступні функції:

  • забезпечення руху транзактів за заданими маршрутам;

  • планування подій шляхом реєстрації часу настання кожної події, що відбуваються в моделі й виконання їх у наростаючій часовій послідовності;

  • реєстрація статистичної інформації про функціонування моделі;

  • просування модельного часу в процесі моделювання системи.

Для забезпечення послідовності оброблювання подій у часі викорис­тову­єть­ся системний годинник, що зберігає значення абсолютного модельного часу.

Об'єкти GPSS поділяються на 7 категорій і 15 типів, які представлені в табл. 4.1. Розглянемо їх призначення.

Динамічні об'єкти – це транзакти, які створюються в певних місцях моделі, пересуваються у GPSS-моделі від одного блоку до іншого у заданій послідовності. Кожний транзакт може мати будь-яке число параметрів. Пара­метри нумеруються або їм даються назви. Номери та назви параметрів вико­ристовуються для посилань на значення, присвоєні параметрам. Транзак­там може присвоюватися пріоритет. Він визначає перевагу, що одержує транзакт, коли він й інші транзакти претендують на той самий ресурс.

До об'єктів апаратної категорії відносяться одноканальні пристрої, багатоканальні пристрої і логічні ключі. За допомогою цих елементів може бути здійснена декомпозиція систем моделювання. Впливаючи на ці об'єкти, транзакти можуть змінювати їхній стан і впливати на рух інших транзактів.

Одноканальні пристрої (ОКП) – це об’єкти, що у будь-який момент часу можуть бути лише в одному з двох станів: вільному або зайнятому. Наприклад, один канал передавання даних, один вузол зв’язку.

Багатоканальні пристрої (БКП) призначені для імітації пристроїв, що здійснюють паралельне оброблення даних. Вони можуть бути викорис­та­ні одночасно декількома транзактами. БКП можна використовувати як аналог, наприклад, багатоканального ремонтного органу, декількох каналів зв'язку.

Таблиця 4.1

Об’єкти GPSS

Категорії

Типи об’єктів

Динамічна

● Транзакти

Операційна

● Блоки

Апаратна

● Одноканальні пристрої

● Багатоканальрні пристрої

● Логічні ключі

Обчислювальна

● Змінні

● Функції

● Генератори випадкових чисел

Статистична

● Черги

● Таблиці

Запам’ятовуюча

● Комірки

● Матриці комірок

Групуюча

● Числові групи

● Групи транзактів

● Списки

Події, що відбувалися у системі раніше, можуть заблокувати, змінити рух транзактів і настання наступних подій. Для моделювання таких ситуацій введені логічні ключі. Транзакт може встановлювати ці ключі в положення “включено” або “виключено”. Згодом стан ключів може бути перевірено іншими транзактами для визначення шляху їхнього подальшого проходження.

Операційні об'єкти (блоки) задають логіку функціонування моделі системи й визначають шляхи руху транзактів між об'єктами апаратної категорії. У блоках можуть відбуватися події чотирьох основних типів:

  1. створення або знищення транзактів;

  2. зміна числового атрибута об'єкта;

  3. затримування транзакту на певний період часу;

  4. зміна маршруту руху транзакту в моделі.

У системі GPSS World використовуються 53 типи блоків. Залежно від функціонального призначення блоки поділяються на такі групи.

1. Блоки, що здійснюють модифікацію атрибутів транзактів:

а) генерування й знищення транзактів – GENERATE, SPLIT, TERMI­NATE, ASSEMBLE;

б) тимчасове затримування транзактів – ADVANCE;

в) синхронізація руху двох MATCH і декількох GATHER транзактів;

г) зміна параметрів транзактів ASSIGN, INDEX, MARK, PLUS;

д) зміна пріоритету транзакта PRIORITY.

  1. Блоки, що змінюють послідовність руху транзактів (блоки передачі керування): DISPLACE, TRANSFER, LOOP, TEST, GATE.

  2. Блоки, пов'язані з групуванням: ADOPT, ALTER, EXAMINE, JOIN, REMOVE, SCAN.

  3. Блоки, що описують об'єкти апаратної категорії:

а) одноканальні пристрої – SEIZE, RELEASE, PREEMPT, RETURN, FUNAVAIL, FAVAIL;

б) багатоканальні пристрої – ENTER, LEAVE, SAVAIL, SUNAVAIL;

в) ключі (логічні перемикачі) – LOGIC.

  1. Блоки, що зберігають необхідні значення для подальшого використання: SAVEVALUE, MSAVEVALUE.

  2. Блоки, що забезпечують одержання статистичних результатів:

а) черги QUEUE, DEPART;

б) таблиці TABULATE.

  1. Блоки для організації списку користувача: LINK, UNLINK.

  2. Блоки для організації введення-виведення:

а) відкриття/закриття файлу: OPEN/CLOSE;

б) зчитування/запис у файл: READ/WRITE;

в) встановлення позиції поточного рядка: SEEK.

9. Спеціальні блоки: BUFFER, COUNT, EXECUTE, INTEGRATION, SELECT, TRACE, UNTRACE.

Об’єкти обчислювальної категорії використовуються у процесі моде­лю­вання, коли зв'язки між компонентами системи виражаються у вигляді математичних (аналітичних і логічних) співвідношень. Для цього до об'єктів обчислювальної категорії введені арифметичні та булеві змінні й функції.

Змінні є складними виразами, які включають константи, системні числові атрибути (СЧА), бібліотечні арифметичні функції, арифметичні й логічні операції.

Кожному об'єкту відповідають атрибути, що описують його стан у цей момент часу. Атрибути можуть використовуватися в операндах операторів GPSS та у виразах. Вони доступні для використання протягом усього процесу моделювання й називаються системними числовими атрибутами (СЧА) (System Numerical Attributes – SNA). У GPSSW використовуються СЧА трьох типів:

  • СЧА об’єктів, які описують стан об’єктів GPSS-моделі;

  • СЧА системи, які описують стан системи в цілому;

  • СЧА транзактів, які описують їх властивості і параметри. Усього в GPSS World є понад 50 СЧА.

Булеві змінні дозволяють користувачеві перевіряти в одному блоці GPSS одночасно декілька умов, виходячи зі стану або значення цих умов і їхніх атрибутів. Тому в даному блоці здійснюється звертання до булевої змінної, вираз якої містить у собі перевірку декількох умов. Булеві змінні можуть бути представлені комбінаціями стандартних числових атрибутів, пов'язаних між собою за допомогою булевих операторів, включаючи й інші змінні. Булеві змінні визначаються так само, як і арифметичні, але замість арифметичних операцій перевіряються різні логічні умови.

За допомогою функцій користувач може здійснювати обчислення неперервних або дискретних функціональних залежностей між аргументом функції (незалежна величина) і залежним значенням функції. Всі функції в GPSS задаються табличним способом за допомогою команд опису функцій. Як і змінні, функції не пов'язані з певними блоками.

Об'єкти запам'ятовуючої категорії забезпечують звертання до значень, що зберігаються. Комірки величин, що зберігаються, і матриці комірок величин, що зберігаються, використовуються для збереження деякої числової інформації. Розмірність матриці не може перевищувати шести.

До статистичних об'єктів належать черги й таблиці. У будь-якій системі рух потоку транзактів може бути затриманий через недоступність пристроїв. У цьому випадку затримані транзакти стають в чергу. Це ще один тип об'єктів GPSS. Облік цих черг становить одну з основних функцій інтерпретатора. Інтерпретатор автоматично накопичує певну статистику щодо пристроїв і чергу вказаних розробником місцях моделі. Вся ця інформація є доступною користувачеві у процесі моделювання.

Генератори випадкових (точніше, псевдовипадкових) чисел є об’єктами GPSS-моделі. Їх можна розділити на три групи:

  • вбудовані генератори рівномірно розділених в інтервалі (0, 1) випадкових чисел, що будуються на мультиплікативному конгруентному методі; звертання до генератора за допомогою системного числового атрибута RNj, де j – номер генератора, дозволяє створювати цілочисельні випадкові величини в інтервалі (0;  999);

  • бібліотечні генератори випадкових чисел, реалізовані у вигляді вбудованих бібліотечних процедур мови PLUS, з конкретними законами розподілу;

  • табличні генератори випадкових чисел з довільними законами розподілів, які реалізуються користувачем у вигляді таблиць.

Для полегшення табулювання статистичної інформації в GPSS перед­бачений спеціальний об'єкт – таблиця. Вони використовуються для одер­жання вибіркових розподілів деяких випадкових величин. Таблиця склада­ється із частотних класів (діапазонів значень), куди заноситься число попадань конкрет­ного числового атрибута в той чи інший частотний клас. Для кожної таблиці обчислюється також математичне сподівання й середньо­квадратичне відхилення. Наприкінці експерименту з моделлю результати, що містяться в таблицях, можуть виводитися або на дисплей, або на друк.

До групуючої категорії належать три типи об'єктів: числова група, група транзактів і списки.

Під час моделювання у будь-який момент модельного часу транзакти, які знаходяться у моделі, зберігаються в одному із списків. Списки є структурами даних для зберігання інформації про транзакти. Вони відносяться до внутріш­ньої організації GPSS і забезпечують логіку процесу моделювання структури.

У будь-який момент часу транзакт може перебувати в одному з таких видів списків: 1) поточних подій; 2) майбутніх подій; 3) затримки ОКП або БКП; 4) відкладених переривань ОКП; 5) користувача. Загальна структура списків наведена на рис. 4.1.

У списку поточних подій (СПП) перебувають транзакти, що відпові­дають подіям, час настання яких є меншим або дорівнює поточному часу. Транзакти зі СПП готові до входу в блоки й повинні ввійти в них до чергової зміни модельного часу. У СПП транзакти розташовані в порядку зменшення пріоритету, а транзакти з однаковими пріоритетами розташовуються в порядку надходження їх у список.

Номер транзакта

Номер поточного блоку

Номер наступного блоку

Час виходу із списку

Пріоритет

Час розміщення у списку

Рис.4.1. Структура списку GPSS

Список майбутніх подій (СМП) містить транзакти, що відповідають подіям, час настання яких повинен відбутися в майбутньому. Такі транзакти розміщуються в списку строго в порядку зростання часу початку руху. Пріоритети не впливають на порядок руху в цьому списку.

У список повторних спроб надходять транзакти, для яких не виконані умови входу в наступний блок TRANSFER. Транзакти зі списку повторних спроб очікують зміну СЧА. Це зумовлює активізацію транзакту і перевірку умови його входження в наступний блок. Якщо умови виконуються, транзакт надходить у наступний блок і автоматично виключається зі списку повторних спроб. Кожний об’єкт GPSS має свій список повторних подій.

Одноканальний пристрій має:

  • список відкладених переривань — список транзактів, що очікує заняття ОКП за пріоритетом;

  • список переривань список транзактів, обслуговування яких даним ОКП було перервано;

  • список затримування – список транзактів, що очікує заняття ОКП в порядку пріоритету;

  • список повторних спроб – список транзактів, що очікує зміни стану ОКП.

Багатоканальний пристрій має:

  • список затримування – список транзактіов у порядку пріоритету, що очікують можливості зайняти канали БКП, що звільнилися;

  • список повторних спроб – список транзактів, що очікує зміни стану БКП.

Список синхронізуючих транзактів містить транзакти, що перебувають у даний момент часу в стані порівняння.

Список користувача містить транзакти, вилучені користувачем зі списку поточних подій і надіслані в список користувача як тимчасово неактивні. Списки користувача використовуються для організації черг з дисциплінами, відмінними від дисципліни “першим прийшов - першим обслужений”.

Більш детальне використання списків транзактів буде викладене надалі під час побудови моделей з використанням блоків GPSS World.

Після того як система, модель якої потрібно розробити, формалізована, її потрібно описати мовою GPSS, використовуючи блоки, які виконують відповідні операції в моделі.