46000 (665307), страница 2

Файл №665307 46000 (Моделирование на GPSS) 2 страница46000 (665307) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

Значения атрибутов всех объектов модели по окончании моделирования

Выводятся в стандартный отчет GPSS/PC. Большая часть атрибутов дос-

тупна программисту и составляет так называемые стандартные число-

вые атрибуты (СЧА), 0которые могут использоваться в качестве опе-

рандов операторов исходной программы. Все СЧА в GPSS/PC являются це-

лыми числами.

Каждый объект GPSS/PC имеет имя и номер. Имена объектам

даются в различных операторах исходной программы, а соответствующие

им номера транслятор присваивает автоматически. Имя объекта предста-

вляет собой начинающуюся с буквы последовательность букв латинского

алфавита, цифр и символа "подчеркивание". При необходимости имени

любого объекта, кроме имени блока, можно поставить в соответствие

любой номер с помощью оператора описания EQU, имеющего следующий

формат:

имя EQU номер

Блокам присваиваются их порядковые номера в исходной программе

(непутать с номерами строк!).

Для ссылки 0на какой-либо стандартный числовой атрибут некото-

рого объекта соответствующий операнд оператора исходной программы

записывается одним из следующих способов:

СЧА $имя ;

СЧА j ,

где СЧА - системное обозначение (название) конкретного стандар-

тного числового атрибута данного объекта; имя - имя объекта;

j - номер объекта; $ - символ-разделитель.

Прогон текущей модели, т.е. собственно моделирование, выполня-

ется с помощью специальной управляющей программы, которую называют

симулятором (от английского SIMULATE - моделировать, имитировать).

Работа GPSS-модели под управлением симулятора заключается в переме-

щении транзактов от одних блоков к другим, аналогично тому, как в

моделируемой СМО перемещаются заявки, соответствующие транзактам.

В начальный момент времени в GPSS-модели нет ни одного тран-

закта. В процессе моделирования симулятор генерирует транзакты в

определенные моменты времени в соответствии с теми логическими пот-

ребностями, которые возникают в моделируемой системе. Подобным же

образом транзакты покидают модель в определенные моменты времени в

зависимости от специфики моделируемой системы. В общем случае в мо-

дели одновременно существует большое число транзактов, однако в

каждый момент времени симулятор осуществляет продвижение только ка-

кого-либо одного транзакта.

Если транзакт начал свое движение, он перемещается от блока к

блоку по пути, предписанному блок-схемой. В тот момент, когда тран-

закт входит в некоторый блок, на исполнение вызывается подпрограмма

симулятора, соответствующая типу этого блока, а после ее выполне-

ния, при котором реализуется функция данного блока, транзакт "пыта-

ется" войти в следующий блок. Такое продвижение транзакта продолжа-

ется до тех пор, пока не произойдет одно из следующих возможных со-

бытий:

1) транзакт входит в блок, функцией которого является удаление

транзакта из модели;

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

транзакта на некоторое определенное в модели время;

3) транзакт "пытается" войти в следующий блок, однако блок

"отказывается" принять его. В этом случае транзакт остается в том

блоке, где находился, и позднее будет повторять свою попытку войти

в следующий блок. Когда условия в модели изменятся, такая попытка

может оказаться успешной, и транзакт сможет продолжить свое переме-

щение по блок-схеме.

Если возникло одно из описанных выше условий, обработка данного

транзакта прекращается, и начинается перемещение другого транзакта.

Таким образом, выполнение моделирования симулятором продолжается

постоянно.

Проходя через блоки модели, каждый транзакт вносит вклад в со-

держимое счетчиков блоков. Значения этих счетчиков доступны

программисту через СЧА блоков: W - текущее содержимое блока и N

общее количество входов в блок.

Каждое продвижение транзакта в модели является событием, кото-

рое должно произойти в определенный момент модельного времени. Для

того, чтобы поддерживать правильную временную последовательность

событий, симулятор имеет таймер модельного времени, который ав-

томатически корректируется в соответствии с логикой, предписанной

моделью.

Таймер GPSS/PC имеет следующие особенности:

1) регистрируются только целые значения (все временные интер-

валы в модели изображаются целыми числами);

2) единица модельного времени определяется разработчиком моде-

ли, который задает все временные интервалы в одних и тех

же, выбранных им единицах;

3) симулятор не анализирует состояние модели в каждый следую-

щий момент модельного времени (отстоящий от текущего на

единицу модельного времени), а продвигает таймер к моме-

нту времени, когда происходит ближайшее следующее событие.

Значения таймера доступны программисту через системные СЧА C1

(относительное время) и AC1 (абсолютное время).

Центральной задачей, выполняемой симулятором, является опреде-

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

модели, когда его предшественник прекратил свое продвижение. С этой

целью симулятор рассматривает каждый транзакт как элемент некоторо-

го списка. В относительно простых моделях используются лишь два

основных списка: список текущих событий и список будущих событий.

Список текущих событий включает в себя те транзакты, планируемое

время продвижения которых равно или меньше текущего модельного

времени (к последним относятся транзакты, движение которых было

заблокировано ранее). Он организуется в порядке убывания приорите-

тов транзактов, а в пределах каждого уровня приоритета - в порядке

поступления транзактов.

Список будущих событий включает в себя транзакты, планируемое

время продвижения которых больше текущего времени, т.е. события,

связанные с продвижением этих транзактов, должны произойти в буду-

щем. Этот список организуется в порядке возрастания планируемого

времени продвижения транзактов.

Симулятор GPSS/PC помещает транзакты в зависимости от условий

в модели в тот или иной список и переносит транзакты из списка в

список, просматривает списки, выбирая следующий транзакт для обра-

ботки, корректирует таймер модельного времени после обработки всех

транзактов в списке текущих событий.

2. ОСНОВНЫЕ БЛОКИ GPSS/PC И СВЯЗАННЫЕ С НИМИ ОБЪЕКТЫ

2.1. Блоки, связанные с транзактами

С транзактами связаны блоки создания, уничтожения, задержки

транзактов, изменения их атрибутов и создания копий транзактов.

Для создания транзактов, входящих в модель, служит блок

GENERATE (генерировать), имеющий следующий формат:

имя GENERATE A,B,C,D,E

В поле A задается среднее значение интервала времени между мо-

ментами поступления в модель двух последовательных транзактов. Если

этот интервал постоянен, то поле B не используется. Если же интер-

вал поступления является случайной величиной, то в поле B указыва-

ется модификатор среднего значения, который может быть задан в виде

модификатора-интервала или модификатора-функции.

Модификатор-интервал используется, когда интервал поступления

транзактов является случайной величиной с равномерным законом расп-

ределения вероятностей. В этом случае в поле B может быть задан лю-

бой СЧА, кроме ссылки на функцию, а диапазон изменения интервала

поступления имеет границы A-B, A+B.

Например, блок

GENERATE 100,40

создает транзакты через случайные интервалы времени, равномерно

распределенные на отрезке [60;140].

Модификатор-функция используется, если закон распределения ин-

тервала поступления отличен от равномерного. В этом случае в поле B

должна быть записана ссылка на функцию (ее СЧА), описывающую этот

закон, и случайный интервал поступления определяется, как целая

часть произведения поля A (среднего значения) на вычисленное значе-

ние функции.

В поле C задается момент поступления в модель первого транзак-

та. Если это поле пусто или равно 0, то момент появления первого

транзакта определяется операндами A и B.

Поле D задает общее число транзактов, которое должно быть соз-

дано блоком GENERATE. Если это поле пусто, то блок генерирует неог-

раниченное число транзактов до завершения моделирования.

В поле E задается приоритет, присваиваемый генерируемым транзак-

там. Число уровней приоритетов неограничено, причем самый низкий

приоритет - нулевой. Если поле E пусто, то генерируемые транзакты

имеют нулевой приоритет.

Транзакты имеют ряд стандартных числовых атрибутов. Например,

СЧА с названием PR позволяет ссылаться на приоритет транзакта. СЧА

с названием M1 содержит так называемое резидентное время транзакта,

т.е. время, прошедшее с момента входа транзакта в модель через блок

GENERATE. СЧА с названием XN1 содержит внутренний номер транзакта, который является уникальным и позволяет всегда отличить

один транзакт от другого. В отличие от СЧА других объектов, СЧА

транзактов не содержат ссылки на имя или номер транзакта. Ссылка

на СЧА транзакта всегда относится к активному транзакту, т.е. тра-

нзакту, обрабатываемому в данный момент симулятором.

Важными стандартными числовыми атрибутами транзактов являются

значения их параметров. Любой транзакт может иметь неограниченное

число параметров, содержащих те или иные числовые значения. Ссылка

на этот СЧА транзактов всегда относится к активному транзакту и

имеет вид Pj или Р$ имя, где j и имя - номер и имя параметра

соответственно. Такая ссылка возможна только в том случае,

если параметр с указанным номером или именем существует, т.е. в него

занесено какое-либо значение.

Для присваивания параметрам начальных значений или изменения

этих значений служит блок ASSIGN (присваивать), имеющий следущий

формат:

имя ASSIGN A,B,C

В поле A указывается номер или имя параметра, в который за-

носится значение операнда B. Если в поле A после имени (номера) па-

раметра стоит знак + или -, то значение операнда B добавляется или

вычитается из текущего содержимого параметра. В поле С может быть

указано имя или номер функции-модификатора, действующей аналогично

функции-модификатору в поле B блока GENERATE.

Например, блок

ASSIGN 5,0

записывает в параметр с номером 5 значение 0, а блок

ASSIGN COUNT+,1

добавляет 1 к текущему значению параметра с именем COUNT.

Для записи текущего модельного времени в заданный параметр

транзакта служит блок MARK (отметить), имеющий следующий формат:

имя MARK A

В поле A указывается номер или имя параметра транзакта, в ко-

торый заносится текущее модельное время при входе этого транзакта в

блок MARK. Содержимое этого параметра может быть позднее использо-

вано для определения транзитного времени 0пребывания транзакта в

какой-то части модели с помощью СЧА с названием MP.

Например, если на входе участка модели поместить блок

MARK MARKER ,

то на выходе этого участка СЧА MP$MARKER будет содержать разность

между текущим модельным временем и временем, занесенным в параметр

MARKER блоком MARK.

Если поле A блока MARK пусто, то текущее время заносится на

место отметки времени входа транзакта в модель, используемой при

определении резидентного времени транзакта с помощью СЧА M1.

Для изменения приоритета транзакта служит блок PRIORITY (прио-

ритет), имеющий следующий формат:

имя PRIORITY A,B

В поле A записывается новый приоритет транзакта. В поле B мо-

жет содержаться ключевое слово BU, при наличии которого транзакт,

вошедший в блок, помещается в списке текущих событий после всех

остальных транзактов новой приоритетной группы, и список текущих

Характеристики

Тип файла
Документ
Размер
468,14 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6489
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее