
- •1.2 Таймер модельного часу
- •1.3 Типи операторiв
- •1.4 Внесення транзактiв до моделi.
- •1.6 Елементи, що вiдображають одноканальнi обслуговуючi пристрої
- •1.8 Збiр статистики при чеканні
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Приклад моделювання одноканальної смо з чергою
- •3 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
- •1 Короткі теоретичні відомості
- •2 Порядок виконання роботи
1 Короткі теоретичні відомості
1.1 Перерозподіл потоку транзактів в GPSS-моделях
Блок TRANSFER (ПЕРЕДАТИ) дозволяє направити транзакт до будь-якого блоку моделі. Він має чотири операнди A, B, C, D. При цьому слід пам'ятати, що існує дев'ять режимів використання цього блоку для перерозподілу потоку транзактів.
Безумовний режим: операнди A, C і D в цьому режимі не використовуються. Операнд B - ім'я блоку, в який повинен перейти транзакт. Наприклад, транзакт, що поступив в блок, спробує увійти до блоку з ім'ям PRIBOR. Якщо останній відмовляє в цьому (зайнятий), то транзакт залишається в блоці TRANSFER.
|
|
TRANSFER |
PRIBOR |
|
Статистичний режим: операнд A визначає відсоток транзактов (у відносних одиницях), що направляються в блок з ім'ям, заданим операндом C. Решта транзактів прямує в блок, визначений операндом B (за умовчанням це наступний по порядку блок). Наприклад, в середньому 80% транзактів, що поступили в блок прямують в блок 7, останні - в блок 25.
|
|
TRANSFER |
. 8, 25, 7 |
|
Якщо вхід в блок заборонений (блок зайнятий), то транзакт залишається в блоці TRANSFER і робитиме нову спробу увійти до вибраного блоку.
Режим BOTH: У полі операнда A записано умовне позначення BOTH. Транзакт спочатку намагається пройти на блок, вказаний в полі B (за умовчанням - це наступний по порядку блок). Якщо це не вдається, то транзакт прямує в блок з ім'ям, вказаним в полі C. Якщо увійти до блоку не вдається, то транзакт залишається в блоці TRANSFER і процес повторюється.
Режим ALL: У полі A записано умовне позначення ALL. Транзакт намагається перейти спочатку до блоку, вказаного в полі B. Якщо це не вдається, транзакт послідовно пересилається до блоків з номерами B + D; B + 2D ..., C, де D - величина кроку, вказана в полі D, C - номер блоку в полі операнда C ( C > В на величину, кратну кроку D). Якщо транзакт не може перейти ні до одного з цих блоків, то він повертається в TRANSFER і цикл повторюється в тій же послідовності. Наприклад:
|
|
TRANSFER |
ALL,20, 80, 10 |
|
|
|
TRANSFER |
ALL, ST1, ST2, 3 |
|
|
|
TRANSFER |
ALL, 20, 80, 25 |
|
У першому блоці режим ALL заданий правильно. Транзакт послідовно намагатиметься перейти до блоків 20, 30 ..., 80. У другому блоці режим ALL допустимий тільки в тому випадку, якщо різниця між номерами, привласненими інтерпретатором блокам ST1 і ST2 кратна трем. У третьому випадку завдання режиму ALL неприпустимо, оскільки різниця між номерами блоку B і C не будуть кратні 25. У режимі ALL використання СЧА і непрямої адресації в операндах B, C і (або) D не допускається.
Режим PICK: У полі A записано позначення PICK. Випадково, з рівною імовірністю транзакт пересилається до одного з блоків з номерами B, B+1, B+2 ..., B+C, де B і C - номери блоків, вказані в полях відповідних операндів. Якщо транзакт не може відразу перейти ні до одного блоку, то він чекатиме в блоці TRANSFER до тих пір, поки не буде знято блокуючу умову. Наприклад:
|
|
TRANSFER |
PICK, 20, 29 |
|
Транзакт, що увійшов до цього блоку, з вірогідністю 0.1 спробує перейти до одного з 10 вказаних блоків (20, 21 ..., 29).
Режим "параметр": У полі A записано позначення P. Операнд B задає номер параметра транзакта, який входить в блок TRANSFER. Номер наступного блоку визначається сумою значення цього параметра із значенням операнда C. Транзакт переходить тільки в блок з обчисленим номером або затримується в блоці TRANSFER, якщо блок зайнятий.
Режим "підпрограма": У полі A записується позначення SBR. Транзакт з блоку TRANSFER намагається увійти до блоку з номером, визначеним операндом B. Операнд C задає номер параметра транзакта. У цьому параметрі автоматично записується номер даного блоку TRANSFER. Режим використовується для переходу до підпрограми, початком якої є блок, вказаний в полі операнда B. Транзакт зможе повернутися до блоку, наступного після блоку TRANSFER SBR, B, 10, що звернувся до підпрограми, якщо в кінці підпрограми записати блок TRANSFER P, 10, 1.
1.2 Приклад моделювання з використанням умовних переходів
Постановка завдання. Складальний цех приладобудівного заводу здійснює збірку осцилографів. Після збірки осцилографи поступають на випробувальний стенд, де проходять серію тестів і перевірок. Якщо прилад функціонує нормально, то після випробувань він поступає в цех упаковки; інакше осцилограф поступає на ділянку наладки. Після наладки осцилограф знов поступає на випробувальний стенд для проходження тестів.
Осцилографи поступають на випробувальний стенд кожні 10 3 хвилини, для проведення тестів і перевірок потрібно 16 4 хвилини. Приблизно 90 % осцилографів проходять випробування успішно, останні 10 % поступають на ділянку наладки. Наладка приладу займає 40 10 хвилин; якщо налагоджувальник у момент надходження приладу зайнятий, то прилад стає в чергу з алгоритмом обслуговування «перший поступив – перший пішов». Таким же чином організовується черга осцилографів, що поступили на випробувальний стенд, якщо під час надходження стенд зайнятий. Час надходження осцилографів, їх випробувань і наладки розподілено по рівномірному закону.
Випробування проводять 2 контролери, а наладку – 1 електронщик. Розподіл часу випробувань не залежить від того, який з контролерів їх проводить.
Необхідно побудувати і досліджувати GPSS-модель описаної системи; зібрати статистичну інформацію про роботу контролерів, налагоджувальника і про чергу. Час дослідження – 2 робочих тижня (80 годин), вихідні дні і перерви – не враховувати.
Метод побудови моделі. Визначаємо обмеження, що існують в системі, а потім вибираємо елементи GPSS для задоволення цих обмежень:
1 фахівець – електронщик, який займається наладкою (одноканальний прилад);
2 контролери, які проводять випробування (БКП ємністю 2);
відсоток осцилографів, які потрапляють на ділянку наладки (блок пересилки транзактов із заданою вірогідністю).
Складання таблиці визначень (табл. 1.1). Одиниця часу 1 хвилина. Блок-діаграма GPSS-модели приведена на рис. 1.1.
Таблиця 1.1 – Таблиця визначень для даного прикладу
Елементи GPSS |
Призначення елементів |
Транзакти: |
|
1-й сегмент моделі |
Таймер |
2-й сегмент моделі |
Осцилографи |
Прилади: |
|
ADJUST |
Налагоджувальник |
Багатоканальні пристрої: |
|
STEND |
Випробувальний стенд |
Черги: |
|
LINE1 |
Черга до випробувального стенду |
LINE2 |
Черга до налагоджувальника |
Рис. 1.1 - блок-діаграма GPSS-модели
Складання програми моделі проводиться на підставі початкових даних і визначеної раніше послідовності блоків. Програма імітації системи приведена в табл. 1.2.
Таблиця 1.2
1 |
STEND |
STORAGE |
2 |
; 2 TESTERS |
2 |
|
GENERATE |
10, 3 |
; PRODUCTION OSCILLOSCOPE |
3 |
AGAIN |
QUEUE |
LINE_1 |
; QUEUE TO TEST |
4 |
|
ENTER |
STEND |
; GO TO THE TEST |
5 |
|
DEPART |
LINE_1 |
; LEAVE THE QUEUE |
6 |
|
ADVANCE |
16, 4 |
; TEST |
7 |
|
LEAVE |
STEND |
; OUT OF TEST |
8 |
|
TRANSFER |
0.1, , BAD |
; IF BAD GO TO ADJUSTMENT |
9 |
|
TERMINATE |
|
; OSCILLOSCOPE GO OUT |
1 |
BAD |
QUEUE |
LINE_2 |
; QUEUE TO ADJUSTMENT |
1 |
|
SEIZE |
ADJUST |
; GO TO THE ADJUSTMENT |
1 |
|
DEPART |
LINE_2 |
; LEAVE THE QUEUE |
1 |
|
ADVANCE |
40, 10 |
; ADJUSTMENT |
1 |
|
RELEASE |
ADJUST |
; OUT OF ADJUSTMENT |
1 |
|
TRANSFER |
, AGAIN |
; AGAIN GO TO TEST |
|
||||
1 |
|
GENERATE |
4800 |
; SET TIMER AT 4800 MINUTES |
1 |
|
TERMINATE |
1 |
; SHUT OFF THE RUN |
1 |
|
START |
1 |
; START THE RUN |
Вихідні дані програми. Після виконання програми документування результати роботи моделі можна проглянути у файлі REPORT.GPS. Для аналізу результатів моделювання в табл. 1.3 приведена статистична інформація про прилад ADJUST, багатоканальному пристрої STEND і про черги.
Таблиця 1.3
|
FACILITY |
ENTRIES |
UTIL. |
AVE._TIME |
AVAILABLE |
DELAY |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ADJUST |
57 |
0.467 |
39.40 |
1 |
0 |
||||||||||
|
|
|||||||||||||||
STORAGE |
CAP. |
MIN. |
MAX. |
ENTRIES |
AVE. C. |
UTIL |
DELAY |
|
||||||||
STEND |
2 |
0 |
2 |
547 |
1,82 |
0,911 |
0 |
|
||||||||
|
|
|||||||||||||||
|
QUEUE |
MAX |
CONT. |
ENTRIES |
ENTRIES(0) |
AVE.CONT |
AVE.TIME |
|||||||||
|
LINE_1 |
5 |
0 |
547 |
222 |
0.58 |
5.09 |
|||||||||
|
LINE_2 |
3 |
0 |
57 |
28 |
0.22 |
18.82 |
Аналіз результатів моделювання. На підставі даних, отриманих в результаті моделювання роботи системи, можна зробити наступні виводи:
багатоканальний пристрій STEND використовується ефективно (середнє завантаження пристрою більше 90 %), отже двох контролерів, що проводять випробування осцилографів на стенді, цілком достатньо;
коефіцієнт завантаження приладу ADJUST рівний 0,467 говорить про те, що один електронщик справляється з ремонтом і наладкою осцилографів, що не пройшли випробування; при цьому він завантажений роботою тільки на половину своїх можливостей;
з 547 осцилографів, що поступили на ділянку, 57 (10,4 %) потребували ремонту і наладки;
жодна з черг LINE_1 і LINE_2 не має тенденції до необмеженого зростання, ні в одній з черг за час моделювання не знаходилося більше п'яти приладів.