Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Зміст письмового звіту



1. Опис блоків GENEATE,TERMINATE,ADVANCE, SEIZE, RELEASE.

2. Опис операторів START, END.

3. Текст програми моделювання та текст звіту.

2.4 Контрольні питання

1. Пояснити основні функції блоку GENEATE.

2.Як використовується блок ADVANCE?

3. Чому необхідно використовувати блоки SEIZEтаRELEASE?

4. Чим відрізняються оператори від блоків?

5. За яким законом розподіляється час затримки?

6. Як розрахувати простій пристрою?


Лабораторна робота № 3

Блоки знищення та створення транзактів

 

Мета роботи – навчитись використовувати складні блоки знищення та створення транзактів.

 

Теоретичні відомості

До групи блоків створення та знищення транзактів відносяться блоки GENERATE, TERMINATE, SPLITта ASSEMBLE.

 

<№> GENERATE <A>,<В>,<C>,<D>

 

У блоці GENERATE використовуються поля <A>, <В>, <C>, <D>, серед яких поля <С>, <D> –нові. Поле <С> призначає часову затримку початку моделювання. Якщо воно порожнє, то це означає, що затримка нулева. В полі <D> вказується число транзактів, що генеруються.

Блок SPLIT, на відміну від блоку GENERATE,самостійно не створює транзактів. Він тільки створює задану кількість копій від вхідного транзакту. При цьому вхідний транзакт часто називають транзактом-батьком, а копію – транзактом- нащадком.

Блок SPLITмає наступний формат запису:

 

<№> SPLIT <A>,[<B>],[<C>]

 

У полі <А> блоку SPLITзадається числозаданих копій. Операнд поля <A> може бути позитивним цілим, ім’ям, СЧА, СЧА з параметром. Якщо використовується тільки поле <А>, то з блоку SPLIT виходить задана кількість копій, що слідують в наступний по номеру блок. Поле <В> задає номер наступного блоку, до якого переходять копії вихідного повідомлення або транзакта-батька. В полі <C> може бути заданий номер параметра, що використовується для присвоєння копіям послідовних номерів. Кожна нова копія стає членом сімейства транзактів, створеним одним вхідним транзактом, який був створений блоком GENERATE.

Блок ASSEMBLEумовно належить до блоків знищення транзактів. Функція знищення проявляється у тому, що блок ASSEMBLEоб’єднує певну кількість транзактів, після чого із нього виходить один транзакт, а всі інші знищуються. В той же час цей блок виконує швидше накопичувальну функцію, яка буває необхідна при моделюванні процесу збору деталей, повідомлень, окремих частин інформації для повного уявлення об’єкта моделювання – системи S. Блок ASSEMBLEвиконує зборку заданого числа транзактів. Блок ASSEMBLEмає наступний формат:

 

<№> ASSEMBLE <A>

 

Поле <А>об’єднує задане число транзактів, що відносяться до одного сімейства, в один транзакт, який переходить в наступний по номеру блок. Операнд поля <А> може бути позитивним цілим числом, ім’ям, СЧА, СЧАз параметром.

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

Загальний формат запису для блока TRANSFERмає вигляд:

 

<№> TRANSFER <A>,[<B>],[<C>],[<D>]

 

Блок TRANSFER має наступні режими роботи: безумовний (пропуск); статистичний (.); BOTH; ALL; PICK; функція (FN); параметр (Р); підпрограма (SBR); SIM.

Операнд поля <А> може бути позитивним цілим числом, ім’ям, дробовим числом, СЧА, СЧА с параметром. Поля <В> та <С> задають можливі значення номерів (імен по мітці) наступних блоків або їх положення. У полі <D> в деяких випадках вказується параметр переходу до наступного блоку.

Приклад 3.1. У систему масового обслуговування (Q-схему) надходять заявки, розподілені по рівномірному закону в інтервалі 5 ± 2 хв. (від 3 до 7 хв). Обробка заявок, що надійшли, здійснюється також по рівномірному закону розподілу в інтервалі 7 ± 2 хв. (від 5 до 9 хв). Необхідно змоделювати роботу системи обслуговування на протязі 120 хвилин.

