- •6.091 “Комп'ютерна інженерія”
- •1 Моделювання одноканальних систем масового обслуговування та випадкових величин. Застосування випадкових величин для моделювання часу
- •1.1 Мета роботи
- •1.2 Методичні вказівки по організації самостійної роботи студентів
- •1.2.1 Створення та видалення потоку транзактів у моделі
- •1.2.2 Керування тривалістю моделювання
- •1.2.3 Імітація обслуговуючих пристроїв в gpss
- •1.2.4 Накопичення статистичної інформації по чергам транзактів перед пристроями
- •1.2.5 Призначення та використання функцій в gpss
- •1.2.6 Призначення та використання змінних в gpss
- •1.2.7 Таблиці в gpss
- •1.2.7.1 Додаткові режими використання таблиць
- •1.2.8 Перерозподіл потоків транзактів в gpss-моделях
- •1.2.9 Використання засобів мови gpss для моделювання випадкових величин
- •1.2.10 Застосування керуючих команд gpss для зміни параметрів моделі та її дослідження в стаціонарному режимі
- •1.3 Порядок виконання лабораторної роботи
- •1.5 Контрольні питання
- •2 Моделювання багатОканальних пристроїв іЗ перерозподілом потоКів заявок
- •2.1 Мета роботи
- •2.2 Методичні вказівки по організації самостійної роботи студентів
- •2.2.1 Моделювання багатоканальних пристроїв (бкп)
- •2.2.2 Організація розгалужень і циклів потоків транзактів
- •2.2.3 Моделювання переривань
- •2.2.4 Операції з параметрами транзактів
- •2.3 Порядок виконання лабораторної роботи
- •2.5 Контрольні питання
- •3 Моделювання систем масового обслуговування з синхронізацією руху транзактів
- •3.1 Мета роботи
- •3.2 Методичні вказівки по організації самостійної роботи студентів
- •3.2.1 Блоки gpss для копіювання транзактів
- •3.2.2 Блоки gpss для синхронізації руху транзактів
- •3.2.3 Організація логічних ключів
- •3.2.4 Використання блоку gate
- •3.3 Приклади використання блоків синхронізації руху транзактів
- •3.3.1 Приклад №1
- •3.3.2 Приклад №2
- •3.4 Порядок виконання роботи
- •3.6 Контрольні питання
- •4 Моделювання складних систем
- •4.1 Мета роботи
- •4.2 Методичні вказівки по організації самостійної роботи студентів
- •4.3 Порядок виконання роботи
- •Додаток а система моделювання gpss world
- •Додаток б перелік стандартних числових атрибутів gpss
- •Перелік посилань
- •6.091 “Комп'ютерна інженерія”
- •61166 Харків, пр. Леніна 14
3.2.2 Блоки gpss для синхронізації руху транзактів
Блок ASSEMBLE використовується для об'єднання заданої кількості транзактів, які належать до одного ансамблю. Кількість транзактів, які будуть об’єднані в один вказується в полі А. Транзакти будуть знаходитися в блоці ASSEMBLE доти, поки там не збереться задана кількість транзактів цього ансамблю. У результаті з блоку виходить лише один (перший з послідовності транзактів одного ансамблю) транзакт, а решта транзактів того ж ансамблю видаляються з моделі. В одному блоці ASSEMBLE можуть накопичуватися транзакти різних ансамблів. Транзакти одного ансамблю можуть також накопичуватися в різних блоках ASSEMBLE. Якщо кількість транзактів ансамблю для об’єднання задається за допомогою непрямої адресації, то береться значення параметру того транзакту ансамблю, який надійшов до блоку ASSEMBLE першим. Розглянемо приклади використання блоку ASSEMBLE:
ASSEMBLE 5
В цьому разі збирається п'ять транзактів кожного ансамблю, з яких чотири потім видаляються, а один переходить до наступного блоку. У наступному прикладі в блоці збирається число транзактів, що дорівнює значенню першого параметра першого транзакту ансамблю:
ASSEMBLE P1
Функція блоку GATHER аналогічна діям блоку ASSEMBLE. Відмінність полягає тільки в тому, що після зібрання в блоці GATHER необхідної кількості транзактів, вони всі передаються до наступного блоку. Блок GATHER дозволяє синхронізувати рух транзактів одного ансамблю за одним маршрутом. Нижче приведений приклад використання блоку GATHER, де після надходження трьох транзактів з одного ансамблю, вони всі одночасно переходять до наступного блоку:
GATHER 3
Пари блоків MATCH призначені для синхронізації просування транзактів з одного ансамблю, що рухаються різними шляхами. Для синхронізації використовуються по два блоки MATCH, що розміщуються у відповідних місцях моделі. У полі А блоку MATCH вказується мітка сполученого йому блоку. Коли транзакт потрапляє до блоку MATCH, перевіряється наявність іншого транзакту з того ж самого ансамблю в сполученому блоці MATCH. Якщо в обох блоках MATCH знаходяться транзакти одного й того ж ансамблю, то ці транзакти одночасно виходять з блоків MATCH. Якщо в сполученому блоці MATCH немає жодного транзакту даного ансамблю, то транзакт, який надійшов, буде очікувати надходження транзакту того ж ансамблю в сполучений блок MATCH.
Одна й та ж сама пара блоків MATCH може синхронізувати одночасно будь-яку кількість пар транзактів різних ансамблів. Транзакти одного й того ж ансамблю можуть синхронізуватися в будь-якій кількості пар блоків MATCH. Блок MATCH може бути також сполучений сам собі. При цьому його дія буде аналогічною дії блоку GATHER з параметром 2 у полі А. Розглянемо приклади використання блоку MATCH. У першому випадку транзакт в блоці з міткою ААА буде очікувати приходу іншого транзакта того ж ансамблю в блок MATCH з міткою BBB:
AAA MATCH BBB
…....
BBB MATCH AAA
........
В другому прикладі транзакт буде очікувати приходу іншого транзакта того ж ансамблю в блок MATCH ССС.
CCC MATCH CCC