Блоки gpss

Блок COUNT имеет следующий формат записи: COUNT <А>, <В>, <С>, [], [] где <Х> — обозначение логического или условного оператора. Данный операнд может принимать следующие значения: FNV, FV, I, LS, LR, NI, NU, SE, SF, CNE, SNF, SNV, SV, U, ‘Е’, ‘G’, ‘GE’. ‘L’, ‘E’, MIN, МАХ или ‘NE’. Блок COUNT определяет число объектов, удовлетворяющих заданному условию. Например, пользователю может понадобиться узнать число свободных устройств в определенном диапазоне номеров устройств или число памятей с коэффициентом использования меньше 50 (в частях от 1000) и т.д. Устройства имеют следующие логические условные операторы:

NU – устройство свободно (доступно); U – устройство занято (в результате выполнения сообщением блока SEIZE или PREEMPT); NI – устройство не прервано (т.е. либо оно свободно, либо занято сообщением, выполнившим блок SEIZE); I – устройство прервано (устройство занято сообщением, выполнившим блок PREEMPT); FV – устройство доступно; FNV – устройство недоступно. Многоканальные устройства имеют следующие логические условные операторы: SE – многоканальное устройство пусто; SNE – многоканальное устройство не пусто (ненулевое содержимое); SF – многоканальное устройство заполнено; SNF – многоканальное устройство не заполнено; SV – многоканальное устройство доступно; SNV – многоканальное устройство недоступно. Логические ключи имеют следующие логические операторы: LR – проверка ключа на состояние «выключено»; LS – проверка ключа на состояние «включено». При использовании логических операторов поля D и Е могут быть пустыми. В блоке COUNT можно использовать следующие условные операторы: ‘L’ – меньше. Условие выполняется, если значение стандартного числового атрибута, заданного в поле Е, меньше значения стандартного числового атрибута, заданного в поле D; ‘LE’– меньше или равно. Условие выполняется, если значение СЧА, заданного в поле Е, меньше или равно значению СЧА, заданного в поле D; ‘E’ – равно. Условие выполняется, если значение СЧА, заданного в поле Е, равно значению СЧА, заданного в поле D; ‘NE’– не равно. Условие выполняется, если значение СЧА, заданного в поле Е, не равно значению СЧА, заданного в поле D; ‘G’ – больше. Условие выполняется, если значение СЧА, заданного в поле Е, больше значения СЧА, заданного в поле D; ‘GE’– больше или равно. Условие выполняется, если значение СЧА. заданного в поле Е, больше или равно значению СЧА, заданного в поле D; МАХ – наибольшее значение из всех значений СЧА объектов, удовлетворяющих заданному условию; MIN – наименьшее значение из всех значений СЧА объектов, удовлетворяющих заданному условию. Если используются условные операторы, то поля D и Е блока COUNT должны быть заданы. В поле А задается номер параметра вошедшего в блок сообщения, в котором будет организован счетчик числа объектов. Операнд А может быть именем, положительным целым числом, СЧА или СЧА*<параметр>. 24 В поле В определяется нижняя граница диапазона изменения номеров или имен объектов, для которых проверяется заданное условие. Операнд В может быть именем, положительным целым числом, СЧА или СЧА*<параметр>. В поле С определяется верхняя граница диапазона изменения номеров или имен объектов, для которых проверяется заданное условие. Операнд С может быть именем, положительным целым числом, СЧА или СЧА*<параметр>. Значение поля С должно быть больше либо равно значению, заданному в поле В. Поле D задает сравниваемое значение (величина сравнения) для аргумента поля Е. Операнд D может быть именем, любым целым числом, СЧА или СЧА*<параметр>. Это значение используется совместно с заданными условными операторами (‘Е’, ‘NE’, ‘G’, ‘GE’, ‘L’, ‘LE’). Значение СЧА сравнивается со значением объекта, заданного аргументом поля Е. Если условный оператор не используется, поле D можно не задавать. Поле Е используется совместно с аргументом поля D и условным оператором. В поле Е задается какой-либо из стандартных числовых атрибутов просматриваемых объектов. Необходимо записывать мнемоническое обозначение атрибута, поскольку диапазон изменения номеров объектов задан полями В и С.

SELECT

https://naparah.com/modelirovanie-sistem/0725896.html

SELECT усл A, B,C, D,E, F

