Реферат: Моделирование систем и сетей связи на GPSS
<span Courier New""> МИНИСТЕРСТВО СВЯЗИ РОССИЙСКОЙФЕДЕРАЦИИ
<span Courier New"">
<span Courier New"">
<span Courier New""> Московский ордена Трудового КрасногоЗнамени
<span Courier New""> _технический университетсвязи и информатики
<span Courier New"">
<span Courier New"">
<span Courier New""> Кафедра вычислительной математики ипрограммирования
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Методические указания дляслушателей ФПКП
<span Courier New""> по моделированию систем и сетей связина GPSS/PC
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Часть 1
<span Courier New""> ОСНОВЫ МОДЕЛИРОВАНИЯ НАGPSS/PC
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Москва 1993
<span Courier New"">
<span Courier New"">.
<span Courier New"">
<span Courier New"">
<span Courier New""> ПланУМД на 1993/94 уч. г.
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Методические указания дляслушателей ФПКП
<span Courier New""> по моделированию систем и сетей связина GPSS/PC
<span Courier New"">
<span Courier New"">
<span Courier New""> Часть 1
<span Courier New""> ОСНОВЫ МОДЕЛИРОВАНИЯ НАGPSS/PC
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Составители: Л.А.Воробейчиков,Г.К.Сосновиков
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Ил. 24, список лит. 8 назв.
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Издание утверждено на заседании кафедрывычислительной
<span Courier New""> математики и программирования 11 марта 1993 г., протокол N6
<span Courier New"">
<span Courier New"">
<span Courier New"">
<span Courier New""> Рецензент Васильев В.К., канд. техн. наук,доцент
<span Courier New"">.
<span Courier New""> ВВЕДЕНИЕ
<span Courier New"">
<span Courier New""> Процессы функционирования различных системи сетей связи могут
<span Courier New"">быть представлены той или иной совокупностью систем массового
<span Courier New"">обслуживания(СМО) — стохастических, динамических, дискретно-непре-
<span Courier New"">рывныхматематических моделей. Исследование характеристик таких мо-
<span Courier New"">делей можетпроводиться либо аналитическими методами, либо путем
<span Courier New"">имитационногомоделирования [1-6].
<span Courier New""> Имитационная модель отображает стохастический процесс смены
<span Courier New"">дискретныхсостояний СМО в непрерывном времени в форме моделирующе-
<span Courier New"">гоалгоритма. При его реализации на ЭВМ производится накопление
<span Courier New"">статистическихданных по тем атрибутам модели, характеристики кото-
<span Courier New"">рых являютсяпредметом исследований. По окончании моделирования на-
<span Courier New"">копленнаястатистика обрабатывается, и результаты моделирования по-
<span Courier New"">лучаются в видевыборочных распределений исследуемых величин или их
<span Courier New"">выборочныхмоментов. Таким образом, приимитационном моделировании
<span Courier New"">систем массовогообслуживания речь всегда идет о статистическом
<span Courier New"">имитационноммоделировании [5;6].
<span Courier New""> Сложные функции моделирующего алгоритмамогут быть реализованы
<span Courier New"">средствамиуниверсальных языков программирования (Паскаль, Си), что
<span Courier New"">предоставляетнеограниченные возможности в разработке, отладке и
<span Courier New"">использованиимодели. Однако подобная гибкостьприобретается ценой
<span Courier New"">большихусилий, затрачиваемых на разработку и программирование
<span Courier New"">весьма сложных моделирующих алгоритмов, оперирующих со списковыми
<span Courier New"">структурамиданных. Альтернативой этому является использование спе-
<span Courier New"">циализированныхязыков имитационного моделирования [5-7].
<span Courier New""> Специализированные языки имеют средстваописания структуры и
<span Courier New"">процессафункционирования моделируемой системы, что значительно об-
<span Courier New"">легчает иупрощает программирование имитационных моделей, поскольку
<span Courier New"">основные функциии моделирующего алгоритма при этомреализуются ав-
<span Courier New"">томатически.Программы имитационных моделей на специализированных
<span Courier New"">языкахмоделирования близки к описаниям моделируемых систем на
<span Courier New"">естественномязыке, что позволяет конструировать сложные имитацион-
<span Courier New"">ные моделипользователям, не являющимсяпрофессиональными програм-
<span Courier New"">мистами.
<span Courier New""> Одним из наиболее эффективных и распространенных языков моде-
<span Courier New"">лирования сложныхдискретных систем является в настоящее время язык
<span Courier New"">GPSS [1;4;7]. Он может быть с наибольшимуспехом использован для
<span Courier New"">моделированиясистем, формализуемых в виде системмассового обслу-
<span Courier New"">живания. Вкачестве объектов языка используются аналоги таких стан-
<span Courier New"">дартныхкомпонентов СМО, как заявки, обслуживающие приборы, очереди
<span Courier New"">
<span Courier New""> — 3 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New"">и т.п.Достаточный набор подобных компонентов позволяет конструиро-
<span Courier New"">вать сложныеимитационные модели, сохраняяпривычную терминологию
<span Courier New"">СМО.
<span Courier New""> На персональных компьютерах (ПК) типа IBM/PC язык GPSS реали-
<span Courier New"">зован в рамкахпакета прикладных программ GPSS/PC [8]. Основной мо-
<span Courier New"">дуль пакета представляет собой интегрированную среду, включающую
<span Courier New"">помимотранслятора со входного языка средства ввода и редактирова-
<span Courier New"">ния текстамодели, ее отладки и наблюдения за процессом моделирова-
<span Courier New"">ния, графические средства отображенияатрибутов модели, а также
<span Courier New"">средства накопления результатов моделирования в базеданных и их
<span Courier New"">статистическойобработки. Кроме основного модуля в состав пакета
<span Courier New"">входит модульсоздания стандартного отчета GPSS/PC, а также ряд до-
<span Courier New"">полнительныхмодулей и файлов.
<span Courier New""> В данном издании, состоящем из двух частей, излагаются основы
<span Courier New"">моделированиясистем и сетей связи с использованием пакета GPSS/PC.
<span Courier New"">В первой частирассматриваются основные понятия и средства GPSS/PC,
<span Courier New"">приемы конструирования GPSS-моделей и технологияработы с пакетом.
<span Courier New"">Изложениематериала сопровождается небольшими учебными примерами.
<span Courier New"">Относительно подробное рассмотрение языка GPSS/PC вызвано
<span Courier New"">отсутствием влитературе учебного материала по данной версии языка.
<span Courier New""> Во второй части рассматриваются примеры GPSS-моделейразличных
<span Courier New"">систем и сетеймассового обслуживания, используемых дляформализа-
<span Courier New"">ции процессов функционирования систем и сетейсвязи. Приводится
<span Courier New"">также рядпримеров моделирования систем и сетей связи с использова-
<span Courier New"">нием GPSS/PC.Подробно комментируются тексты GPSS-моделей и резуль-
<span Courier New"">татымоделирования.
<span Courier New"">
<span Courier New""> 1. ОБЩИЕ СВЕДЕНИЯ О GPSS/PC
<span Courier New"">
<span Courier New""> Исходная программа на языке GPSS/PC, как и программа на любом
<span Courier New"">языкепрограммирования, представляет собойпоследовательность опе-
<span Courier New"">раторов.Операторы GPSS/PC записываются и вводятся в ПК в следующем
<span Courier New"">формате:
<span Courier New""> 1номер 0_ 1строки имяоперация операнды; комментарии
<span Courier New""> Все операторы исходной программы должны начинаться с 1номе-
<span Courier New""> 1ра 0_ 1строки 0- целого положительного числа от 1 до 9999999. После вво-
<span Courier New"">да операторов онирасполагаются в исходной программе в соответствии
<span Courier New"">с нумерациейстрок. Обычно нумерация производится снекоторым ша-
<span Courier New"">гом, отличным от1, чтобы иметь возможность добавления операторов в
<span Courier New"">нужное место исходнойпрограммы. Некоторые операторы удобно вво-
<span Courier New"">дить, не включая их в исходную программу. Такиеоператоры вводятся
<span Courier New"">
<span Courier New""> — 4 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New"">без номерастроки.
<span Courier New""> В настоящем издании при описании форматаоператоров и в приме-
<span Courier New"">рах моделейномера строк будут опускаться для лучшей читаемости
<span Courier New"">текста.
<span Courier New""> Отдельные операторы могут иметь 1имя 0для ссылки на эти операто-
<span Courier New"">ры в другихоператорах. Если такие ссылки отсутствуют, то этот эле-
<span Courier New"">мент оператора неявляется обязательным.
<span Courier New""> В поле 1операции 0записываетсяключевое слово (название операто-
<span Courier New"">ра), указывающееконкретную функцию, выполняемую данным оператором.
<span Courier New"">Это поле оператора является обязательным. У некоторых операторов
<span Courier New"">поле операциивключает в себя также 1вспомогательный операнд 0.
<span Courier New""> В полях 1операндов 0записывается информация, уточняющая и конк-
<span Courier New"">ретизирующаявыполнение функции, определенной в полеоперации. Эти
<span Courier New"">поля взависимости от типа операции содержат до семи операндов,
<span Courier New"">расположенных в определенной последовательности и обозначаемых
<span Courier New"">обычно первымибуквами латинского алфавита от A до G. Некоторые
<span Courier New"">операторы вообще не имеют операндов, а в некоторых операнды могут
<span Courier New"">бытьопущены, при этом устанавливаются ихстандартные значения (по
<span Courier New"">умолчанию). При записи операндов используется позиционныйпринцип:
<span Courier New"">пропуск операндаотмечается запятой.
<span Courier New""> Необязательные 1комментарии 0вслучае их присутствия отделяются
<span Courier New"">от поля операндовточкой с запятой. Комментарии не могутсодержать
<span Courier New"">букв русскогоалфавита.
<span Courier New""> Операторы GPSS/PC записываются, начиная с первой позиции, в
<span Courier New"">свободномформате, т.е. отдельные поля разделяются произвольным ко-
<span Courier New"">личествомпробелов. При вводе исходной программы винтегрированной
<span Courier New"">среде GPSS/PCразмещение отдельных полей операторов с определенным
<span Courier New"">количествоминтервалов между ними производится автоматически.
<span Courier New""> Каждый оператор GPSS/PC относится к одномуиз четырех типов:
<span Courier New"">операторы-блоки,операторы определения объектов, управляющие опера-
<span Courier New"">торы и операторы-команды.
<span Courier New""> 1Операторы-блоки 0формируют логику модели. В GPSS/PC имеется
<span Courier New"">около 50различных видов блоков, каждый изкоторых выполняет свою
<span Courier New"">конкретнуюфункцию. За каждым из таких блоков стоит соответствующая
<span Courier New"">подпрограмматранслятора, а операнды каждого блокаслужат парамет-
<span Courier New"">рами этойподпрограммы.
<span Courier New""> 1Операторы определенияоб 0ъ 1ектов 0служат для описания параметров
<span Courier New"">некоторых объектов GPSS/PC (о самих объектах речь пойдет дальше).
<span Courier New"">Примерамипараметров объектов могут быть количество каналов в мно-
<span Courier New"">гоканальной системе массового обслуживания, количество строк и
<span Courier New"">столбцов матрицыи т.п.
<span Courier New"">
<span Courier New""> — 5 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> 1Управляющие операторы 0служат для управления процессоммодели-
<span Courier New"">рования (прогономмодели). 1Операторы-команды 0позволяют управлять
<span Courier New"">работойинтегрированной среды GPSS/PC. Управляющие операторы и опе-
<span Courier New"">раторы-командыобычно не включаются в исходную программу, а вво-
<span Courier New"">дятся непосредственно с клавиатуры ПК в процессеинтерактивного
<span Courier New"">взаимодействия синтегрированной средой.
<span Courier New""> После трансляции исходной программы в памяти ПК создается так
<span Courier New"">называемая 1текущая модель, 0являющаясясовокупностью разного типа
<span Courier New""> 1объектов 0, каждый из которых представляет собой некоторый набор
<span Courier New"">чисел в памятиПК, описывающих свойства и текущеесостояние объек-
<span Courier New"">та. Объекты GPSS/PC можно разделить на семьклассов: динамические,
<span Courier New"">операционные,аппаратные, статистические, вычислительные, запомина-
<span Courier New"">ющие игруппирующие.
<span Courier New""> Динамические объекты, соответствующие заявкам в системах
<span Courier New"">массовогообслуживания, называются в GPSS/PC 1транзактами 0. Они «соз-
<span Courier New»">даются" и«уничтожаются» так, как это необходимо по логике модели в
<span Courier New"">процессемоделирования. С каждым транзактом может быть связано про-
<span Courier New"">извольное число параметров, несущих в себе необходимую информацию
<span Courier New"">об этомтранзакте. Кроме того, транзакты могут иметь различные при-
<span Courier New"">оритеты.
<span Courier New""> Операционные объекты GPSS/PC, называемые 1блоками 0, соответству-
<span Courier New"">ютоператорам-блокам исходной программы. Они, как уже говорилось,
<span Courier New"">формируют логикумодели, давая транзактам указания: куда идти и что
<span Courier New"">делать дальше.Модель системы на GPSS/PC можно представить совокуп-
<span Courier New"">ностьюблоков, объединенных в соответствии слогикой работы реаль-
<span Courier New"">ной системы в так называемую 1блок-схему 0. Блок-схема модели может
<span Courier New"">быть изображенаграфически, наглядно показываявзаимодействие бло-
<span Courier New"">ков в процессемоделирования.
<span Courier New""> Аппаратные объекты GPSS/PC — этоабстрактные элементы, на ко-
<span Courier New"">торые может бытьрасчленено (декомпозировано) оборудование реальной
<span Courier New"">системы. К ним относятся 1одноканальные 0и 1многоканальные устройства
<span Courier New"">и 1логические переключатели. 0Многоканальное устройство иногда назы-
<span Courier New"">вают 1памятью 0.
<span Courier New""> Одноканальные и многоканальные устройствасоответствуют обслу-
<span Courier New"">живающим приборамв СМО. Одноканальное устройство 1, 0которое для
<span Courier New"">краткостидалее будем называть простоустройством, может обслужи-
<span Courier New"">вать одновременнотолько один транзакт. Многоканальное устройство
<span Courier New"">(МКУ) может обслуживать одновременно несколько транзактов. Логи-
<span Courier New"">ческиепереключатели (ЛП) используются для моделирования двоичных
<span Courier New"">состояний логического или физического характера. ЛП может нахо-
<span Courier New"">диться в двухсостояниях: включено и выключено. Его состояние может
<span Courier New"">
<span Courier New""> — 6 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New"">изменяться впроцессе моделирования, а такжеопрашиваться для при-
<span Courier New"">нятияопределенных решений.
<span Courier New""> Статистические объекты GPSS/PC служат для сбора и обработки
<span Courier New"">статистическихданных о функционировании модели. К ним относятся
<span Courier New""> 1очереди 0и 1таблицы 0.
<span Courier New""> Каждая очередь обеспечивает сбор иобработку данных о транзак-
<span Courier New"">тах, задержанныхв какой-либо точке модели, напримерперед однока-
<span Courier New"">нальнымустройством. Таблицы используются дляполучения выборочных
<span Courier New"">распределенийнекоторых случайных величин, напримервремени пребы-
<span Courier New"">вания транзакта вмодели.
<span Courier New""> К вычислительным объектам GPSS/PC относятся 1переменные 0(ариф-
<span Courier New"">метические ибулевские) и 1функции 0. Онииспользуются для вычисления
<span Courier New"">некоторыхвеличин, заданных арифметическими или логическими выраже-
<span Courier New"">ниями либотабличными зависимостями.
<span Courier New""> Запоминающие объекты GPSS/PC обеспечиваютхранение в памяти ПК
<span Courier New"">отдельныхвеличин, используемых в модели, а также массивов таких
<span Courier New"">величин. К нимотносятся так называемые 1сохраняемые величины 0и 1мат-
<span Courier New""> 1рицысохраняемых величин.
<span Courier New""> К объектам группирующего класса относятся 1списки пользователя
<span Courier New"">и 1группы. 0Списки пользователя используются для организации очередей
<span Courier New"">с дисциплинами, отличными от дисциплины «раньше пришел — раньше
<span Courier New»">обслужен".Группы в данном издании рассматриваться не будут.
<span Courier New""> Каждому объекту того или иного класса соответствуют 1числовые
<span Courier New""> 1атрибуты 0,описывающие его состояние в данный момент модельного вре-
<span Courier New"">мени. Кроме того, имеется ряд так называемых 1системных атрибутов,
<span Courier New"">относящихся не котдельным объектам, а к модели вцелом. Значения
<span Courier New"">атрибутов всехобъектов модели по окончании моделирования выводятся
<span Courier New"">в стандартныйотчет GPSS/PC. Большая часть атрибутов доступна прог-
<span Courier New"">раммисту и составляет так называемые 1стандартные числовые атрибуты
<span Courier New""> 1(СЧА), 0которые могут использоваться в качестве операндов операторов
<span Courier New"">исходнойпрограммы. Все СЧА в GPSS/PC являются целыми числами.
<span Courier New""> Каждый объект GPSS/PC имеет 1имя 0и 1номер 0. Имена объектам даются
<span Courier New"">в различныхоператорах исходной программы, а соответствующие им но-
<span Courier New"">мера трансляторприсваивает автоматически. Имя объекта представляет
<span Courier New"">собойначинающуюся с буквы последовательность букв латинского алфа-
<span Courier New"">вита, цифр исимвола «подчеркивание». При необходимости имени любо-
<span Courier New"">го объекта, кромеимени блока, можно поставить в соответствие любой
<span Courier New"">номер с помощьюоператора описания EQU, имеющего следующий формат:
<span Courier New""> 1имя 0 EQU 1номер
<span Courier New"">Блокамприсваиваются их порядковые номера висходной программе (не
<span Courier New"">путать с номерамистрок!).
<span Courier New"">
<span Courier New""> — 7 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> Для 1ссылки 0на какой-либо стандартный числовойатрибут некото-
<span Courier New"">рого объектасоответствующий операнд оператора исходной программы
<span Courier New"">записываетсяодним из следующих способов:
<span Courier New""> Ш1
<span Courier New""> 1СЧА 0$ 1имя 0 ;
<span Courier New""> Ш1.5
<span Courier New""> 1СЧАj 0 ,
<span Courier New"">где 1СЧА 0- системное обозначение (название) конкретного стандартного
<span Courier New"">числовогоатрибута данного объекта; 1имя 0- имя объекта; 1j 0- номер
<span Courier New"">объекта; $ — символ-разделитель.
<span Courier New""> 1Прогон 0текущей модели, т.е.собственно моделирование, выполня-
<span Courier New"">ется с помощьюспециальной управляющей программы, которую называют
<span Courier New"">симулятором (отанглийского SIMULATE — моделировать, имитировать).
<span Courier New"">РаботаGPSS-модели под управлением симулятора заключается в переме-
<span Courier New"">щении транзактовот одних блоков к другим, аналогичнотому, как в
<span Courier New"">моделируемой СМОперемещаются заявки, соответствующие транзактам.
<span Courier New""> В начальный момент времени в GPSS-моделинет ни одного тран-
<span Courier New"">закта. В процессе моделирования симуляторгенерирует транзакты в
<span Courier New"">определенныемоменты времени в соответствии с теми логическими пот-
<span Courier New"">ребностями, которые возникают в моделируемойсистеме. Подобным же
<span Courier New"">образом транзактыпокидают модель в определенные моменты времени в
<span Courier New"">зависимости отспецифики моделируемой системы. В общем случае в мо-
<span Courier New"">дели одновременносуществует большое число транзактов, однако в
<span Courier New"">каждый моментвремени симулятор осуществляет продвижение только ка-
<span Courier New"">кого-либо одноготранзакта.
<span Courier New""> Если транзакт начал свое движение, он перемещается от блока к
<span Courier New"">блоку по пути,предписанному блок-схемой. В тот момент, когда тран-
<span Courier New"">закт входит внекоторый блок, на исполнение вызывается подпрограмма
<span Courier New"">симулятора, соответствующая типу этого блока, а после ее выполне-
<span Courier New"">ния, при которомреализуется функция данного блока, транзакт «пыта-
<span Courier New»">ется" войтив следующий блок. Такое продвижение транзакта продолжа-
<span Courier New"">ется до тех пор,пока не произойдет одно из следующих возможных со-
<span Courier New"">бытий:
<span Courier New""> 1) транзакт входит в блок, функциейкоторого является удаление
<span Courier New"">транзакта измодели;
<span Courier New""> 2) транзакт входит в блок, функциейкоторого является задержка
<span Courier New"">транзакта нанекоторое определенное в модели время;
<span Courier New""> 3) транзакт «пытается» войтив следующий блок, однако блок
<span Courier New"">«отказывается» принять его. В этом случае транзакт остается в том
<span Courier New"">блоке, где находился, и позднее будет повторять своюпопытку войти
<span Courier New"">в следующийблок. Когда условия в моделиизменятся, такая попытка
<span Courier New"">может оказатьсяуспешной, и транзакт сможет продолжить свое переме-
<span Courier New"">щение поблок-схеме.
<span Courier New"">
<span Courier New""> — 8 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> Если возникло одно из описанных вышеусловий, обработка данно-
<span Courier New"">го транзакта прекращается, и начинается перемещение другого тран-
<span Courier New"">закта. Таким образом, выполнение моделированиясимулятором продол-
<span Courier New"">жается постоянно.
<span Courier New""> Проходя через блоки модели, каждыйтранзакт вносит вклад в со-
<span Courier New"">держимое 1счетчиков блоков 0. Значения этих счетчиков доступны прог-
<span Courier New"">раммисту черезСЧА блоков: W — текущее содержимое блока и N — общее
<span Courier New"">количество входовв блок.
<span Courier New""> Каждое продвижение транзакта в моделиявляется событием, кото-
<span Courier New"">рое должнопроизойти в определенный момент модельного времени. Для
<span Courier New"">того, чтобы поддерживать правильную временную последовательность
<span Courier New"">событий,симулятор имеет 1таймер 0модельного времени, который автома-
<span Courier New"">тическикорректируется в соответствии с логикой, предписанной мо-
<span Courier New"">делью.
<span Courier New""> Таймер GPSS/PC имеет следующиеособенности:
<span Courier New""> 1) регистрируются только целые значения (все временные интер-
<span Courier New"">валы в моделиизображаются целыми числами);
<span Courier New""> 2) единица модельного времени определяетсяразработчиком моде-
<span Courier New"">ли, который задает все временные интервалы водних и тех же, выб-
<span Courier New"">ранных имединицах;
<span Courier New""> 3) симулятор не анализирует состояниемодели в каждый следую-
<span Courier New"">щий моментмодельного времени (отстоящий от текущего на единицу мо-
<span Courier New"">дельноговремени), а продвигает таймер к моменту времени, когда
<span Courier New"">происходитближайшее следующее событие.
<span Courier New""> Значения таймера доступны программистучерез системные СЧА C1
<span Courier New"">( 1относительноевремя 0) и AC1 ( 1абсолютное время 0).
<span Courier New""> Центральной задачей, выполняемойсимулятором, является опреде-
<span Courier New"">ление того, какойтранзакт надо выбрать следующим для продвижения в
<span Courier New"">модели, когда егопредшественник прекратил свое продвижение. С этой
<span Courier New"">целью симуляторрассматривает каждый транзакт как элемент некоторо-
<span Courier New"">го списка. В относительно простых моделях используются лишь два
<span Courier New"">основных списка: 1список текущих событий 0и 1список будущих событий 0.
<span Courier New""> Список текущих событий включает в себя тетранзакты, планируе-
<span Courier New"">мое время продвижения которых равно или меньшетекущего модельного
<span Courier New"">времени (кпоследним относятся транзакты, движение которых было
<span Courier New"">заблокированоранее). Он организуется в порядкеубывания приорите-
<span Courier New"">товтранзактов, а в пределах каждого уровняприоритета — в порядке
<span Courier New"">поступлениятранзактов.
<span Courier New""> Список будущих событий включает в себятранзакты, планируемое
<span Courier New"">время продвижения которых больше текущеговремени, т.е. события,
<span Courier New"">связанные спродвижением этих транзактов, должныпроизойти в буду-
<span Courier New"">
<span Courier New""> — 9 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New"">щем. Этот список организуется в порядкевозрастания планируемого
<span Courier New"">временипродвижения транзактов.
<span Courier New""> Симулятор GPSS/PC помещает транзакты в зависимости от условий
<span Courier New"">в модели в тотили иной список и переносит транзакты из списка в
<span Courier New"">список, просматривает списки, выбирая следующийтранзакт для обра-
<span Courier New"">ботки, корректирует таймер модельного времени послеобработки всех
<span Courier New"">транзактов всписке текущих событий.
<span Courier New"">
<span Courier New""> 2. ОСНОВНЫЕ БЛОКИ GPSS/PC И СВЯЗАННЫЕ СНИМИ ОБЪЕКТЫ
<span Courier New"">
<span Courier New""> 2.1. Блоки, связанные странзактами
<span Courier New"">
<span Courier New""> С транзактами связаны блоки создания, уничтожения, задержки
<span Courier New"">транзактов,изменения их атрибутов и создания копий транзактов.
<span Courier New""> Для создания транзактов, входящих в модель, служит блок
<span Courier New"">GENERATE(генерировать), имеющий следующий формат:
<span Courier New""> 1имя 0 GENERATE A,B,C,D,E
<span Courier New""> В поле A задается среднее значениеинтервала времени между мо-
<span Courier New"">ментамипоступления в модель двух последовательных транзактов. Если
<span Courier New"">этот интервалпостоянен, то поле B не используется.Если же интер-
<span Courier New"">вал поступленияявляется случайной величиной, то в полеB указыва-
<span Courier New"">ется модификаторсреднего значения, который может быть задан в виде
<span Courier New"">модификатора-интервалаили модификатора-функции.
<span Courier New""> Модификатор-интервал используется, когда интервал поступления
<span Courier New"">транзактовявляется случайной величиной с равномерным законом расп-
<span Courier New"">ределениявероятностей. В этом случае в поле B может быть задан лю-
<span Courier New"">бой СЧА, кроме ссылки на функцию, адиапазон изменения интервала
<span Courier New"">поступления имеетграницы A-B, A+B.
<span Courier New""> Например, блок
<span Courier New""> GENERATE 100,40
<span Courier New"">создаеттранзакты через случайные интервалы времени, равномерно
<span Courier New"">распределенные наотрезке [60;140].
<span Courier New""> Модификатор-функция используется, еслизакон распределения ин-
<span Courier New"">тервалапоступления отличен от равномерного. В этом случае в поле B
<span Courier New"">должна быть записана ссылка на функцию (ееСЧА), описывающую этот
<span Courier New"">закон, и случайный интервал поступления определяется, как целая
<span Courier New"">частьпроизведения поля A (среднего значения) на вычисленное значе-
<span Courier New"">ние функции.
<span Courier New""> В поле C задается момент поступления вмодель первого транзак-
<span Courier New"">та. Если это поле пусто или равно 0, то момент появления первого
<span Courier New"">транзактаопределяется операндами A и B.
<span Courier New"">
<span Courier New""> — 10 -
<span Courier New";mso-fareast-font-family: Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:RU;mso-fareast-language: EN-US;mso-bidi-language:AR-SA"><span Courier New"">
<span Courier New""> Поле D задает общее число транзактов,которое должно быть соз-
<span Courier New"">дано блокомGENERATE. Если это поле пусто, то блок генерирует неог-
<span Courier New"">раниченное числотранзактов до завершения моделирования.
<span Courier New""> В поле E задается 1приоритет 0, присваиваемыйгенерируемым тран-
<span Courier New"">зактам. Числоуровней приоритетов неограничено, причем самый низкий
<span Courier New"">приоритет — нулевой. Если поле E пусто, то генерируемые транзакты
<span Courier New"">имeют нулевойприоритет.
<span Courier New""> Транзакты имеют ряд стандартных числовыхатрибутов. Например,
<span Courier New"">СЧА с названиемPR позволяет ссылаться на приоритет транзакта. СЧА
<span Courier New"">с названием M1содержит так называемое 1резидентное время 0транзакта,
<span Courier New"">т.е. время,прошедшее с момента входа транзакта в модель через блок
<span Courier New"">GENERATE. СЧА с названием XN1 содержит внутренний 1номер транзакта 0,
<span Courier New"">который являетсяуникальным и позволяет всегда отличить один тран-
<span Courier New"">закт отдругого. В отличие от СЧА другихобъектов, СЧА транзактов
<span Courier New"">не содержатссылки на имя или номер транзакта. Ссылка на СЧА тран-
<span Courier New"">закта всегдаотносится к активному транзакту, т.е. транзакту, обра-
<span Courier New"">батываемому вданный момент симулятором.
<span Courier New""> Важными стандартными числовыми атрибутамитранзактов являются
<span Courier New"">значения их параметров. Любой транзакт может иметь неограниченное
<span Courier New"">числопараметров, содержащих те или иныечисловые значения. Ссылка
<span Courier New"">на этот СЧА транзактов все