Рішення.Програма вирішення приклада 3.1 приведена на рис. 3.1. У цьому прикладі часовий інтервал надходження заявок менше інтервалу обслуговування (за середнім значенням). Тут можна говорити про вирішення за допомогою умовного вкладеного циклу, який утворює подвійна конструкція блоків GENERATE - TERMINATE.

Часовий період роботи системи задається блоками GENERATE(під номером 5), TERMINATE (під номером 7) та оператором START.

Генерація одного транзакту відбувається через 120 хв, які вказані у полі <А> першого блоку GENERATE. Цей транзакт виводиться з системи блоком TERMINATE. Число лічильника завершень 1 встановлено у полі <A> оператора START. У той же час другий блок GENERATE (під номером 10) генерує транзакти кожні 5 ± 2 хв. Знищення транзактів здійснюється блоком TERMINATE без зміни лічильника завершень, тобто блок TERMINATE застосовується з порожніми полями.

 

 

Рисунок 3.1 – Програма вирішення прикладу 3.1 в системі моделювання GPSSW

 

У файлі стандартного звіту (рис. 3.2) приведені результати роботи системи для заданого часу (120 хв).

Рисунок 3.2 – Стандартний звіт результатів моделювання для прикладу 3.1

 

Згідно зі звітом, за 120 хв було згенеровано 25 транзактів в умовно вкладеному циклі, який відображає основну роботу модельованої системи S. Обробленно усього 15 транзактів. Робота умовного зовнішнього циклу пов’язана з числом лічильника завершень через блок TERMINATEз непорожнім полем <А> (у ньому задано число 1, яке дорівнює числу лічильника завершень). На момент завершення моделювання у пристрій поступив сімнадцятий за рахунком транзакт внутрішнього циклу. Це число вказано у полі OWNER статистики пристрою. Средній час зайнятості пристрою складає 7.102 хв. Коефіцієнт використання пристрою дорівнює 0.947. Поле DELAY статистики пристрою заповнене (число 9) тому, що робота внутрішнього циклу була перервана зовнішнім циклом шляхом призначенного часу роботи (число 120).

Приклад 3.2.У систему масового обслуговування (Q-схему) поступають пакети заявок за рівномірним законом з інтервалом 5 ± 3 хв. Обробка заявок, що надійшли на перше сортування, здійснюється так само за рівномірним законом в інтервалі 6 ± 2 хв. Далі розсортовані заявки проходять паралельну обробку з ще одним етапом сортування. Після обробки заявки збираються в один пакет і виводяться з системи. Необхідно змоделювати роботу системи по обробці 100 пакетів.

Рішення.Програма вирішення прикладу 3.2 приведенна на рис.3.3.

Рисунок 3.3 – Програма вирішення прикладу 3.2 у системі моделювання GPSSW

 

У наведеній програмі блок TRANSFER використовується у режимі безумовного переходу за міткою до заданного блоку ASSEMBLE, який здійснює збірку трьох компонентів пакету заявок і виводить один пакет. Таким чином, відбувається обробка і формування 100 пакетів. Перший блок програмиSPLIT створює одну копію и відправляє за міткою CHAN1 на другий блокSPLIT, який також створює одну копію і відправляє на збірку у блок ASSEMBLE. Таке копіювання транзактів моделює сортування інформаціі кожного пакету. Вхідний пакет розсортується на три частини , які проходять обробку в трьох пристроях з однією і тією ж затримкою у часі і потім знову з них формується один пакет. Формально у блоці ASSEMBLE збираються 300 частин, з яких збирається 100 пакетів.

Блоки, які розглядаються у програмі мають наступні формати запису:

блоки SPLIT:

 

SPLIT 1, CHAN1

CHAN1 SPLIT 1, CHAN2

 

блокиTRANSFER:

TRANSFER, ОUТЗ

TRANSFER, OUTЗ

блок ASSEMBLE:

 

ОUТЗ ASSEMBLE 3