Здесь «усл» — условие. Оператор SELECT обнаруживает элемент модели, удовлетворяющий заданному условию, и записывает его номер в заданный параметр транзакта, вошедшего в этот оператор. Некоторые из условий, которые могут задаваться в операторе SELECT, следующие (полный список условий имеется в документации по GPSS/PC).

Состояния устройств: NU — устройство свободно; U — устройство занято; NI — устройство не находится в состоянии прерывания; I — устройство находится в состоянии прерывания; FV — устройство доступно; FNV — устройство недоступно;

Состояния многоканальных устройств: SE — многоканальное устройство пусто (т. е. в нем нет транзактов); SNE — многоканальное устройство не пусто; SF — многоканальное устройство заполнено; SNF — многоканальное устройство не заполнено; SV — многоканальное устройство доступно; SNV многоканальное устройство недоступно;

Операторы отношения: MAX — максимальное значение СЧА; MIN минимальное значение СЧА; L — меньше; LE — меньше или равно; E — равно; NE — не равно; G — больше; GE — больше или равно.

Назначение операндов оператора SELECT следующее.

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

B, C — нижняя и верхняя граница номеров объектов, для которых проверяется заданное условие.

D — величина, с которой сравнивается заданный СЧА объекта. Сам СЧА задается в операнде E. Операнд D требуется указывать только в случае, если в качестве «условия» указан оператор отношения.

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

F — метка оператора, на который должен перейти транзакт, если заданное условие не выполняется ни для одного из объектов модели (при выполнении условия для какого-либо объекта транзакт переходит на следующий оператор). Если операнд F не указан, то транзакт в любом случае переходит на следующий оператор. Если в качестве условия указаны операторы отношения MIN или MAX, то указывать операнд F не требуется, так как эти условия выполняются всегда.

Примечание. Если при составлении GPSS-модели предполагается выбирать какой-либо элемент модели (устройство, очередь, многоканальное устройство) с использованием оператора SELECT, то этому элементу модели необходимо присвоить номер, а не символьное имя.

Пример 2.11. Пусть в некоторой GPSS-модели имеются многоканальные устройства с номерами от 1 до 5. Требуется выбрать из них устройство, имеющее не менее двух свободных каналов, и записать номер этого устройства в третий параметр транзакта. Если такого устройства не окажется, то транзакт должен перейти на оператор с меткой KON. Эти действия реализуются следующим оператором SELECT:

SELECT GE 3,1,5,2,R, KON

Пример 2.12. На ВЦ поступают задачи для решения; интервал между задачами составляет от 2 до 4 часов. Решение одной задачи занимает от 2 до 6 часов. На ВЦ имеются три ЭВМ. К каждой ЭВМ формируется отдельная очередь задач, ожидающих решения. Задача, поступившая на решение, направляется на свободную ЭВМ, а если все ЭВМ заняты — то на ЭВМ, у которой самая короткая очередь. Требуется разработать GPSS-модель для анализа работы ВЦ в течение 100 часов.

Примечание. В данной модели нельзя имитировать ВЦ как многоканальное устройство, так как к каждой ЭВМ имеется своя очередь. Поэтому требуется имитировать каждую ЭВМ как отдельное устройство (однока-нальное).

10 SIMULATE

20 GENERATE 3,1

30 SELECT NU 1,1,3,,,SELQ

40 TRANSFER, RESH

50 SELQ SELECT MIN 1,1,3,,Q

60 RESH QUEUE P1

70 SEIZE P1

80 DEPART P1

90 ADVANCE 4,2

100 RELEASE P1

110 TERMINATE

120 GENERATE 100

130 TERMINATE 1

GPSS-модель работает следующим образом. Для устройств, имитирующих ЭВМ, используются числовые имена (номера) 1,2,3. Очереди к устройствам обозначаются такими же номерами. Транзакт из оператора GENERATE поступает в оператор SELECT NU 1,1,3,,,SELQ. В этом операторе из устройств с номерами 1,2,3 выбирается свободное устройство (это задается условием NU); номер такого устройства записывается в первый параметр транзакта. Если свободное устройство найдено, то транзакт переходит на следующий оператор (TRANSFER, RESH) и передается на метку RESH (на вход в очередь с номером, указанным в его первом параметре); такой транзакт не будет ждать в очереди и сразу же перейдет в оператор SEIZE P1, т. е. войдет в устройство с выбранным номером. Если свободное устройство не найдено, то транзакт передается на метку SELQ. В операторе SELECT MIN 1,1,3,,Q из очередей с номерами 1,2,3 выбирается очередь с минимальной длиной (СЧА Q — длина очереди). Номер очереди записывается в параметр 1. Затем транзакт входит в очередь с выбранным номером.

