Имитационное моделирование на языке GPSS. Методическое пособие по дисциплине "Компьютерное моделирование". Алтаев А.А. - 15 стр.

UptoLike

Составители: 

15
увеличивается на значение, определяемое полями A и B так же, как и в блоке
GENERATE, и транзакт переходит в список будущих событий;
¾ транзакт входит в один из блоков проверки условий типа if...then...else (GATE_R A, B
или TEST_T A, B), и условие не позволяет транзакту перемещаться дальше (наступает
условие блокировки), тогда транзакт переводится в список будущих событий;
¾ транзакт входит
в блок удаления TERMINATE.
Затем выбирается из списка текущих событий следующий транзакт и начинается его
продвижение по модели. Если становится невозможным продвижение всех транзактов из
списка текущих событий, то изменяется текущий момент времени (т. е. наступает время
следующего события или группы событий) и все сказанное выше повторяется.
Транзакты представляют собой описание динамических
процессов в реальных
системах. Они могут описывать реальные физические объекты, например автомобили в
очереди у бензозаправочной колонки.
Кроме того, транзакты могут описывать и нефизические (программные) объекты,
например канальные программы, порядок выбора в коммутационных схемах и т. д.
Транзакты можно «генерировать» и «уничтожать» в процессе моделирования системы S.
Основным атрибутом любого транзакта
являются его параметры, число которых для
каждого транзакта может быть от 0 до 1020.
Параметры обозначаются как РХi
4
, где iномер параметра, Хтип параметра (X —
может принимать значения в зависимости от форматов: F — «слово», Н — «полуслово», В
— «байт», L—«плавающая точка»).
Использование параметров определяется пользователем GPSS. Например, при
моделировании сети передачи данных программист может резервировать первый
параметр для значения длины сообщения, второйдля номера источника (терминала),
выдавшего это сообщение, и т
. д.
Важным атрибутом любого транзакта является уровень приоритета PR, изменяющийся
в пределах от 0 до 127. В случае, когда два транзакта соперничают при занятии данного
устройства, сначала обрабатывается тот, у которого приоритет выше. Если приоритеты у
обоих транзактов одинаковые, сначала обрабатывается тот, у которого время ожидания
обработки больше. В одном задании может выполняться
как один, так и несколько
прогонов одной модели. При этом текущим значением абсолютного времени модели АС1
будет называться суммарное время по всем реализованным прогонам, а текущим
значением относительного времени модели С1—системное время в пределах одного
прогона.
Время, в течение которого транзакт обрабатывается в процессе моделирования,
обозначается Ml и называется транзактным временем
. Оно определяет интервалы
времени: 1) с момента относительного времени; 2) с момента прохода транзакта через
блок MARK до текущего момента относительного времени.
Параметрическое транзактное время МРn вычисляется вычитанием из текущего
момента относительного времени значения n-го параметра данного транзакта типа РХ.
Моделирование и синхронизация параллельных процессов обеспечивается как
механизмами и средствами продвижения
транзактов по модели, так и дополнительными
средствами размножения и синхронизации во времени:
¾ программа моделирования может состоять из нескольких сегментов, в каждом из
которых транзакты порождаются и перемещаются независимо от других сегментов;
¾ существует блок копирования (размножения) семейства транзактов SPLIT A, B, C, D
(где A - количество копий транзакта; B - блок, в который переходят копии транзактов;
С -
параметр, в котором хранятся номера копий транзактов; D - количество
параметров, задаваемых копиям транзактов) с последующим перемещением их по
ветвям модели и сборкой либо в блоке GATHER Ag (Ag - количество собираемых
4
вторая форма записи - Pi
   увеличивается на значение, определяемое полями A и B так же, как и в блоке
   GENERATE, и транзакт переходит в список будущих событий;
¾ транзакт входит в один из блоков проверки условий типа if...then...else (GATE_R A, B
   или TEST_T A, B), и условие не позволяет транзакту перемещаться дальше (наступает
   условие блокировки), тогда транзакт переводится в список будущих событий;
¾ транзакт входит в блок удаления TERMINATE.
   Затем выбирается из списка текущих событий следующий транзакт и начинается его
продвижение по модели. Если становится невозможным продвижение всех транзактов из
списка текущих событий, то изменяется текущий момент времени (т. е. наступает время
следующего события или группы событий) и все сказанное выше повторяется.
   Транзакты представляют собой описание динамических процессов в реальных
системах. Они могут описывать реальные физические объекты, например автомобили в
очереди у бензозаправочной колонки.
   Кроме того, транзакты могут описывать и нефизические (программные) объекты,
например канальные программы, порядок выбора в коммутационных схемах и т. д.
Транзакты можно «генерировать» и «уничтожать» в процессе моделирования системы S.
   Основным атрибутом любого транзакта являются его параметры, число которых для
каждого транзакта может быть от 0 до 1020.
   Параметры обозначаются как РХi4, где i — номер параметра, Х — тип параметра (X —
может принимать значения в зависимости от форматов: F — «слово», Н — «полуслово», В
— «байт», L—«плавающая точка»).
   Использование параметров определяется пользователем GPSS. Например, при
моделировании сети передачи данных программист может резервировать первый
параметр для значения длины сообщения, второй — для номера источника (терминала),
выдавшего это сообщение, и т. д.
   Важным атрибутом любого транзакта является уровень приоритета PR, изменяющийся
в пределах от 0 до 127. В случае, когда два транзакта соперничают при занятии данного
устройства, сначала обрабатывается тот, у которого приоритет выше. Если приоритеты у
обоих транзактов одинаковые, сначала обрабатывается тот, у которого время ожидания
обработки больше. В одном задании может выполняться как один, так и несколько
прогонов одной модели. При этом текущим значением абсолютного времени модели АС1
будет называться суммарное время по всем реализованным прогонам, а текущим
значением относительного времени модели С1—системное время в пределах одного
прогона.
   Время, в течение которого транзакт обрабатывается в процессе моделирования,
обозначается Ml и называется транзактным временем. Оно определяет интервалы
времени: 1) с момента относительного времени; 2) с момента прохода транзакта через
блок MARK до текущего момента относительного времени.
   Параметрическое транзактное время МРn вычисляется вычитанием из текущего
момента относительного времени значения n-го параметра данного транзакта типа РХ.
   Моделирование и синхронизация параллельных процессов обеспечивается как
механизмами и средствами продвижения транзактов по модели, так и дополнительными
средствами размножения и синхронизации во времени:
¾ программа моделирования может состоять из нескольких сегментов, в каждом из
   которых транзакты порождаются и перемещаются независимо от других сегментов;
¾ существует блок копирования (размножения) семейства транзактов SPLIT A, B, C, D
   (где A - количество копий транзакта; B - блок, в который переходят копии транзактов;
   С - параметр, в котором хранятся номера копий транзактов; D - количество
   параметров, задаваемых копиям транзактов) с последующим перемещением их по
   ветвям модели и сборкой либо в блоке GATHER Ag (Ag - количество собираемых

  4
      вторая форма записи - Pi
                                                                                     15