Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Общие сведения о формате операторов GPSS. Формат и действие блоков generate и terminate.
Операторы GPSS делятся на три типа: 1) блоки; 2) операторы описания данных; 3) команды GPSS. Общие сведения о формате операторов GPSS. В GPSS для ссылки на числа, блоки и объекты используются имена (идентификаторы). Имя представляет собой алфавитно-цифровую последовательность длиной до 20 символов в GPSS/PC и до 250 символов в GPSS World, которая начинается c буквы. Допускается использование символов только латинского алфавита, цифр и знака подчеркивания. Формат GPSS-блоков такой: [Номер cmpo ки ][< Метка >] < Операция > < Операнды > <; Комментарии > Номер строки. Обязательное поле для GPSS/PC (в GPSS World – игнорируется). Начинается c первой позиции строки. Представляет собой десятичное число. Метка (имя блока). Содержимым поля является имя – последовательность символов, начинающаяся c буквы. В некоторых операторах это поле является обязательным. Операция. Операциями* блоков являются глаголы, которые описывают основные функциональные назначения блоков. Каждый из блоков характеризируется своим собственным предписанным ему глаголом. Операнды. Блоки могут иметь операнды. Операнды блоков задают информацию, специфичную для действия данного блока. Число операндов блока зависит от типа блока. В блоках не может использоваться больше семи операндов. Операнды в общем случае обозначаются символами: А, В, C, D, E, F, G. Значения операндов определяются типом блока. Одни операнды некоторых блоков должны быть определены всегда,адругие могут задаваться или не задаваться (т.е. являются необязательными). Операнды следуют один за другим и отделяются запятыми или одним пробелом. Если операнд опущен, то вместо него ставится запятая. Между операндами не должно быть более одного пробела, так как это будет означать, что операнды закончились и интерпретатор прекращает чтение строки. Комментарии. Необязательное поле. Комментарии отделяются от поля операндов символом «;». Допускается запись комментария c начала строки. В этом случае в первой позиции строки ставится символ «;» или «*». В GPSS/PC допускаются комментарии c использованием заглавных или строчных букв только латинского алфавита, в GPSS World также допускается использование символов кириллицы. Строка описания блока может содержать до 79 символов в GPSS/PC и до 250 символов в GPSS World. При описании форматов квадратные скобки [ ] указывают на необязательность поля.
Именами и метками не могут быть названия или начальные символы названий блоков, операторов, команд и СЧА. Во избежание конфликтов c ключевыми словами рекомендуется в именах использовать символ подчеркивания. Блок GENERATE (ГЕНЕРИРОВАТЬ) – это блок, через который транзакты входят в модель. Не существует ограничений на количество разных блоков GENERATE в одной модели. Интервал времени между последовательными появлениями транзактов из блока GENERATE называют интервалом поступления. Когда транзакт входит в модель через блок GENERATE. интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа c соответствующим распределением интервалов поступления на время, равное текущему значению ЧАСОВ плюс разыгранное значение. При достижении этого значения модельного времени следующий транзакт вводится в модель через блок GENERATE и т.д. Разработчик должен задать функцию распределения интервалов поступления транзактов в блоке GENERATE. Все возможные виды случайных распределений интервалов поступления транзактов в GPSS делятся на равномерное распределение и другие виды распределений. В нашем случае специально рассматривают самое простое из всех случайных нетривиальных распределений – равномерное распределение. Использование других видов распределений требует задания функций, которые описаны ниже Формат блока: GENERATE [A],[B],[C],[D],[E] Ta 6лица 4.2
* Если опущено поле операнда, транслятор проставляет значения по умолчанию или выдает ошибку. Значение операндов: А – среднее значение интервала поступления; В – величина разброса возможных значений относительно среднего значения. (Если операнд В не задается, то интервал времени поступления – детерминированная величина);
C – момент времени, в который в блоке GENERATE должен появиться первый транзакт. (После этого первого прихода все остальные приходы транзактов возникают в соответствии c распределением, заданным операндами А и В); D – ограничитель общего числа транзактов, которое может войти в модель через данный блок GENERATE на протяжении времени моделирования. (Если это число достигнуто, данный блок GENER ATE перестает быть активным); Е – уровень или класс приоритета каждого из транзактов. которые вводятся в модель через данный блок GENERATE. (Всего существует 128 разных уровней, которые задаются c помощью чисел от 0 до 127. Чем больше число, тем выше приоритет). 1. Транзакты не могут входить в блок GENERATE, так как он сам их генерирует. 2. Если в модели GPSS/PC встречаются подряд два или больше блоков GENERATE, то последний блок переопределяет операнды предыдущих блоков. В GPSS World транслятор выдает ошибку. 3. Операнды не могут быть отрицательными числами. Операнды А, В, C целочисленные (в GPSS World могут быть действительными числами). Пример 4.1 1. Задание равномерного закона распределения: GENERATE 6,4 Операнды: A = 6, В = 4. Интервал времени поступления является случайным числом со средним значением 6 и полем допуска 8, то есть он может приобретать только одно из девяти разных значений: 2, 3,4,5,6,7,8,9, 10. 2. Задание детерминированного значения интервалов поступления: GENERATE 10 Операнды: A = 10, В = 0 (по умолчанию). Транзакты входят в модель каждые 10 единиц модельного времени. 3. Генерирование одного транзакта. GENERATE,,,1 Операнды: A = В = C = 0 (по умолчанию), D = 1. В нулевой момент в модель входит один транзакт.
Транзакты удаляются из модели, попадая в блок TERMINATE (ЗАВЕРШИТЬ). В этот момент освобождается память, выделенная под транзакт. Эти блоки всегда позволяют выйти всем транзактам, которые пытаются это сделать. В модели может быть любое количество блоков TERMINATE. Формат блока: TERMINATE [ A ] Операнд А является величиной уменьшения специального счетчика, который называется счетчиком завершения. Этот операнд задает величину, которая вычитается из счетчика каждый раз, когда транзакт входит в блок TERMINATE. По умолчанию A = 0. Вход гранзакта в блок TERMINATE c нулевым значением операнда А не вызывает уменьшения счетчика завершения. Счетчик завершения – это ячейка в памяти ЭВМ, которая хранит целое положительное число. Начальное значение этого счетчика устанавливается в начале моделирования. Оно равняется значению операнда А команды START (НАЧАТЬ). В процессе моделирования транзакты попадают в блок TERMINATE и, таким образом, уменьшают значение счетчика на величину операнда А. Моделирование заканчивается, когда значение счетчика становится равным нулю или отрицательному числу. 1. В модели может быть много блоков TERMINATE, но счетчик завершения – один, c начальным значением, указанным в команде START. 2. Не путать ограничитель транзактов в блоке GENERATE и счетчик завершения. Ограничитель задает число транзактов, которые войдут в модель, А счетчик – число транзактов, которые выйдут из модели. По окончании моделирования транзакты могут оставаться в модели.
Вопрос 34
|
||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-01-08; просмотров: 364; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.112.69 (0.009 с.) |