Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Моделирование на GPSS

т направлен в блок с
      именем MET3, в противном случае - к следующему блоку.
           Следует отметить   следующие   особенности   выполнения  блока
      UNLINK.  Во-первых, если поля D и E содержат ссылки на СЧА транзак-
      тов, то поле D вычисляется относительно транзактов в списке пользо-
      вателя,  а поле E - относительно  активного  транзакта.  Во-вторых,
      после вывода транзактов из списка симулятор продолжает или начинает
      продвижение транзакта с наивысшим приоритетом, а при равенстве при-
      оритетов отдает предпочтение транзакту-инициатору вывода.
           Каждый список  пользователя имеет следующие СЧА:  CH - текущая
      длина списка;  CA - средняя длина списка (целая часть); CM - макси-
      мальная  длина  списка;  CC  -  общее число транзактов,  вошедших в
      список;  CT - целая часть среднего времени пребывания  транзакта  в
      списке.
           Воспользуемся рассмотренными  блоками для моделирования много-
      канальной СМО с ожиданием транзактов в  списке  пользователя  (рис.
      17). Если МКУ с именем STO2 не заполнено,  блок GATE впускает вновь
      прибывший  транзакт  в  блок ENTER,  и в МКУ занимается один канал.
      Если же МКУ заполнено, то блок GATE направляет транзакт в блок LINK
      с  именем  WAIT,  помещающий транзакт в конец списка пользователя с
      именем BUFER, моделирующего очередь к МКУ. Каждый транзакт, покида-
      ющий  МКУ  по  завершении  обслуживания и освобождающий один канал,
      проходит блок UNLINK и выводит один транзакт с начала списка  (если
      список не пуст),  направляя его в блок с именем ENT1 на занятие ка-
      нала в МКУ.

         STO2   STORAGE     2
         EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                GATE SNF    STO2,WAIT
         ENT1   ENTER       STO2
                ADVANCE     160,FN$EXP
                LEAVE       STO2
                UNLINK      BUFER,ENT1,1
                TERMINATE   1
         WAIT   LINK        BUFER,FIFO

                              Рис. 17

           Заметим, что для изменения дисциплины обслуживания  на  "позже
      пришел  -  раньше  обслужен" достаточно или заменить в поле B блока
      LINK FIFO на LIFO, или записать в поле D блока UNLINK операнд BACK.
      Следует  также обратить внимание на то,  что блоки QUEUE-DEPART для
      сбора статистики об ожидающих транзактах не используются,  так  как
      почти  все те же данные можно получить из статистики о списке поль-
      зователя.
           Рассмотрим еще   один   пример,  иллюстрирующий  использование
      списков пользователя для организации нестандартных дисциплин обслу-
      живания.  Пусть в одноканальной СМО с ожиданием требуется организо-
      вать такую дисциплину, при которой приоритет отдается заявкам с на-
      именьшим временем обслуживания. Такая модель будет иметь вид, пока-
      занный на рис. 18.
           В параметр TSRV поступающих в модель транзактов в блоке ASSIGN
      записывается случайное время обслуживания,  вычисляемое с использо-
      ванием функции EXP.  Если устройство SYSTEM свободно,  то блок GATE
      впускает транзакт в блок SEIZE,  и устройство занимается  на  время
      P$TSRV.  Если  же в момент поступления транзакта устройство занято,
      то блок GATE направляет транзакт в блок LINK,  который вводит тран-

        EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                ASSIGN      TSRV,80,EXP
                GATE NU     SYSTEM,WAIT
         SFAC   SEIZE       SYSTEM
                ADVANCE     P$TSRV
                RELEASE     SYSTEM
                UNLINK      LINE,SFAC,1
                TERMINATE   1
         WAIT   LINK        LINE,P$TSRV

                              Рис. 18

      закт  в  список  пользователя LINE,  упорядочивая транзакты по воз-
      растанию времени обслуживания, записанного в параметре P$TSRV. Блок
      UNLINK  по освобождении устройства выводит с начала списка транзакт
      с наименьшим временем обслуживания,  обеспечивая тем самым заданную
      дисциплину.

                 3. УПРАВЛЯЮЩИЕ ОПЕРАТОРЫ GPSS/PC

           Для управления прогоном модели используются управляющие опера-
      торы GPSS/PC.  С одним из них - оператором START - мы уже сталкива-
      лись при рассмотрении блока TERMINATE. Оператор START (начать) име-
      ет следующий формат:
                         START    A,B,C,D
          Поле A содержит константу, задающую начальное значение счетчи-
      ка завершений.  В поле B может быть записано ключевое  слово  NP  -
      признак  подавления  формирования стандартного отчета по завершении
      моделирования.  Если поле B пусто,  то по окончании прогона  модели
      формируется  отчет со стандартной статистической информацией о всех
      объектах модели (см.  разд.  5). Поле C не используется и сохранено
      для совместимости со старыми версиями GPSS.  Поле D может содержать
      1 для включения в отчет списков текущих и будущих событий. Если по-
      ле D пусто,  то выдача в отчет содержимого этих списков не произво-
      дится.

           Оператор SIMULATE (моделировать) устанавливает предел реально-
      го времени,  отводимого на прогон модели. Если прогон не завершится
      до истечения этого времени, то он будет прерван принудительно с вы-
      дачей накопленной статистики в отчет.
           Оператор SIMULATE  имеет  единственный  операнд A,  содержащий
      предельное время моделирования в  минутах,  задаваемое  константой.
      Оператор  размещается перед оператором START,  начинающим лимитиро-
      ванный прогон.

           Оператор RMULT (установить значения генераторов) позволяет пе-
      ред началом прогона установить начальные значения генераторов  слу-
      чайных чисел RN,  определяющие генерируемые ими последовательности.
      Поля A-G оператора могут содержать начальные  значения  генераторов
      соответственно RN1-RN7,  задаваемые константами. Начальные значения
      генераторов,  не установленные операторами RMULT, совпадают с номе-
      рами генераторов.

           Оператор RESET (сбросить) сбрасывает всю статистическую инфор-
      мацию,  накопленную  в процессе прогона модели.  При этом состояние
      аппаратных, динамических и запоминающих объектов, а также генерато-
      ров случайных чисел сохраняется,  и моделирование может быть возоб-
      новлено с повторным сбором статистики. Оператор не имеет операндов.
          С оператором  RESET  связано различие между относительным (СЧА
      C1) и абсолютным (СЧА AC1) модельным временем. Таймер относительно-
      го времени C1 измеряет модельное время,  прошедшее после последнего
      сброса статистики оператором RESET,  а таймер  абсолютного  времени
      AC1 - модельное время, прошедшее после начала первого прогона моде-
      ли.  Если не использовалось ни одного оператора RESET,  то значения
      этих  таймеров совпадают.  Оператор RESET устанавливает таймер C1 в
      ноль и не влияет на таймер AC1.
           Оператор RESET используется обычно при моделировании нестацио-
      нарных процессов,  когда требуется собрать статистику по  отдельным
      интервалам стационарности или исключить влияние переходного периода
      на собираемую статистическую информацию.
           Пусть, например,  в модели, приведенной на рис. 18, необходимо
      отбросить статистику,  собираемую на первой тысяче транзактов.  Это
      может быть сделано способом, показанным на рис. 19.
           Первый оператор START начинает прогон модели длиной 1000 тран-
      зактов (переходный период).  Поскольку статистика,  накопленная  на
      этом  периоде,  не используется,  в поле B оператора указан признак
      подавления формирования отчета NP. Оператор RESET сбрасывает накоп-
      ленную  статистику,  не  изменяя состояния модели.  Второй оператор
      START начинает основной прогон модели с формированием отчета по за-
      вершении прогона.

        EXP    FUNCTION    RN1,C24
        0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915
        .7,1.2/.75,1.38/.8,1.6/.84,1.85/.88,2.12/.9,2.3
        .92,2.52/.94,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9
        .99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
                GENERATE    100,FN$EXP
                ASSIGN      TSRV,80,EXP
                GATE NU     SYSTEM,WAIT
         SFAC   SEIZE       SYSTEM
                ADVANCE     P$TSRV
                RELEASE     SYSTEM
                UNLINK      LINE,SFAC,1
                TERMINATE   1
         WAIT   LINK        LINE,P$TSRV
                START       1000,NP
                RESET
                START       10000

                              Рис. 19

           Оператор CLEAR (очистить) очищает модель,  подготавливая ее  к
      повторному прогону.  При этом сбрасывается вся накопленная в преды-
      дущем прогоне статистика,  из модели удаляются все транзакты, и она
      приводится к исходному состоянию,  как перед первым прогоном. Уста-
      навливаются в ноль сохраняемые величины и матрицы, что следует учи-
      тывать  при  использовании этих объектов для хранения исходных дан-
      ных.  Исключение составляют генераторы случайных чисел,  которые не
      возвращаются  к своим начальным значениям,  что позволяет повторить
      прогон модели на новой последовательности случайных чисел. Оператор
      не имеет операндов.
Пред.678910След.
скачать работу

Моделирование на GPSS

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