Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МКС. Лаб. роботи.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.2 Mб
Скачать

1.6 Елементи, що вiдображають одноканальнi обслуговуючi пристрої

Розглянемо елементи, що використовуються для представлення власне обслуговування. Аналогами обслуговуючих елементiв можуть бути люди, механiзми, лiнiї зв’язку й iншi об’єкти реальних систем. У GPSS такі об’єкти моделюються за допомогою одноканальних та багатоканальних пристроiв обслуговування, а також логiчних ключiв.

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

1. Кожний пристрiй в будь-який момент часу може обслуговувати тiльки один травзакт. Якщо в процесi обслуговування з’являється новий транзакт, то вiн повинен:

- або дочекатися свого часу, вставши в чергу;

- або перемiститися в iнше мiсце;

- або, якщо вiн є важливiшим, пристрiй перериває поточне обслуговування i починає обслуговувати його.

2. Коли у пристрiй поступає транзакт, вiн повинен пробути там час, необхiдний для обслуговування.

Всім пристроям присвоюються iмена. Вони можуть бути або числовими (числа мають бути цілими позитивними) або символiчними.

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

1. Чекати своєї черги, якщо це необхiдно. Очiкування вимагає деякого iнтервалу часу.

2. Коли пiдходить черга, зайняти пристрiй. Подiя “заняття пристрою” вiдбувається в деякій точцi модельного часу.

3. Пристрiй перебуває в станi зайнятостi доти, доки не закiнчиться обслуговування. Для обслуговування потрiбний деякий інтервал часу.

4. Коли обслуговування закiнчується, звiльнити пристрiй. Подiя “звiльнення пристрою” вiдбувається в деякiй точцi часу.

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

SEIZE (ЗАЙНЯТИ) і RELEASE (ЗВIЛЬНИТИ).

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

Статистична iнформацiя про роботу пристрою при моделюваннi збирається автоматично. Статистику про роботу пристрою можна спостерiгати у вiкнi пристроїв при роботi з програмою, перейшовши в це вiкно за допомогою натискання клавiшiв [ALT+F].

    1. Реалiзацiя затримки у часi.

Блок ADVANCE (ЗАТРИМАТИ) здiйснює реалiзацiю затримки переміщення транзакту протягом деякого iнтервалу часу. Зазвичай цей iнтервал задається випадковою змінною.

У GPSS можливi такi варiанти розподiлу часу обслуговування:

- рiвномiрний розподiл iнтервалу обслуговування;

- iншi види розподiлу iнтервалiв обслуговування.

Як i при використаннi блока GЕNЕRАТЕ особливо розглядається рiвномiрний розподiл випадкових величин. Застосування складніших видiв розподiлiв вимагає використання функцiй.

Формат блока:

ADVANCE А,[B]

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

Якщо час перебування в блоцi дорiвнює нулю, замiсть затримки в блоцi ADVANCE iнтерпретатор вiдразу ж намагається перемiстити цей транзакт в наступний блок.

Приклад 1.2

Використання блока ADVANCE:

ADVANCE 30,5

Час затримки транзакту в цьому блоцi - це випадкова величина, рiвномірно розподілена на iнтервалi [25, 35], i яка приймає одне з 11 цілих значень.

Приклад 1.3

Класичний випадок використання послiдовностi SEIZE – ADVANCE -

RELEASE:

SEIZE PROCESOR

ADVANCE 16,4

RELEASE PROCESOR

Транзакт, рухаючись по цьому ланцюжку блоків, займе пристрiй із символiчним iменем PROCESOR, затримається там на 16 4 од. часу i потiм покине його. Пiсля того, як транзакт увiйде в блок RELEASE i відповідна цьому блоку пiдпрограма закiнчиться, iнтерпретатор спробує перемiстити транзакт в наступний блок моделi i наступний транзакт вже може використати пристрiй PROCESOR.