АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Список основных событий и действий, которые они вызывают

Читайте также:
  1. II. Основной ход событий:
  2. III. ПЕРЕЧЕНЬ ТЕМ ДИПЛОМНЫХ ПРОЕКТОВ, КОТОРЫЕ БЫЛИ ИСПОЛЬЗОВАНЫ В 2012-2014 гг.
  3. IV . Выписать из текста слова – названия основных частей оборудования , описаного в этом тексте.
  4. IV. Амортизация основных средств
  5. S: Вредными называются вещества, которые при контакте с организмом вызывают
  6. Акты, которые изменены (дополнены) документом
  7. Алгоритм вставки элемента в список после элемента с указанным ключом
  8. Алекс побежал в соседнее здание, не понимая, как два часа до концерта превратились в десять минут, которые он провёл в кафе.
  9. АМНИСТИЯ, ДАРОВАННАЯ ИНКВИЗИЦИЕЙ, И СВОЕОБРАЗНЫЕ АНЕКДОТЫ, КОТОРЫЕ ИЗ
  10. Амортизация основных производственных фондов
  11. Амортизация основных производственных фондов
  12. АМОРТИЗАЦИЯ ОСНОВНЫХ СРЕДСТВ

 

Основные события Действия, которые они вызывают (вспомогательные события и планирование)
Приход заявки 1. Планирование следующего прихода. 2. Проверка состояния обслуживающего аппарата. Канал свободен? НЕТ: поступление заявки в очередь. ДА: поступление заявки на обслуживание; это вызывает: а) переход обслуживающего аппарата из свободного состояния в занятое; б) планирование события окончания обслуживания.
Окончание обслуживания Проверка состояния очереди. Есть ли в очереди заявка, ожидающая обслуживания? НЕТ: переход обслуживающего аппарата из занятого состояния в свободное; ДА: поступление заявки на обслуживание; это вызывает: а) продвижение заявки в очереди; б) планирование события окончания обслуживания.

 

Здесь в машинную модель вносится допущение. В процессе моделирования системы модель как бы знает, когда появится следующая заявка и когда произойдёт окончание обслуживания обслуживаемой заявки. В реальной системе эти моменты неизвестны. Тем не менее, можно считать, что при длительном моделировании модель становится адекватной реальной системе в статистическом смысле.

Таймер модельного времени регистрирует только целые значения. Это означает, что события могут возникать только в «целые» моменты времени. Единицу времени, которая может быть отмечена таймером, определяет разработчик модели, которая ему удобна для того, чтобы правильно отразить события реальной системы в модели. Разработчик должен следить за тем, чтобы все данные, связанные со временем, были выражены через определённую минимальную единицу времени.

Система моделирования GPSS является интерпретатором для «следующего события». Иначе говоря, после того как модель полностью скорректирована в данный момент модельного времени, таймер продвигается к ближайшему значению времени, в которое происходит следующее событие (точнее, к следующему моменту времени, на которое запланировано возникновение события). Интервал модельного времени пропускается, если на этом интервале нет событий. Практически это означает, что время «прогона» модели не зависит от единицы времени, выбранной разработчиком модели.

Общая логическая блок-схема функционирования модели в среде моделирования GPSS приведена на рис. 4.2.

 

Рис. 4.2. Общая логическая блок-схема моделирования в среде GPSS

 

Завершение моделирования в среде GPSS происходит либо по времени, либо по поступлению заданного числа транзактов.

Особенности построения и работы моделей в среде GPSS. Модель на GPSS строится следующим образом [6, 9, 16].

1. Выбираются необходимые блоки из допустимого множества существующих в GPSS блоков.

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

3. После того как модель создана, взаимодействие между блоками модели аналогично взаимодействию элементов моделируемой реальной системы.

4. После разработки блок-схемы модели создаётся текст программы. Эта процедура является, как правило, чисто механической.

Выстроенные в блок-схему блоки означают продвижение по ней транзактов. Конфигурация блок-схемы GPSS модели отражает направления, по которым происходит движение транзактов. В модели существует большое число транзактов, однако в один момент времени двигается только один транзакт. Каждое успешное вхождение транзакта в блок вызывает обращение к соответствующей подпрограмме. Следовательно, выполнение модели заключается в последовательном обращении к подпрограммам, являющемся следствием входа в определённые блоки перемещающихся транзактов.

В общем случае модель на GPSS состоит из нескольких независимых сегментов. В процессе моделирования активным является тот из сегментов, в котором находится перемещающийся в настоящий момент транзакт. Когда он блокируется, начинает двигаться следующий транзакт, и может так случиться, что этот следующий транзакт принадлежит другому сегменту модели. Таким образом происходит переключение активности между сегментами.

При описании схем алгоритмов посредством языковых средств GPSS используются следующие типы строк: 1) строки описания блоков; 2) строки описания объектов; 3) управляющие строки; 4) строки комментарии (наличие символа «*» в 1-й позиции, указывает на то, что строка содержит только комментарии). Каждый блок блок-схемы GPSS модели определяется с помощью отдельной строки, имеющей следующий формат:

 

2 Поле метки 6 Символический адрес блока 8 Поле операции 18 Наименование типа блока 19 Поле операндов 31 Поле операндов A,B,C,D,E,F,G

 

Запись начинается с 1-й позиции, а поля разделяются пробелами, Отсутствие метки также обозначается пробелом.

Все блоки GPSS определяются наименованием типа блока и операндами A, B, C, D, E, F, G, задающими выполняемые функции. Кроме того, каждый блок может иметь символический адрес, записываемый в поле метки блока. Поле метки расположено со 2 по 6 позиции экрана, поле операции (наименование блока) с 8 по 18, поле операндов с 19 позиции и до первого пробела в тексте. Комментарии, как правило, размещаются после 31 позиции.

Тип блока указывает функциональное назначение этого блока, а операнды задают информацию для его действия. Если некоторые операнды не используются, это отмечается запятой. В качестве аргументов в поле операндов используются: а) некоторые СЧА; б) положительные константы Kn; в) специальные обозначения, определяющие режим; г) метки, имена.

Для задания дополнительной информации симулятору GPSS требуются операторы контроля управления.

Оператор SIMULATE обеспечивает “прогон” имитационных моделей. Допускаются две формы оператора: SIMULATE и SIMULATE m, где m – число минут машинного времени, по истечении которого моделирование прекращается.

Оператор START показывает симулятору GPSS, что все входные данные получены и можно начинать счёт.

Поле A определяет число транзактов, которые должны пройти через систему до выдачи окончательной статистики, называемой счётчиком числа завершений и обозначаемой TG1. Счёт заканчивается в тот момент, когда TG1 < 0. Значение TG1 уменьшается на величину, заданную в поле A блока TERMINATE, при каждом входе сообщения в этот блок.

Поле B может быть использовано для блокирования выдачи статистики в конце счёта. Для этого нужно записать в поле B мнемоническое обозначение NP. При наличии такой записи в поле B сбор статистической информации в процессе счёта не прекращается, блокируется только печать собранной информации по окончании счёта. Если поле B пусто, печать происходит как обычно.

Поле C можно использовать для задания интервала промежуточных выдач статистик. Счётчик интервала уменьшается на то же число единиц, что и счётчик завершения. Когда значение этого счётчика становится равным нулю или отрицательным, то производится выдача статистики в обычном формате и восстановление счётчика, после чего счёт продолжается.

Поле D может содержать указание на то, что при выдаче информации (как в конце выдачи промежуточных результатов, так и в конце счёта) нужно распечатывать списки текущих событий, будущих событий, список прерываний, а также списки пользователя. Значение «1» в поле D указывает на то, что пользователю нужна печать списков. В противном случае поле оставляют незаполненным.