Важно отметить, что группа операторов с номерами 60-100 в данной модели имитирует работу не одного, а трех устройств (и трех очередей к ним); номера этих устройств содержатся в первом параметре обрабатываемых транзактов. Например, оператор QUEUE P1 означает вход в очередь, номер которой записан в первом параметре транзакта. В файле результатов для этой модели будут содержаться данные об очередях и об одноканальных устройствах с номерами 1,2,3.

Matrix

Наряду с ячейками в моделях на языке GPSS можно использовать матрицы ячеек. В отличие от простых ячеек матрицы перед использованием должны быть описаны. Для описания матрицы применяется строка описания матрицы. В поле метки этой строки записывается имя описываемой матрицы, в поле операции — слово MATRIX, в поле операндов — параметры матрицы: в поле A записывают любое слово или оставляют поле пустым, в поле В указывают число строк матрицы, в поле С — число столбцов. Например, описать матрицу ITOGI размерами 2 4 можно с помощью строки:

ITOGI MATRIX ,2,4.

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

После того как матрицы описаны, можно использовать в качестве СЧА индексированные переменные — ячейки этих матриц. Ячейка матрицы имеет обозначение вида MX$name(a,b), где name – имя матрицы , a — СЧА, значение которого задает номер строки матрицы, b — СЧА, задающий номер столбца. Например, обозначение MX$ITOGI(1,2) соответствует ячейке в первой строке и втором столбце матрицы ITOGI.

Запись значений в ячейки матриц осуществляется с помощью блоков MSAVEVALUE. Поле A этого блока задает имя матрицы, поле В — номер строки, поле С — номер столбца, поле D — записываемое значение.

Например, при входе транзакта в блок

MSAVEVALUE ITOGI,2,4,V$ABC

в матрицу ITOGI коротких ячеек (в ячейку, расположенную на пересечении второй строки и четвертого столбца) записывается значение переменной V$ABC.

В поле A блока MSAVEVALUE после имени матрицы может быть приписан знак + или — . В этом случае значение операнда D добавляется или соответственно вы-читается в ячейке матрицы, аналогично тому, как это делается в блоке SAVEVALUE.

Задание начальных значений ячеек и матриц

Начальные значения ячеек можно сделать отличными от нуля. Для этого применяется строка описания ячеек INITIAL. В поле A этой строки указывается СЧА, обозначающий ячейку или ячейку матрицы, в поле B – задаваемое начальное значение.

Например, строка

INITIAL X1,-10

установит в качестве начального значения ячейки номер 1 число –10, а с помощью строки

INITIAL MX$ITOGI(2,3),555

устанавливается начальное значение 555 в ячейку матрицы MX$ITOGI, расположенную во второй строке, третьем столбце.

LINK,UNLINK

https://intuit.ru/studies/courses/643/499/lecture/11361?page=4

guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

СТАТЬИ БЛОГА ПО РУБРИКЕ И МЕТКАМ

img

Модель A12 Anylogic. Сеть пятого поколения 5g

К сети подключаются разные типы устройств:звонилки,смартфоны,авто,iOT. На первом уровне происходит соединение, как в обычной состовой сети, с базовыми станциями и коммуникаторами. Затем в зависимости от запроса, если нужно, на уровне виртуализации предоставляется доступ к нужной сети для получения требуемой услуги:мобильный интернет, интернет вещей, automotive. Далее создаётся трафик абонент/датацентр…

Требования к программе:

  1. моделируются все три слоя сети
  2. моделируются три потока – звонки, трафик, служебную информацию.
  3. учитывается спецификация сети 5-го поколения
  4. с одного слоя на другой переходят три точки, но разного цвета (три переменные)
  5. производится обмен разными данными между слоями
  6. моделируется регулятор нагрузки сети
  7. в вертикальном плане точки двигаются параллельно, например, выходить из cloud, а потом – подниматься на верхние уровни от базовых станций или о спутниковой тарелки
  8. виртуальных машины в облаке работают с сегментами сети.

Модель A12 Anylogic. Сеть пятого поколения 5g

