аступний по порядку блок. Якщо в полі В не вказана функція, то інтервал між надходженням транзактов визначається випадковим числом, рівномірно розподіленим в діапазоні від (А - В) до (А + В).
QUEUE А, В - поміщає транзакт в край нескінченній черзі. Збільшує поточний зміст черги, зазначеної в поле А, на значення в полі В. Якщо поле В не визначено, збільшує вміст черги на одиницю. Транзакт може знаходитися в двох різних чергах одночасно.
DEPART А, В - видаляє транзакт з нескінченної черги. Видаляє поточний транзакт з черги, зазначеної в поле А, і зменшує вміст черзі на значення поля В. Транзакт може перебувати одночасно в двох різних чергах.
SEIZE А- займає пристрій. Транзакт намагається зайняти пристрій, визначене полем А. Якщо перервано, транзакт затримується в попередньому блоці.
RELEASE А- звільняє пристрій. Пристрій, вказане в полі А, звільняється і стає доступним для інших транзактов. Звільняти пристрій повинен той же транзакт, який його займав.
ADVANCE А, В - затримує транзакт. Блок ADVANCE моделює тимчасову затримку транзакта протягом певного інтервалу. Значення затримки за замовчуванням дорівнює нулю. Час затримки є випадковим числом, розподіленим рівномірно на інтервалі від (А + В) до (А - В).
START А- управління процесом моделювання.
TERMINATE А- служить для видалення транзактов з моделі. А - вказує, на скільки одиниць зменшується вміст лічильника завершений при вході транзакта в даний блок TERMINATE. Якщо поле А чи не визначено, то вона вважається рівним 0 і транзакти, що проходять через такий блок, не зменшують вмісту лічильника завершень.
STORAGE A - оголошуємо багатоканальне пристрій
ENTER A- заняття багатоканального пристрою
- LEAVE A- звільнення багатоканального пристрою
TEST - переміщає транзакт згідно порівнянні
· G - більше;
· GE - більше або дорівнює;
· L - менше;
· LE - менше або дорівнює;
· E - одно;
· NE - не дорівнює.
А і В - порівнювані величини.
Також в програму ведени змінні, для відстеження зайнятості черг:
aa VARIABLE Q $ och1VARIABLE Q $ och2VARIABLE Q $ och3
daa VARIABLE Q $ och3 + Q $ och2 + Q $ och1
Текст розробленої моделі системи мовою GPSS:
ochEVM1 STORAGE 10; оголошення черзі ochEVM1 ємністю 10STORAGE 10; оголошення черзі ochEVM2 ємністю 10STORAGE 10; оголошення черзі ochEVM3 ємністю 10VARIABLE S $ ochEVM1; довжина черги в ochEVM1 VARIABLE S $ ochEVM2; довжина черги в ochEVM2 VARIABLE S $ ochEVM3; довжина черги в ochEVM3 VARIABLE S $ ochEVM1 + S $ ochEVM2 + S $ ochEVM3; загальна довжина очередей10,5; генерація сігналовvrem; вхід в чергу статістікіochK1; чергу каналу попереднього обслужіваніяK1; заняття каналу попереднього обслужіваніяochK1; звільнення черги каналу попереднього обслужіванія10, 3; затримка в каналеK1; звільнення каналу попереднього обслужіваніяL V $ daa, 30, metk1; перевірка - сумарна чергу менше 30TEST LE V $ aa, V $ ba, mt1; перевірка - пошук найкоротшою очередіLE V $ aa, V $ caa, mt1 ; перевірка - пошук найкоротшою очередіochEVM1; вхід в чергу ЕВМ1EVM1; заняття ЕВМ1ochEVM1; звільнення черги в ЕВМ133,0; затримка в ЕВМ1EVM1; звільнення ЕВМ1, met2; безумовний переходTEST LE V $ ba, V $ aa, mt2; перевірка - пошук найкоротшою очередіLE V $ ba, V $ caa, mt2; перевірка - пошук найкоротшою очередіochEVM2; вхід в чергу ЕВМ2EVM2; заняття ЕВМ2ochEVM2; звільнення черги в ЕВМ233,0; затримка в ЕВМ2EVM2; звільнення ЕВМ2, met2; безумовний переходTEST LE V $ caa, V $ ba, mt3; перевірка - пошук найкоротшою очередіLE V $ caa, V $ aa, mt3; перевірка - пошук найкоротшою очередіochEVM3; вхід в чергу ЕВМ3EVM3; заняття ЕВМ3ochEVM3; звільнення черги в ЕВМ333,0; затримка в ЕВМ3EVM3; звільнення ЕВМ3DEPART vrem ; звільнення черзі збору статістікі1; виведення сигналу з сістемиQUEUE otk; чергу отказовotk; звільнення черзі отказов1; висновок втраченого сигнал із системи
START 500; моделювати 500 раз
2.2 На мові високого рівня
Мова програмування високого рівня С # підтримує об'єктно-орієнтоване програмування (ООП), а використовуючи засоби ООП можна легко створити імітаційну модель СМО, представляючи кожну підсистему СМО у вигляді окремого класу. У властивостях класу можна зберігати параметри підсистеми, а в методах - алгоритм її роботи.
Для розробки моделі системи будемо використовувати класи, екземпляри класу, методи і поля: