Версия 2, книга 1 (Система программного обеспечения на языке GPSS), страница 5
Описание файла
Файл "Версия 2, книга 1" внутри архива находится в папке "Система программного обеспечения на языке GPSS". Текстовый-файл из архива "Система программного обеспечения на языке GPSS", который расположен в категории "". Всё это находится в предмете "имитационное моделирование дискретных процессов" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "имитационное моделирование дискретных процессов" в общих файлах.
Просмотр 5 страницы текстового-файла онлайн
- 9 -
рабля, находящегося на причале, впоследствии разгрузка этого кораб-
ля возобновится. Такое прерывание можно легко представить средства-
ми GPSS/PC, поскольку устройство в GPSS/PC тоже может быть временно
прервано другим сообщением. Само устройство в логических и статис-
тических целях продолжает считаться занятым. После окончания преры-
вания автоматически возобновляется обслуживание прерванного сообще-
ния.
1.2.4. Многоканальные устройства
В GPSS/PC многоканальные устройства представляют объекты типа
"оборудование" для параллельной обработки, они могут быть использо-
ваны несколькими сообщениями одновременно. Многоканальные устройст-
ва используются для представления физического оборудования, напри-
мер, зрительного зала театра, стоянки автомобилей и, в некоторых
случаях, основной памяти в системах для обработки данных. Пользова-
тель определяет емкость каждого многоканального устройства, исполь-
зуемого в модели, а интерпретатор ведет учет числа единиц многока-
нальных устройств, занятых в каждый момент времени. Если сообщение
пытается занять больше единиц многоканального устройства, чем сво-
бодно в данный момент, обработка этого сообщения задерживается до
того момента, пока в многоканальном устройстве освободится доста-
точный объем.
Программа автоматически ведет подсчет числа сообщений, входя-
щих в многоканальное устройство. Определяется также среднее число
единиц многоканальных устройств, занятых одним сообщением, и сред-
нее время пребывания сообщения в многоканальном устройстве. Эти
статистические данные выдаются в конце счета и позволяют опреде-
лить, насколько эффективно используются в системе объекты парал-
лельной обработки и достаточна ли их емкость.
1.2.5. Логические ключи
Ранее происходившие в системе события могут заблокировать и
изменить движение последующих событий. Например, кассир кинотеатра,
уходя на обед, ставит табличку "К следующему окну", и все последую-
щие клиенты обращаются в другую кассу. Для моделирования таких си-
туаций введены логические ключи. Сообщение может устанавливать эти
ключи в положение "включено" или "выключено". Впоследствии состоя-
ние ключа может быть проверено другими сообщениями для определения
пути их следования.
Сообщение может установить ключ (установка ключа соответству-
ет состоянию "включено"), сбросить его (состояние "выключено") или
инвертировать, т.е. изменить на противоположное значение состояния
ключа. Состояние ключа может быть изменено любым другим сообщением,
и любое сообщение может использовать состояние ключа для выбора од-
ного из двух возможных путей или ожидать момента изменения состоя-
ния ключа.
1.2.6. Арифметические переменные
Арифметические переменные позволяют вычислять арифметические
выражения, состоящие из стандартных числовых атрибутов (СЧА), кото-
рые описаны ниже. Запись выражения переменной аналогична записи со-
ответствующих операторов языка Фортран. В выражении переменной ис-
пользуют операторы, арифметические действия и вызовы библиотечных
функций.
1.2.7. Булевские переменные
Булевские переменные позволяют пользователю проверять в одном
блоке GPSS/PC одновременно несколько условий, исходя из состояния
или значения объектов и их атрибутов. То есть, в данном блоке про-
изводится обращение к булевской переменной, выражение которой со-
держит в себе проверку нескольких условий. Булевская переменная
имеет значение 1, если выражение переменной истинно, и 0, если вы-
- 10 -
ражение переменной ложно.
1.2.8. Выражения
Выражениями, используемыми в арифметических и булевских пере-
менных, являются комбинации математических операторов, библиотечных
функций, СЧА и констант, составленные по правилам элементарной ал-
гебры. Выражения вычисляются слева направо с учетом иерархии опера-
ций. Оценка арифметических выражений производится в формате с пла-
вающей точкой с двойной точностью (64 бита). Результат оценки усе-
кается и хранится как целое число. Ниже, в угловых скобках, приво-
дятся операторы и библиотечные функции, используемые в выражениях в
порядке, соответствующем их применению при оценке выражений:
<-> - знак минус;
<'NOT'> - логическое отрицание: 1 (TRUE), если операнд 0;
0 (FALSE),если не ноль;
<ABC()> - абсолютное значение операнда;
<ATN()> - арктангенс операнда в радианах;
<COS()> - косинус операнда в радианах;
<INT()> - целая часть;
<EXP()> - экспонента операнда;
<LOG()> - натуральный логарифм операнда;
<SIN()> - синус операнда в радианах;
<SQR()> - квадратный корень из операнда;
<TAN()> - тангенс операнда в радианах;
<'AND'> - оператор логического умножения: 1 (TRUE), если оба
операнда не нулевые,0(FALSE) - в противном случае;
<'OR'> - оператор логического сложения: 1 (TRUE), если один
из операндов не нулевой, 0 (FALSE) - в противном
случае;
<'G'> - оператор отношения "больше";
<'L'> - оператор отношения "меньше";
<'E'> - оператор отношения "равно";
<'NE'> - оператор отношения "не равно";
<'LE'> - оператор отношения "меньше или равно";
<'GE'> - оператор отношения "больше или равно";
< ^ > - оператор возведения в стенень;
< # > - оператор арифметического умножения;
< / > - оператор арифметического деления;
< \ > - оператор деления нацело;
< @ > - оператор деления по модулю;
< + > - оператор арифметического сложения;
< - > - оператор арифметического вычитания;
Выражение может иметь длину до 80 символов.
1.2.9. Функции
Используя функции, пользователь может производить вычисления
непрерывных или дискретных функциональных зависимостей между аргу-
ментом функции (независимая величина) и зависимым значением функ-
ции. Функции широко применяются, например, для задания случайного
интервала времени между генерацией двух сообщений. Все функции в
GPSS/PC задаются табличным способом с помощью специальных операто-
ров описания функции.
1.2.10. Ячейки сохраняемых величин и матрицы ячеек
сохраняемых величин
Ячейки сохраняемых величин и матрицы ячеек сохраняемых вели-
чин также относятся к объектам GPSS/PC. Эти ячейки используются для
сохранения некоторой числовой информации. Например, значение, зане-
сенное в ячейку, может представлять собой длину очереди в какой-то
конкретной точке модели. Любое сообщение может произвести запись
информации в эти объекты. Впоследствии, записанную в эти объекты
- 11 -
информацию может считывать любое сообщение.
Например, в случае моделирования работы порта для построения
зависимости ожидания кораблей в очереди определенной длины от вре-
мени, достаточно через каждые Х единиц времени (Х задается пользо-
вателем) заносить значение длины очереди в ячейки (каждое значение
в отдельную ячейку). В конце счета значения этих ячеек будут распе-
чатаны, и по ним может быть построена искомая зависимость.
1.2.11. Очереди
В любой системе движение потока сообщений может быть задержа-
но из-за недоступности оборудования. Например, требуемые устройства
могут быть уже заняты или многоканальные устройства, в которые нуж-
но войти, уже заполнены. В этом случае задержанные сообщения ста-
вятся в "очередь" - еще один тип объектов GPSS/PC. Учет этих очере-
дей составляет одну из основных функций интерпретатора GPSS/PC.
Пользователь может определить специальные точки в модели, в
которых нужно собирать статистику об очередях. Тогда интерпретатор
GPSS/PC автоматически будет собирать статистику об очередях (длину
очереди, среднее время пребывания в очереди и т.д.). Число задер-
жанных сообщений и продолжительность этих задержек определяется
только в этих заданных точках. Интерпретатор также автоматически