Блок SPLIT під номером 20 копіює oдин транзакт, відправляє его за міткою CHAN1 на другий блок SPLIT. При цьому через перший блок SPLITпроходить транзакт-батько на наступний за номером блок (30 SEIZE 1). Другий блок SPLIT так само копіює один транзакт, відправляє його за міткою на третій пристрій (120 CHAN2 BANK SEIZE 3) і пропускає транзакт-батько на другий пристрій (80 SEIZE 2). У блоці ASSEMBLE збираються транзакти після блоків TRANSFER (60 TRANSFER, OUT3і 110 TRANSFER, OUT3) і блока RELEASE (140 RELEASE 3). З кожним кроком зменшення числа лічильника завершень у блоці ASSEMBLE збираються три транзакти, а виходить з нього тільки один. За повний цикл моделювання у блоці ASSEMBLE збираються 300 транзактів і виходять з нього 100 транзактів. Формально блок ASSEMBLE знищує 200 транзактів.

Описану логіку роботи програми легко переглянути по файлу стандартного звіту (рис. 3.4). Основну увагу треба звернути на кількість транзактів, які входять у кожний блок моделі. Видно, що у всі блоки, окрімASSEMBLE, входило 100 транзактів. У блок ASSEMBLE увійшло 300 транзактів, а вийшло 100, які потім увійшли у блок TERMINATE і там всі знищилися (виведені з системи). Формально у блоці ASSEMBLE знищено 200 транзактів, а за логікою роботи системи відбулося об’єднання окремих частин заявок в один загальний пакет.

 

Рисунок 3.4 – Стандартний звіт результатів моделювання для прикладу 3.2

 

У пристрої під номерами 1, 2, 3 (FACILITY) входило 100 транзактів (тим самим здійснювалася паралельна обробка), середній час перебування в них склав 5.947, 5.818, 6.203 одиниць часу відповідно. Коефіцієнти використання цих пристроїв (частина часу від загального часу моделювання) відповідно дорівнюють 0.947, 0.926, 0.987. Повний час моделювання зайняв 628.13 одиниць часу. Наявність поля <D> в блоці GENERATEдозволило завести в систему обслуговування 100 пакетів і 100 оброблених пакетів вивести. При цьому перший блок SPLIT під номером 20 формально породжує одну копію транзакту і відправляє за міткою CHAN1для ще одного копіювання (блоком SPLIT під номером 70) і по обробці у другому пристрої (блоки SEIZE, ADVANCE, RELEASE відповідно під номерами 80, 90, 100) Другий блок SPLIT копіює транзакт і відправляє його по мітці CHAN2на третій пристрій, який моделюється блоками SEIZE, ADVANCE, RELEASE(номери блоків 120, 130, 140).

Два блоки TRANSFER під номерами 60 і 110 в режимі безумовної передачі відправляють оброблені транзакти в блок збірки ASSEMBLE під номером 150 з міткою OUT3. До блоку ASSEMBLEвходить також транзакт після третього пристрою. Блок ASSEMBLE прийняв всього 300 транзактів, а вивів 100 транзактів, що відображає процес збірки повідомлень в одне нове. Формально ж блок ASSEMBLE зібрав 300 транзактів, 200 з них знищив і 100 транзактів відправив на наступний за номером блок (блок TERMINATE під номером 160). Кожен згенерований транзакт розщеплюється врешті-решт на три і після обробки відбувається збір в блоці ASSEMBLE.

Лабораторне завдання

Змоделювати систему, в якій виконується розгалуження та злиття потоків, згідно з наведеною схемою. Усього згенерувати 200 вимог.

1) Для варіантів 1,7,13,19

 

 

2) Для варіантів 2,8,14,20

 

 

 

3) Для варіантів 3,9,15,21

 

 

4) Для варіантів 4,10,16,22

 

 

 

5) Для варіантів 5,11,17,23

 

 

6) Для варіантів 6,12,18,24

 

 

П – пристрій, ПВ – потік вимог, БЗ – блок знищення.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.