К сети подключаются разные типы устройств:звонилки,смартфоны,авто,iOT. На первом уровне происходит соединение, как в обычной состовой сети, с базовыми станциями и коммуникаторами. Затем в зависимости от запроса, если нужно, на уровне виртуализации предоставляется доступ к нужной сети для получения требуемой услуги:мобильный интернет, интернет вещей, automotive. Далее создаётся трафик абонент/датацентр...
Требования к программе:
  1. моделируются все три слоя сети
  2. моделируются три потока – звонки, трафик, служебную информацию.
  3. учитывается спецификация сети 5-го поколения
  4. с одного слоя на другой переходят три точки, но разного цвета (три переменные)
  5. производится обмен разными данными между слоями
  6. моделируется регулятор нагрузки сети
  7. в вертикальном плане точки двигаются параллельно, например, выходить из cloud, а потом – подниматься на верхние уровни от базовых станций или о спутниковой тарелки
  8. виртуальных машины в облаке работают с сегментами сети.
img

Как строить графики plot средствами gpss

1. Закомментировать оператор start
2. Зайти в верхнее меню Команды -> Создать Моделирование
3.Зайти в верхнее меню Окно-> Окно Моделирование -> Окно Участка
4. В открывшемся окне заполняем поля разделов
4.1. «Новое выражение»:
а) метка для символьного обозначения;
б) выражение, из которого будет строиться график, например, СЧА ячейки сохраняемой величины. Информация по другим СЧА здесь https://hqline.ru/standartnye-chislovye-atributy-scha-blokov-gpss/;
4.2. «Содержание окна»:
А) метка для символьного обозначения графика,
Б) временной диапазон для фиксации предела прорисовки по гориз.оси,
мин. и макс. значения по вертикальной оси,
4.3 Нажать на кнопки «участок» для добавления выражения в отображении графика, нажать на кнопку «Запомнить» для сохранения всех параметров графика пока запущено моделирование.

Как строить графики plot средствами gpss

1. Закомментировать оператор start
2. Зайти в верхнее меню Команды -> Создать Моделирование
3.Зайти в верхнее меню Окно-> Окно Моделирование -> Окно Участка
4. В открывшемся окне заполняем поля разделов
4.1. «Новое выражение»: а) метка для символьного обозначения;
б) выражение, из которого будет строиться график, например, СЧА ячейки сохраняемой величины. Информация по другим СЧА здесь https://hqline.ru/standartnye-chislovye-atributy-scha-blokov-gpss/;
4.2. «Содержание окна»:
А) метка для символьного обозначения графика,
Б) временной диапазон для фиксации предела прорисовки по гориз.оси, мин. и макс. значения по вертикальной оси,
4.3 Нажать на кнопки «участок» для добавления выражения в отображении графика, нажать на кнопку «Запомнить» для сохранения всех параметров графика пока запущено моделирование.
img

Примеры ТЗ на имитационное моделирование

1.Прежде всего, опишите моделируемый процесс поэтапно последовательностью шагов, указывая информацию, важную для создания имитации (длительности стадий, частота повторения событий и т.п). Например,

больные приходят в поликлинику в среднем каждые 12 мин и обращаются в регистратуру за талоном к врачу или за медицинской карточкой. Регистратор обслуживает посетителя в среднем в течение 3 мин. Врачу выделяется на каждого больного в среднем по 12 мин.

2.Сформулируйте проблему, которую хотите решить с помощью имитационного моделирования. Например,

Таким образом, проблема возникновения очереди происходит в момент прохождения больным регистратуры и в большей степени в момент прохождения врача. После обслуживания больной уходит из поликлиники.

3. Определитесь с искомыми показателями, которые нужно посчитать в итоге, чтобы решить проблему. Например,

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

Примеры ТЗ на имитационное моделирование

1.Прежде всего, опишите моделируемый процесс поэтапно последовательностью шагов, указывая информацию, важную для создания имитации (длительности стадий, частота повторения событий и т.п). Например,

больные приходят в поликлинику в среднем каждые 12 мин и обращаются в регистратуру за талоном к врачу или за медицинской карточкой. Регистратор обслуживает посетителя в среднем в течение 3 мин. Врачу выделяется на каждого больного в среднем по 12 мин.

2.Сформулируйте проблему, которую хотите решить с помощью имитационного моделирования. Например,

Таким образом, проблема возникновения очереди происходит в момент прохождения больным регистратуры и в большей степени в момент прохождения врача. После обслуживания больной уходит из поликлиники.

3. Определитесь с искомыми показателями, которые нужно посчитать в итоге, чтобы решить проблему. Например,

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

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x