Об’єкти GPSS

Категорії Типи об’єктів
Динамічна ● Транзакти
Операційна ● Блоки
Апаратна ● Одноканальні пристрої ● Багатоканальрні пристрої ● Логічні ключі
Обчислювальна ● Змінні ● Функції ● Генератори випадкових чисел
Статистична ● Черги ● Таблиці
Запам’ятовуюча ● Комірки ● Матриці комірок
Групуюча ● Числові групи ● Групи транзактів ● Списки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

а) черги QUEUE, DEPART;

б) таблиці TABULATE.

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

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

а) відкриття/закриття файлу: 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, використовуючи блоки, які виконують відповідні операції в моделі.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: