Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
11.docx
Скачиваний:
13
Добавлен:
17.11.2019
Размер:
521.64 Кб
Скачать
  1. Описание моделей с помощью языка gpss

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

  2. Поле метки Поле операции Поле операндов

  3. Символический адрес Наименование типа Аргумент А, аргумент В

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

  5. Методы структурного программирования требуют наличия комментариев к каждому оператору (группе операторов). В GPSS имеется ряд средств для внесения комментариев в тело программы. Во-первых, наличие символов (*) в первой колонке указывает на то, что карта содержит только комментарии и не будет просматриваться транслятором. Во-вторых, появление пробела в списке операндов означает окончание списка и начало коммен­тария. Информация, следующая после пробела в поле операндов, может содержать любые символы русского и латинского алфавитов и не подлежит просмотру транслятором.

  6. Вид блока указывается в «поле операции», где записываются аргументы блока. Это поле состоит из девяти частичных полей, помеченных буквами А, В, ..., I и разделенных друг от друга запятыми. Если некоторое частичное поле остается пустым, т. е. не нужен соответствующий аргумент, это отмечается еще одной запятой, например: PRINT, MOV. Здесь используется только аргумент МОV в частичном поле С (А и В пустые).

  7. Карта SIMULATE. Если нужно провести счет по составленной модели системы, то должна быть карта SIMULATE. Допускается две формы заполнения этой карты: SIMULATE и SIMULATE т, где т — число минут машинного времени, по истечении которого моделирование будет прекращено. Например, оператор SIMULATE5 определяет длительность счета модели, равную 5 мин. По истечении этого времени моделирование прекращается и на печать выдается накопленная к этому моменту статистическая информация. Если карты SIMULATE нет, то работа (JOB) будет закончена после окончания ассемблирования.

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

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

  10. Пример 1. Построить программу модели процесса прохождения 500 деталей, поступающих в промежутке времени 11 ± 5 единиц, распределенном по равномерному закону. Детали обрабатываются одним рабочим в течение 10 ± 7 единиц времени, распределенного по равномерному закону. После прохождения 300 деталей требуется выдавать статистику с интервалом в 25 деталей. Программа имеет вид (здесь и в других примерах моделирования справа дается комментарий):

SIMULATE Начать имитацию

GENERATE 11,5 Поступление деталей

SEIZE 1 Запуск

ADVANCE 10,7 Обработка

RELEASE 1 Выпуск

TERMINATE 1

START 275, NP Прогон без статистики

START 225,,25 Интервальные статистики

END

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

  2. Карта RESET. Результатом действия этой карты является то, что стирается вся статистическая информация, накопленная в процессе моделирования.

  3. Карта СLEAR. В результате действия этой карты стирается вся накопленная в процессе моделирования статистика и из системы удаляются все транзакты.

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

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

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

  7. QUEUE CHAN

  8. SEIZE CHAN

  9. Возможности языка расширяет косвенная адресация и косвен­ное описание, в которых используются индексы, применяемые в качестве номера п аргумента блока и в качестве индекса п СЧА, указываемого в некоторой из карт описания. Например: Q10— текущее содержимое очереди 10; S9— текущее содержимое памяти 9; FN2— значение функции 2.

  10. Для записи индекса надо использовать знак «*» и число после него. Индекс определяется значением параметра Рn транзакта, номер которого записан после * . Например:

  11. SEIZE * 6

  12. (т. е. занять устройство, индексный номер которого записан в параметре 6);

  13. Q *3

  14. (т. е. текущее содержимое очереди, индексный номер которой записан в параметре 3).

  15. Косвенная адресация и косвенное описание могут быть использованы совместно и порознь практически для любых аргументов различных типов блоков. Не могут быть описаны косвенно следующие аргументы: модификатор блока ADVANCE; номер параметра; приращение блока INDEX; мнемонические обозначения нижнего и верхнего предела блока PRINT; режим работы (допустимы только стандартные мнемонические обозна­чения); а также следующие блоки полей В и С в режиме ALL блока TRANSFER; начальный интервал задержки; счетчик числа генерируемых данным блоком транзактов; приоритет; модификатор блока GENERATE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]