Основні правила GPSS/PC

 

Для опису імітаційної моделі мовою GPSS корисно представити її у вигляді схеми, на якій відображаються елементи СМО - устрою, накопичувачі, вузли й джерела. Опис мовою GPSS є сукупність операторів (блоків), що характеризують процеси обробки заявок. Є оператори й для відображення виникнення заявок, затримки їх в ОА, заняття пам'яті, виходу зі СМО, зміни параметрів заявок (наприклад, пріоритетів), висновку на печатку накопиченої інформації, що характеризує завантаження устроїв, заповнювання черг і т.п. Кожен транзакт, присутній у моделі, може мати до 12 параметрів.

Існують оператори, за допомогою яких можна змінювати значення будь-яких параметрів транзактів, і оператори, характер виконання яких залежить від значень того або іншого параметра що обслуговує транзакту.

Шляхи просування заявок між ОА відображаються послідовністю операторів в описі моделі мовою GPSS спеціальними операторами передачі керування (переходу). Для моделювання використається подійний метод.

Дотримання правильної тимчасової послідовності імітації подій у СМО забезпечується інтерпретатором GPSSPC – програмною системою, що реалізує алгоритми імітаційного моделювання.

Основні оператори мови GPSS/PC

 

Для керування прогоном моделі використовуються керуючі оператори GPSS/PC. З одним з них - оператором START. Оператор START (почати) має наступний формат:


START A,B,C,D

Поле A містить константу, що задає початкове значення лічильника завершень. У поле B може бути записане ключове слово NP - ознака придушення формування стандартного звіту по завершенні моделювання. Якщо поле B порожньо, то по закінченні прогону моделі формується звіт зі стандартною статистичною інформацією про всі об'єкти моделі. Поле C не використовується і збережено для сумісності зі старими версіями GPSS. Поле D може містити 1 для включення в звіт списків поточних і майбутніх подій. Якщо поле D порожньо, то видача в звіт умісту цих списків не виробляється.

Оператор SІMULATE (моделювати) установлює межу реального часу, що відводиться на прогін моделі. Якщо прогін не завершиться до витікання цього часу, то він буде перерваний примусово з видачею накопиченої статистики в звіт.

Оператор SІMULATE має єдиний операнд A, що містить граничний час моделювання в хвилинах, що задається константою. Оператор розміщається перед оператором START, початківцем лімітований прогін.

Оператор RMULT (установити значення генераторів) дозволяє перед початком прогону установити початкові значення генераторів випадкових чисел RN, що визначають генерируемые ними послідовності. Поля A-G оператора можуть містити початкові значення генераторів відповідно RN1-RN7, що задаються константами. Початкові значення генераторів, не встановлені операторами RMULT, збігаються з номерами генераторів.

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

З оператором RESET зв'язане розходження між відносним (СЧА1) і абсолютним (СЧА AC1) модельним часом. Таймер відносного часу C1 вимірює модельний час, що пройшов після останнього скидання статистики оператором RESET, а таймер абсолютного часу AC1 - модельний час, що пройшов після початку першого прогону моделі. Якщо не використовувалося жодного оператора RESET, то значення цих таймерів збігаються. Оператор RESET установлює таймер C1 у нуль і не впливає на таймер AC1.

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

Перший оператор START починає прогін моделі довжиною 1000 транзактов (перехідний період). Оскільки статистика, накопичена на цьому періоді, не використовується, у поле B оператора зазначена ознака придушення формування звіту NP. Оператор RESET скидає накопичену статистику, не змінюючи стану моделі. Другий оператор START починає основний прогін моделі з формуванням звіту по завершенні прогону.

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

Оператор CLEAR використовується звичайно для організації декількох незалежних прогонів моделі на різних послідовностях випадкових чисел. Перед повторенням прогону можна при необхідності перевизначити окремі об'єкти моделі, наприклад ємності багатоканальних пристроїв.

Оператор END (закінчити) завершує сеанс 0роботи з GPSS/PC і повертає керування в операційну систему. Оператор не має операндов.

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

 


Опис програми на GPSS/PC

 

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

 


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



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