Главная страница
Навигация по странице:

  • 6.4.

  • Э.Дейкстра

  • Command / Start системы имитационного моделирования GPSS World. 6.4.2. Транзакты

  • временем

  • 6.4.4. Списки

  • 6.4.5. Завершение моделирования

  • Reports

  • 6.4.6. Системные числовые атрибуты Числовые и строковые переменные, используемые в процессе моде- лирования, называются атрибутами

  • <

  • Таблица

  • Механики


    Скачать 4.29 Mb.
    НазваниеМеханики
    Дата25.01.2023
    Размер4.29 Mb.
    Формат файлаpdf
    Имя файлаAliev.pdf
    ТипДокументы
    #904727
    страница37 из 49
    1   ...   33   34   35   36   37   38   39   40   ...   49
    «Комментарий» могут использоваться как латинские, так и русские буквы, а также любые другие символы.
    Все операторы, кроме оператора описания FUNCTION, записы- ваются в одну строку и могут содержать до 250 символов, включая комментарий.
    6.4.
    Процесс
    моделирования
    в
    среде
    GPSS World
    «Если отладка - процесс удаления ошибок, то программирование должно быть процессом их внесения» (Э.Дейкстра)
    6.4.1.
    Запуск
    процесса
    моделирования
    В результате трансляции (компиляции) GPSS-модели с использова- нием пунктов меню Command / Create Simulation создаётся исполняемый объект, реализующий процесс моделирования.
    Для запуска процесса моделирования используется команда START, которая может находиться в GPSS-модели в качестве последнего оператора или может быть задана интерактивно после трансляции.
    Если команда START находится в GPSS-модели, процесс модели- рования запускается сразу же после трансляции автоматически. В против- ном случае, запуск процесса моделирования осуществляется путем задания команды START с использованием пунктов меню Command / Start
    системы имитационного моделирования GPSS World.
    6.4.2.
    Транзакты
    Реализация процесса моделирования заключается в перемещении в модели некоторых подвижных объектов, называемых транзактами.
    Транзакты последовательно перемещаются от блока к блоку в заданной алгоритмом моделирования последовательности.
    Транзакты создаются и уничтожаются в модели с помощью операторов (блоков): GENERATE и TERMINATE.
    В начале моделирования в GPSS-модели нет ни одного транзакта. В процессе моделирования транзакты формируются в модели в определен- ные моменты времени в соответствии с условиями, заданными с помощью блока GENERATE. Транзакты покидают модель (уничтожаются), попадая в блок TERMINATE. В общем случае, в модели может находиться
    множество транзактов, однако в один и тот же момент времени
    продвигается только один транзакт. Транзакт, попадая в определенный блок, вызывает к исполнению совокупность действий, предписанных соответствующим оператором, и затем пытается войти в следующий по

    Раздел 6. Имитационное моделирование
    263 порядку блок. Такое продвижение транзакта продолжается до тех пор, пока не произойдет одно из следующих событий:

    транзакт входит в блок, функцией которого является задержка транзакта на некоторое заданное время (блок ADVANCE);

    транзакт пытается войти в блок, который "отказывается" принять его до тех пор, пока в модели не изменятся некоторые условия (например, блоки SEIZE, ENTER);

    транзакт входит в блок, функцией которого является удаление транзакта из модели (блок TERMINATE).
    При возникновении одного их перечисленных событий транзакт пре- кращает движение и начинается перемещение в модели другого транзакта, то есть моделирование продолжается. Таким образом, моделирование заключается в перемещении транзактов между блоками GPSS-модели и выполнении соответствующих действий.
    Для изменения последовательности движения транзактов использу- ются условные и безусловные операторы, такие как TRANSFER, TEST,
    SELECT.
    Транзакт, продвигаемый в модели в данный момент времени, назы- вается активным.
    Интервал времени, в течение которого транзакт находится в модели, называется резидентным временем транзакта.
    Интервал времени, в течение которого транзакт проходит от одной произвольно выбранной точки модели до другой точки, называется
    транзитным
    временем перехода между двумя этими точками.
    Каждому транзакту в модели присваивается порядковый номер, начиная с единицы.
    6.4.3.
    Модельное
    время
    Работа реальных систем протекает во времени, для отображения которого в GPSS-модели используется таймер модельного времени.
    Изменение модельного времени происходит путем его продвижения до
    ближайшего события, связанного с изменением состояния моделируемой системы. При моделировании СМО и СеМО такими событиями являются:

    поступление заявок в систему;

    завершение обслуживания заявок в узле СеМО (обслуживающем приборе).
    Таким образом, моделирование заключается в определении ближайшего момента наступления каждого события.
    Таймер модельного времени корректируется автоматически в соответствии с логикой, предписанной моделью.
    Таймер GPSS World может принимать любые значения. Единица времени (секунды, минуты, часы или их доли) для таймера задается разработчиком модели. Так как единица времени не сообщается транслятору, то все данные, связанные со временем, должны быть

    264
    Раздел 6. Имитационное моделирование
    выражены разработчиком через эту выбранную единицу.
    Рассмотрим более подробно механизм изменения таймера модель- ного времени и логику процесса моделирования на примере моделирова- ния системы массового обслуживания с неоднородным потоком заявок.
    Для формирования неоднородного потока заявок GPSS-модель будет содержать несколько операторов GENERATE по числу классов заявок.
    В начале моделирования значение таймера модельного времени устанавливается в 0. Для всех классов заявок, поступающих в моделируе- мую систему, в каждом из блоков GENERATE определяется по одному ближайшему моменту появления транзакта, что соответствует моменту поступления очередной заявки данного класса. Очевидно, что число таких моментов будет равно количеству классов заявок. Среди всех этих моментов определяется момент с наименьшим значением, то есть момент, соответствующий ближайшему событию, и значение таймера модельного времени устанавливается равным значению (продвигается до) этого момента. Такое изменение значения таймера модельного времени приводит к тому, что соответствующий транзакт с моментом поступления, равным значению таймера, начинает движение в модели от блока
    GENERATE к следующему по порядку блоку. Движение транзакта в модели продолжается до тех пор, пока он не попадет в блок, функцией которого является задержка на некоторое заданное время, или в блок, который "отказывается" принять его до тех пор, пока в модели не изменятся некоторые условия. В последнем случае транзакт остаётся в предыдущем блоке. Если транзакт входит в блок, функцией которого является удаление транзакта из модели, то этот транзакт уничтожается.
    Если в модели имеется ещё транзакт с таким же моментом формирования, то начинается его продвижение, причем значение таймера модельного времени не изменяется. Изменение таймера модельного времени происходит только в том случае, если в модели больше нет ни одного транзакта с таким же моментом формирования.
    6.4.4.
    Списки
    Описанный принцип продвижения транзактов в GPSS-модели реализуется с помощью так называемых списков или цепей (Chain).
    В каждый момент модельного времени все транзакты, находящиеся в модели, соотносятся с одним из списков. В зависимости от принадлежно- сти транзакта тому или иному списку, он может продвигаться в модели, быть готовым к дальнейшему продвижению, либо ожидать наступления заданного момента модельного времени или выполнения некоторого условия.
    Такими списками в GPSS-модели являются:

    список
    текущих событий (СТС) – содержит транзакты, которые могут продвигаться в модели в текущий момент модельного времени;

    список
    будущих событий (СБС) – содержит транзакты, ожидаю-

    Раздел 6. Имитационное моделирование
    265 щие наступления более позднего момента модельного времени;

    списки
    повторных попыток (СПП) – содержат транзакты, не удовлетворяющие условиям входа в блок, причем каждый объект GPSS- модели имеет свой СПП;

    списки
    прибора (одноканального устройства), включающие:
    
    список отложенных прерываний, в котором находятся транзак- ты, ожидающие занятия устройства по приоритету с возможно- стью вытеснения транзакта, ранее занимавшего устройство;
    
    список прерываний, в котором находятся транзакты, вытеснен- ные из данного устройства, то есть обслуживание которых было прервано более высокоприоритетным транзактом;
    
    список задержки, в котором находятся транзакты, ожидающие занятия устройства;
    
    список повторных попыток;

    списки
    памяти (многоканального устройства), включающие:
    
    список задержки,
    
    список повторных попыток;

    списки
    пользователя, используемые для построения моделей с разнообразными функциональными возможностями, в частности, для орга- низации моделирования различных алгоритмов формирования очередей
    (дисциплин буферизации и дисциплин обслуживания заявок в моделях массового обслуживания).
    В любой модели всегда формируется один список текущих и один
    список будущих событий. Остальные списки формируются по мере необходимости.
    В каждый момент модельного времени последовательно один за дру- гим продвигаются только те транзакты, которые находятся в СТС, причем только один транзакт, который продвигается в данный момент реального времени, является активным. Продвижение каждого транзакта осущест- вляется до тех пор, пока это возможно. Например, если транзакт попадает в блок ADVANCE, функцией которого является задержка на некоторое время, то он переводится в СБС. Транзакт будет находиться в СБС до тех пор, пока модельное время не станет равным моменту, когда он может покинуть блок ADVANCE. В этом случае транзакт будет переведён в СТС.
    Транзакты, расположенные в СТС с учётом их приоритетов, выбираются последовательно один за другим. Когда в СТС не остаётся транзактов, которые могут быть продвинуты в текущий момент модельного времени, происходит изменение модельного времени, которое продвигается до ближайшего запланированного момента времени для транзакта, находящегося первым в СБС. Этот, а также все другие транзакты, движение которых может быть возобновлено в тот же момент модельного времени, переносятся из СБС в СТС, где размещаются в порядке убывания приоритетов.
    Каждый транзакт может иметь множество параметров, называемых

    266
    Раздел 6. Имитационное моделирование
    атрибутами
    транзакта, которые сопровождают его в течение «жизни» в модели. К ним, в частности, относятся:

    параметры, закрепляемые пользователем за каждым транзактом, число которых не ограничено; идентификатором параметра может служить его номер (целое положительное число) или имя; параметры транзакта должны быть определены, до того как они будут востребованы;

    приоритет – преимущественное право на использование общего ресурса, причём более высокому приоритету соответствует большее значение; транзакты с одинаковым приоритетом обычно выбираются в порядке поступления;

    время входа транзакта в систему – значение абсолютного времени в момент первого входа транзакта в модель или в блок MARK без операнда А;

    текущий блок – номер блока, в котором находится транзакт;

    следующий блок – номер следующего блока, в который должен перейти данный транзакт;

    список, в котором находится транзакт в некоторый момент времени:
    
    ACTIVE – транзакт находится в СТС и является активным;
    
    SUSPENDED – транзакт находится в СБС или в СТС и ожидает возможности стать активным;
    
    PASSIVE – транзакт находится в состоянии ожидания: в списке пользователя, списке задержки или списке отложенных прерываний;
    
    PREEMPTED – обслуживание транзакта в устройстве прерва- но, и он находится в списке прерываний;
    
    TERMINATED – транзакт удаляется из модели и больше не участвует в процессе моделирования.
    6.4.5.
    Завершение
    моделирования
    Достоверность результатов моделирования в значительной степени определяется продолжительностью процесса моделирования, которое устанавливается разработчиком модели или пользователем.
    В GPSS World завершение процесса моделирования может быть реализовано:

    принудительно с помощью срочной команды HALT, задаваемой из подменю COMMAND; использование этой команды позволяет принуди- тельно остановить процесс моделирования в любой момент времени;

    по некоторому условию, задаваемому командой STOP, которая может находиться в GPSS-модели;

    по достижению содержимого «счётчика завершений» значения меньше или равного нулю.
    Последний способ, используемый наиболее часто при моделирова- нии систем и сетей массового обслуживания, рассмотрим более подробно.

    Раздел 6. Имитационное моделирование
    267
    Начальное значение «счётчика завершений» устанавливается с помощью команды START, которая запускает процесс моделирования. В процессе моделирования всякий раз при попадании транзакта в какой-либо блок TERMINATE (таких блоков в модели может быть несколько) из содержимого «счётчика завершений» вычитается значение, указанное в качестве параметра в соответствующем блоке TERMINATE. При достиже- нии нулевого или отрицательного значения «счётчика завершений» процесс моделирования останавливается. Отметим, что при отсутствии параметра в блоке TERMINATE содержимое «счётчика завершений» не изменяется. Если во всех блоках TERMINATE отсутствуют параметры или их значения равны нулю, содержимое «счётчика завершений» не будет изменяться, и процесс моделирования (при отсутствии в модели команды
    STOP) будет длиться до тех пор, пока не будет введена команда HALT.
    В одной и той же модели может быть предусмотрено несколько способов завершения моделирования. Например, в модели может нахо- диться несколько команд STOP, задающих разные условия, и предусмо- трено завершение моделирования по достижению содержимого «счётчика завершений» значения равного нулю. В этом случае завершение процесса моделирования происходит при достижении ближайшего по времени наступления условия.
    По завершению процесса моделирования формируется и выводится на экран стандартный отчет, содержащий основные результаты моделиро- вания, в том числе характеристики основных объектов – очередей, приборов, многоканальных устройств и т.д. Состав включаемых в отчёт результатов моделирования может быть изменён на вкладке Reports меню
    EDIT/SETTINGS.
    Кроме отчета, содержащего числовые значения характеристик моделируемых систем, GPSS World предоставляет возможность получения результатов в графическом виде, в частности, путём формирования гистограмм плотностей распределений вероятностных характеристик. Для этого в GPSS-модели используются команды TABLE и QTABLE.
    Более подробно результаты моделирования, представленные в отчете и в виде гистограмм, рассматриваются ниже при описании GPSS-моделей массового обслуживания.
    6.4.6.
    Системные
    числовые
    атрибуты
    Числовые и строковые переменные, используемые в процессе моде- лирования, называются атрибутами. Атрибуты могут использоваться в операндах операторов GPSS и в выражениях.
    Числовые атрибуты, автоматически поддерживаемые в GPSS и дос- тупные в течение процесса моделирования, называются системными
    числовыми
    атрибутами (СЧА) (System Numerical Attributes – SNA). Их значения могут изменяться в процессе моделирования и доступны пользо- вателю за счет использования специальных наименований этих атрибутов.

    268
    Раздел 6. Имитационное моделирование
    В GPSS используются СЧА трёх типов:

    СЧА объектов, описывающие состояние таких объектов GPSS- модели как приборы (одноканальные устройства), памяти (многоканаль- ные устройства), очереди, таблицы и др.;

    СЧА системы, описывающие состояние модели в целом;

    СЧА транзактов, описывающие их свойства и параметры.
    Имя
    СЧА объектов состоит из двух частей:

    первая часть указывает групповое имя, идентифицирующее тип
    объекта (прибор, многоканальное устройство, очередь, таблица) и тип
    информации (количество входов в объект, загрузка объекта, среднее время занятия объекта и т.д.);

    вторая часть (число или имя) идентифицирует конкретного члена
    группы.
    Если конкретный член группы задан в виде имени, то вторая часть имени СЧА отделяется от первой (группового имени) символом $. Таким образом, имя СЧА может иметь вид:
    <Групповое имя><Число> или <Групповое имя>$<Имя>.
    Например: F5, QT23, FR$Pribor, SR$New_System.
    Групповые имена (наименования) и значения основных СЧА
    объектов
    , таких как приборы, многоканальные устройства, очереди и таблицы приведены ниже в табл.1-3.
    Таблица
    1
    СЧА
    приборов
    Групповое имя
    Значение
    F
    1, если прибор занят; 0, если свободен
    FC
    Число занятий прибора транзактами
    FR
    Загрузка прибора, выраженная в долях тысячи
    FT
    Среднее время занятия прибора транзактом
    Таблица
    2
    СЧА
    многоканальных устройств
    Групповое имя
    Значение
    R
    Количество незанятых приборов (каналов)
    S
    Количество занятых приборов (каналов)
    SA
    Среднее количество занятых приборов
    SC
    Счетчик числа входов в многоканальное устройство
    (при каждом выполнении блока ENTER значение счетчика увеличивается на величину операнда B блока)
    SM
    Максимальное количество занятых приборов
    (максимальное значение Sj или S$ имя)
    SR
    Загрузка многоканального устройства, выраженная в долях тысячи
    ST
    Среднее время нахождения транзакта в устройстве.

    Раздел 6. Имитационное моделирование
    269
    Таблица
    3
    СЧА
    очередей
    Групповое
    1   ...   33   34   35   36   37   38   39   40   ...   49


    написать администратору сайта