Пользователю может понадобиться провести серию просчётов, т.е. несколько просчётов один за другим. Для облегчения задания такого режима введены три управляющих оператора, в различной степени возвращающих модель к исходному состоянию: RESET, стирающий всю накопленную статистику; CLEAR, который стирает всю статистику и все транзакты; JOP, стирающий всю статистику, все транзакты и все блоки.

Оператор RESET. Результатом действия этого оператора является то, что стирается вся статистическая информация, накопленная в процессе моделирования. Счётчики числа входов в блоки сбрасываются до «0», но содержимое счётчиков ожидания не изменяется. Коэффициенты использования устройств сбрасываются до «0», счётчики числа входов в устройство устанавливаются в соответствие с текущим состоянием устройства. Счётчик равен «0», если устройство свободно, «1» – если оно занято или обслуживание сообщения прервано, и «2» – если устройство занято и обслуживает прерывание. Коэффициенты использования памятей также сбрасываются до «0», а счётчики числа входов в память устанавливаются в соответствие с текущим содержимым каждой памяти. Коэффициенты использования очередей сбрасываются до «0», и счётчики числа входов устанавливаются равными текущей длине соответствующих очередей. Счётчики всех нулевых задержек сбрасываются до «0», а максимальные значения длины очереди устанавливаются равными текущей длине очереди. Все счётчики числа наблюдений интервалов таблиц, все средние значения и т.д. также сбрасываются до «0». Содержимое ячеек SAVEVALUE и состояние логических переключателей не изменяются. Датчик случайных чисел не возвращается к исходному числу. Пользователь может также задать объекты (устройства, памяти, очереди и др.), атрибуты которых останутся без изменения после выполнения операций, соответствующих оператору RESET.

Оператор CLEAR. В результате действия этого оператора стирается вся накопленная в процессе моделирования статистика и из системы удаляются все транзакты. Счётчики числа входов и счётчики ожидания всех блоков сбрасываются до «0». Коэффициенты использования всех устройств и счётчики числа входов сбрасываются до «0» и все устройства переводятся в состояние «не занято». Коэффициенты использования памятей, счётчики числа входов и текущее содержимое сбрасываются до «0» для всех памятей. Коэффициенты использования очередей, счётчики числа входов, счётчики числа нулевых задержек, текущая и максимальная длина очереди сбрасываются до «0». Стирается вся информация в таблицах и ячейках SAVEVALUE. Все логические переключатели устанавливаются в «0», из системы удаляются все транзакты, а абсолютное и относительное время устанавливается в «0». Затем запускаются все блоки GENERATE. Начальные интервалы задержки, записанные в поле C блока GENERATE, отсчитываются после завершения операций оператора CLEAR. Счётчикам пределов, заданным в поле D, присваиваются их исходные значения. Работа этих счётчиков также начинается после выполнения операций оператора CLEAR. Операции оператора CLEAR производятся в момент его появления, причём действие оператора CLEAR на следующего за ним оператора не распространяется. Перед первым оператором START модели оператор CLEAR не нужен. Датчик случайных чисел не возвращается к исходному числу.

Оператор JOP. Этот оператор помещается между последовательными рабочими вычислениями, являющимися частями одной работы. Он выполняет все функции оператора CLEAR, а также стирает все описания блоков, функций, переменных, таблиц и памятей. Перед первой работой оператор JOP не нужен. Оператор JOP возвращает датчик случайных чисел к исходному числу.

Оператор END. Этот оператор указывает на конец модели.

В языке GPSS используется символическая и косвенная адресация. Любым объектам программы (блокам, устройствам, памятям) можно дать символические имена. Нумерацию блоков производит симулятор. Разным объектам можно дать одно и то же имя.

Возможности языка расширяет косвенная адресация и косвенное описание, в которых используются индексы, применяемые в качестве номера n аргумента блока и в качестве индекса n СЧА, указываемого в некоторой из строк описания. Для записи индекса используется знак «$» и число после него. Индекс определяется значением параметра, номер которого записан после $.

Косвенная адресация и косвенное описание могут быть использованы совместно и порознь практически для любых аргументов различных типов блоков.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)