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

Автор работы: Пользователь скрыл имя, 14 Января 2011 в 02:07, лабораторная работа

Описание работы

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

Файлы: 1 файл

Лабораторна робота 3.doc

— 51.50 Кб (Скачать файл)

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

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

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

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

     До  групи блоків створення та знищення  транзактів  відносяться блоки  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.2 Лабораторне завдання

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

 

3.3 Виконаня

      Текст програми: 

simulate

10 generate 10,3,,200

20 seize 1

30 advance 2

40 release 1

50 split 1,chan1

60 split 1,chan2

70 split 1,chan3

75 terminate

80 chan1 seize 2

90 advance 2

100 release 2

110 transfer ,out3

120 chan2 seize 3

140 advance 2

150 release 3

160 transfer ,out3

170 chan3 seize 4

180 advance 2

190 release 4

205 transfer ,out3

200 out3 assemble 3

210 terminate 1

start 200 

     Текст звіту: 
 
 
 

              GPSS World Simulation Report - Untitled 3.21.1 
 

                   Saturday, December 18, 2010 12:57:02   

           START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

                0.000           1971.924    22        4          0 
 

              NAME                       VALUE 

          CHAN1                           9.000

          CHAN2                          13.000

          CHAN3                          17.000

          OUT3                           21.000 
 

LABEL             LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                    1    GENERATE           200             0       0

                    2    SEIZE              200             0       0

                    3    ADVANCE            200             0       0

                    4    RELEASE            200             0       0

                    5    SPLIT              200             0       0

                    6    SPLIT              200             0       0

                    7    SPLIT              200             0       0

                    8    TERMINATE          200             0       0

CHAN1               9    SEIZE              200             0       0

                   10    ADVANCE            200             0       0

                   11    RELEASE            200             0       0

                   12    TRANSFER           200             0       0

CHAN2              13    SEIZE              200             0       0

                   14    ADVANCE            200             0       0

                   15    RELEASE            200             0       0

                   16    TRANSFER           200             0       0

CHAN3              17    SEIZE              200             0       0

                   18    ADVANCE            200             0       0

                   19    RELEASE            200             0       0

                   20    TRANSFER           200             0       0

OUT3               21    ASSEMBLE           600             0       0

                   22    TERMINATE          200             0       0 
 

FACILITY         ENTRIES  UTIL.   AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1                  200    0.203       2.000  1        0    0    0     0      0

 2                  200    0.203       2.000  1        0    0    0     0      0

3                  200    0.203       2.000  1        0    0    0     0      0

4                  200    0.203       2.000  1        0    0    0     0      0 

Информация о работе Блоки знищення та створення транзактів