Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Моделирование систем. Практикум

.pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
17.79 Mб
Скачать

Номер

Номер

Номер

Время

Время

транзакта

текущего

следующего

выхода

Приоритет помещения

 

блока

блока

из списка

в список

 

Р и с

22 Структура списка

GPSS/PC

ройств (свободно, занято, прервано, не прервано). Захват (на обра­ ботку) и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE. Прерывание устройства моделирует блок PREEMPT, снятие прерывания — блок RETURN. Проверка состояния устройства осуществляется блоком GATE.

Памяти. Память, или емкость накопителя, служит для модели­ рования реальных объектов, обладающих конечной величиной числа сообщений (транзактов), ожидающих своей очереди на об­ работку. Память моделируется блоками ENTER и LEAVE, а также оператором STORAGE, который задает емкость памяти (накопи­ теля). Проверка состояния памяти осуществляется блоком GATE.

Логические ключи. Логические ключи служат для моделирова­ ния объектов с двумя логическими состояниями «включено», «вы­ ключено». Управление ключами осуществляется транзакгами, продвигающимися по модели. Транзакт может установить ключ в состояние «включено», сбросить его — перевести в состояние «выключено» или инвертировать, т. е. изменить состояние ключа на противоположное значение. Логические ключи моделируются блоками LOGIC и GATE.

Очереди. Если в системе Уможет происходить задержка в про­ движении сообщения или задержка в его обработке, то тогда воз­ никает очередь. Для сбора и регистрации статистики об очередях в моделирующей системе ставят блоки QUEUE и DEPART. При вхо­ де сообщения (транзакта) в блок QUEUE текущая длина очереди получает приращение. Уход сообщения из очереди отображается блоком DEPART.

Таблицы. Для сбора различного рода статистических данных и их регистрации используют таблицы, которые моделируются бло­ ком TABULATE и оператором TABLE. Занесение интересующей информации в таблицу осуществляется блоком TABULATE в мо­ мент входа очередного транзакта в этот блок. Описание структуры таблицы и типа заносимых данных (стандартизированных самой системой GPSS) осуществляется оператором TABLE.

Ячейки. В системе GPSS/PC для сохранения некоторой число­ вой информации используются ячейки. Бывают ячейки сохраняе­ мых величин и матрицы ячеек сохраняемых величин. Начальные значения ячеек и матриц можно задавать при помощи оператора описания INITIAL. Размер матрицы задается оператором описа­

31

ния MATRIX. Изменение содержимого ячеек осуществляется бло­ ками SAVEVALUE и MSAVEVALUE. Блок SAVEVALUE использу­ ется для замены, увеличения или уменьшения текущего содержи­ мого заданной ячейки, блок MSAVEVALUE — для записи значе­ ний в матрицы, а также для увеличения или уменьшения значений, записанных в матрицах.

Функции и переменные. Функции и переменные в GPSS/PCот­ носятся к вычислительным объектам. В GPSS/PC имеется три типа переменных: арифметические переменные; арифметические пе­ ременные с плавающей точкой; булевские переменные.

В арифметических переменных, как уже отмечалось, использу­ ются следующие арифметические операции:

+ — алгебраическое сложение;

-----алгебраическое вычитание;

# — алгебраическое умножение; Л— возведение в степень;

/ — алгебраическое деление, остаток отбрасывается; при этом сохраняется только частное (прямой слэш);

\— деление нацело (обратный слэш);

@— деление по модулю.

Все функции в GPSS/PC задаются табличным способом с по­ мощью специальных операторов описания функций (непрерыв­ ного или дискретного типа).

Арифметические переменные с фиксированной точкой и с плавающей точкой описываются соответственно операторами VARIABLE и FVARIABLE. Только при описании переменных с плавающей точкой (FVARIABLE) допускается применение дроб­ ных констант.

Булевские переменные представляют собой логические выраже­ ния. Булевские переменные описываются оператором BVARIABLE с соответствующими операторами отношений или условий. В булев­ ских переменных используются три типа операторов: логические (для определения состояния объектов), булевские (OR — опера­ тор логического сложения и AND — оператор логического умно­ жения) и операторы отношения (G — больше, L — меньше, Е — равно, NE — не равно, LE — меньше или равно, GE — боль­ ше или равно). Булевские переменные дают возможность прини­ мать решения в зависимости от состояния и значения многих объ­ ектов, входящих в моделирующую систему GPSS/PC.

В арифметических и булевских переменных могут также ис­ пользоваться библиотечные функции и выражения следующего вида:

SIN(...) — синус,

32

COS(...) — косинус,

TAN(...) — тангенс, ATN(...) — арктангенс, EXP(...) — экспонента,

LOG(...) — натуральный логарифм, SQR(...) — квадратный корень, АВС(...) — абсолютное значение, ШТ(...) — целая часть,

NOT — логическое отрицание.

Функции GPSS/PC описываются оператором FUNCTION, че­ рез который задается тип функции (непрерывный или дискрет­ ный) и количество пар точек, задаваемых в следующих строках по­ сле строки с оператором FUNCTION.

Операторы, применяемые в программах GPSS/PC, обычно располагаются за телом основной программы, т. е. либо до блока GENERATE, либо после блока TERMINATE (см. рис. 2.1). При этом для них необязательна нумерация строк, которая применяет­ ся в теле основной программы.

2.2.3. Форматы описания блоков и операторов GPSS/PC

Блоки (рис. 2.1) составляют основное тело программы GPSS/PC. Блоки должны нумероваться по мере их появления в программе, т. е. номер каждого последующего блока должен быть больше предыдущего. Нумерация блока подразумевает номер строки, в которой осуществляется формат записи блока. Нумера­ ция строк, в которых записываются служебные слова того или иного оператора, не обязательна. Формат записи:

<№>_<метка>_БЛОК_<А>,<В>,<С>,[<К>]; Комментарии

Описание начинается с номера строки (№), отсчет которых на­ чинается сверху вниз, после пробела (указан символ _) помещает­ ся по необходимости метка блока, которая должна начинаться с буквы и содержать не более пяти алфавитно-цифровых символов. После метки или, если она отсутствует, после номера строки сле­ дуют два пробела, после которых указывается имя блока (БЛОК). Далее после одного пробела располагаются операнды, разделен­ ные запятыми. В литературе в описаниях программ обязательные операнды помещают в символы: больше >, меньше < (операнды А, В, С), необязательные операнды помещают дополнительно еще в квадратные скобки, как, например, для операнда D. Количество операндов определяется типом блока и его функциональным на-

3- 3083

33

значением в данной программе. Если рабочая строка заканчивает­ ся точкой с запятой (;), то далее в этой строке можно поместить комментарии. Комментарий может помещаться в строке, в первой позиции (колонке) которой будет находиться звездочка (*). Звез­ дочки часто используют для логического разделения фрагментов программы, удобства чтения и восприятия. Какую-то строку мож­ но, начиная с первой позиции, полностью заполнить звездочками.

Формат записи операторов имеет следующий вид:

[м етк а]_ 0П Е Р А Т 0Р _ < А > ,< В > ,< С > )< 0 > ,...; Комментарии

Операторы GPSS/PC подразделяются на операторы описания данных и контроля управления. В отдельную группу операторов выделяются команды GPSS/PC. Описание начинается с метки (ал­ фавитно-цифровая не более 5 знаков), после которой достаточно проставить один пробел и затем имя оператора. После имени опе­ ратора через один пробел указываются операнды. Комментарии пишутся после точки с запятой. Количество операндов различно для разных операторов. Для некоторых операторов метка не ста­ вится. В выходной статистике GPSS/PC строки с операторами не фиксируются и не указываются. Для записи операторов можно ис­ пользовать нумерованные строки, но они также не будут присутст­ вовать в выходной статистике. Формат записи операторов с нуме­ рованными строками будет приведен позднее при рассмотрении конкретных программ на GPSS/PC.

2.2.4. Стандартные числовые атрибуты

Все элементы, используемые в GPSS/PC, имеют специальные числовые характеристики, которые называются стандартными чи­ словыми атрибутами (СЧА). Например, для различия одного сооб­ щения от другого можно применить такой числовой атрибут, как приоритет. Каждый транзакт (сообщение) может иметь несколько параметров, по которым они отличаются друг от друга. Транзакты имеют четыре СЧА:

PR — приоритет по умолчанию равен нулю;

Pj или *j, или *<имя>, или *$<имя> — значение параметра) те­ кущего сообщения или значение параметра с именем <имя> теку­ щего транзакта. Этот СЧА задает номер 0) или имя параметра транзакта;

MPj — значение времени, равное разности абсолютного мо­ дельного времени, и величины, записанной B J - M параметре теку­ щего транзакта. Разница может быть как положительной, так и от­ рицательной;

34

MBj — флаг синхронизации: присваивается 1, если транзакт в блоке] принадлежит тому же семейству, что и текущий транзакт; в противном случае присваивается 0. Синхронизация отмечается между сопряженными блоками MATCH.

Таким образом, транзакты могут идентифицироваться по за­ данным СЧА. Значения СЧАдлятранзактов задаются разработчи­ ком (//^-программы.

Другие объекты GPSS/PC, как и транзакты, имеют соответст­ вующие наборы СЧА: блоки, устройства, многоканальные устрой­ ства, очереди, таблицы, ячейки и матрицы сохраняемых величин, списки и группы, вычислительные объекты. Для изменения значе­ ний некоторых атрибутов к ним можно обращаться программным путем согласно логике рассматриваемой модели. По мере изуче­ ния системы GPSS/PC будут проводиться СЧА соответствующих объектов. Весь список СЧА приведен в Приложении 3.

В GPSS/PCеще существуют так называемые системные СЧА, к которым пользователь может обращаться в модели, но не может изменять их значение. К системным числовым атрибутам относят­ ся следующие величины:

С1 — текущее значение условного времени. Автоматически изменяется программой и устанавливается в ноль управляющими операторами CLEAR и RESET;

АС1 — текущее значение абсолютного времени. Автоматиче­ ски изменяется программой. Эта величина не меняется под дейст­ вием управляющего оператора RESET и устанавливается в 0 лишь под действием оператора CLEAR;

M l — время пребывания в модели сообщения, обрабатывае­ мого программой в данный момент. Эта величина может изме­ няться блоком MARK. Величина M l вычисляется как разница те­ кущего значения абсолютного времени и отметки времени обраба­ тываемого транзакта;

Z1 — возвращает размер свободной оперативной памяти в байтах;

XN1 — возвращает номер активного транзакта;

TG1 — число, равное текущему значению счетчика заверше­ ний. Транзакты, вошедшие в блоки TERMINATE с нулевым опе­ рандом <А>, уменьшают значение этого счетчика на число, равное значению операнда <А>;

PR — приоритет обрабатываемого вданный момент транзакта. По умолчанию приоритет равен нулю. Эта величина может изме­ няться (назначаться) блоком PRIORITY;

RNj — число, вычисляемое j генератором (датчиком) случай­ ных чисел (j = 1,7 т. е. RN1, RN2,..., RN7). Все датчики генерируют

у

35

последовательность (одного и того же периода) равномерно рас­ пределенных чисел от 0 до 999 включительно. Если число исполь­ зуется в качестве аргумента функции или элемента в переменной, то тогда осуществляется генерация случайных равномерно распре­ деленных чисел в пределах от 0 до 0.999999.

Следует отметить, что СЧА (включая системные числовые ат­ рибуты), т. е. их символьные обозначения, нельзя использовать в качестве меток операторов и блоков программы GPSS/PC.

С помощью СЧА осуществляется дополнительное специаль­ ное кодирование операторов и блоков GPSS/PC. Практически всегда СЧА можно использовать в качестве операндов блоков и большинства операторов.

В GPSS/PCстандартные числовые атрибуты имеют следующие объекты: блоки, устройства, многоканальные устройства, очере­ ди, таблицы, ячейки и матрицы ячеек сохраняемых величин, спи­ ски и группы, вычислительные объекты (СЧА вычисленного зна­ чения функции, СЧА вычисленного значения переменной). С по­ мощью СЧА пользователь получает доступ к характеристикам со­ стояния системы S в процессе моделирования.

2.3.СИСТЕМНЫЕ ТРЕБОВАНИЯ

ИИНТЕГРИРОВАННЫЕ ОБОЛОЧКИ GPSS/PC

Программный комплекс GPSS/PC версии 2.0, разработанный фирмой MINUTEMAN Software, функционирует под управлени­ ем операционной системы MS DOS, состоит из двух исполняемых файлов и файлов настройки и занимает 540 Кбайт дискового про­ странства. Система GPSS/PC2.0успешно работает на платформе типа IBM PC с объемом оперативной памяти 1 Мбайт.

Экранный интерфейс GPSS/PC2.0 не совсем удобен для про­ ведения имитационных экспериментов с моделями систем S. По­ этому вряде высших учебных заведений России были разработаны интегрированные оболочки, которые включают в себя текстовый редактор, многооконный интерфейс для отладки и просмотра от­ четов. Одна из популярных интегрированных оболочек подобного рода — TGPSS — разработана в Московском государственном техническом университете им. Н.Э. Баумана. Экранная форма этой оболочки представлена на рис. 2.3. Она содержит следующие пункты меню:

Файл, Редактирование, Поиск, Моделирование, Отчет, Окно, Опции F1 — Помощь, F2 — Сохранить, F3 — Открыть, F7 — Отчет,

F9 — Моделирование, F10 — Меню.

36

TGPSS

9 x 15 3 I |<Si ^

В eg s

A !

__Фаил_ Редактирование

Поиск

Моделирование Отчет _Окно Опц.ии_

" шPs-I-==-ssn£^shS£h=sK=ssJSHbiiniJUа ш

ш

 

ш 9"

S^-gJg CTHgg^

ЬГ=Г= S§g=

 

=Яг^1иЁ^=«^=а^^£Чд^ШШЙ|ас-«^д1Ьм1 ra.m B5a««l^!!ii;Lll5!!!3

Ti-T =-_“ТГ-

=2ш.ЕЧЬ~?S3=TJ“ !f™ = aja

3 y s fs . j§™!«р1ЧЭi=l-H := =r

A ^F ^S o M 'lb '^Jib llj^^C -2 §= 1 s£s

^ ““ГдА- ISLl :

s> . ti- -“—»

B tu luin. Me*rs.

----------4: млШЩШЦ1 ISIM*IIIUIUIUIUI^

s? м л - e uctti i nc.3iminmtLibiM _ M

P I Помощь F2 Сохранить

F i Открыть

F7 Отчет F9 Моделирование

F10 Меню

Р и с

2 3

О сновная

экранная ф орм а T G P SS

 

Оболочка имеет два режима работы: реальный и защищенный и занимает 390 Кбайт дискового пространства. В этом же универ­ ситете разработана обучающая и контролирующая программа SimTG, также функционирующая под управлением MS DOS. Она дополнена большим количеством тестовых примеров, занимает 155 Кбайт дискового пространства, не считая файлов тестовых примеров.

В Санкт-Петербургском государственном электротехниче­ ском университете «ЛЭТИ» разработана автоматизированная обу­ чающая система (АОС) EITut, которая включает в себя гипертек­ стовую версию комплексного электронного учебника, т. е. непо­ средственно учебник «Моделирование систем» и учебное пособие «Моделирование систем. Практикум», которая используется в учебном процессе при проведении практических занятий, лабора­ торного практикума и курсового проектирования [12, 16, 19, 22]. Разработанная АОС занимает 785 Кбайт дискового пространства, включая тестовые примеры каждой из лабораторных работ и вари­ антов курсовой работы, реализованные на языке GPSS/PC 2.0 с интегрированной оболочкой TGPSS. Установочные файлы про­ граммы EITut доступны для пользователей Internet по ссылке pttp://eltech.ru/main/asoiu/simsys.htm.

С учетом того что операционные системы типа WIN 32 в на­ стоящее время фактически вытеснили MS DOS, а вариант языка GPSS для Windows 95/98/2000 является дорогостоящим, поэтому

37

[CAGPSS РС\СР LR\S_Yak_Lat)1 GPSJ

Я13КЭ1

1ц&Файл Правке Объекты Моделирование Окно 2

■=jsl *J

Р и с 2 4 О сновная экранная ф орм а DipPro

GPSS/PC2.0 по-прежнему находит широкое применение на плат­ форме WIN 32. В Мордовском государственном университете была разработана интегрированная оболочка GPSS/PC2.0 для платформы WIN 32 DipPro. Особенностью этой оболочки является наличие HELP-файла по языку моделирования GPSS/PC. Основ­ ная экранная форма DipPro представлена на рис. 2.4. Она содержит следующие пункты меню:

Ф айл, Правка, Объекты, М оделирование, Окно, Помощь (?).

Программа DipPro занимает 1,38 Мбайт дискового пространства, установочные файлы 1 Мбайт дискового пространства. Следует доба­ вить, что в процессе инсталляции программа установки автоматиче­ ски определяет местоположения на диске файлов GpssPc.ExE и GpssRepT.ExE, при их отсутствии инсталляция прерывается. Устано­ вочные файлы программы DipPro доступны для пользователей по ссылке http://phaeton.mrsu.ru/university/main/chairs/fet/default.htm.

Более детально с особенностями использования при модели­ ровании информационных систем S языка моделирования GPSS/PC можно ознакомиться в последующих главах данного учебного пособия, а также воспользоваться обучающей и контро-

38

лирующей программой SimTG, разработанной в Московском го­ сударственном техническом университете им. Н.Э. Баумана, и ав­ томатизированной обучающей системой ElTut, разработанной и внедренной в учебный процесс в Санкт-Петербургском государст­ венном электротехническом университете «ЛЭТИ» и включаю­ щей гипертекстовую версию комплексного электронного учебни­ ка, т. е. непосредственно учебник «Моделирование систем» [12] и учебное пособие «Моделирование систем. Практикум» [16] (http://eltech.ги/main/asoiu/simsys.htm).

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.

Что

представляет и з

себя блок-диаграм м а GPSS^

 

 

2.

В

чем заключается

принцип

организации

системы

моделирования

G P S S /P C

 

 

 

 

 

 

3.

Что

представляют из

себя объекты в м оделируемой

систем е SP

4.

Как

м ож но определить понятие

«транзакт»

в систем е

м оделирования

G P S S /P C >

 

 

 

 

 

 

5. Что

называется устройством в язы ке моделирования

G P S S /P C 7

6. Что

представляет из

себя интегрированная оболочка

G P S S /P C ?

Глава 3

ПРОГРАММИРОВАНИЕ ИМИТАЦИОННЫХ МОДЕЛЕЙ В СРЕДЕ G P S S /P C

В третьей главе рассмотрены элементы программирования в системе G P S S /P C с целью раскрытия функционального назначения основных объектов G P S S /P C и форматы описания применяемых блоков, операторов и т . д. Одной из особенностей системы G P S S /P C являет ся автоматическое формирование некоторой стандартной выходной статистики по используемым в программе (модели) элементам . Усложнение программ приведено по мере привлечения дополнительных операторов и блоков, а т акж е по м ере расш ирения их ф унк­ циональных возмож ностей. При эт ом дет ально анализируется ст андарт ­ ная выходная статистика, кот орая авт омат ически выводится системой G PSS/PC . Объекты G P SS /P C принято разбиват ь на категории, которые объ­ единяют несколько блоков и операторов В G P S S /P C можно выделить следую ­ щие категории объектоваппаратная, динамическая, вычислительная, ст а­ тистическая, запоминающая и группирующ ая категории. Рассмотрена т ех­ нология применения языка G P S S /P C при выполнении практикума, приведена информация об ошибках, выявляемых системой G P SS/P C , как на эт апе ас­ семблирования, т ак и на эт апе исполнения программы

3.1. ПРОГРАММИРОВАНИЕ ДЛЯ АППАРАТНОЙ

И ДИНАМИЧЕСКОЙ КАТЕГОРИЙ ЯЗЫКА МОДЕЛИРОВАНИЯ GPSS/PC

Анализ функциональных возможностей объектов аппаратной и динамической категорий приведем на примерах элементарных типовых ситуаций, характерных для систем массового обслужива­ ния (Q-схем) [11—13, 16]. Решение каждой задачи оформляется в виде программы *.GPS с последующим объяснением как самой программы, так и результатов моделирования в виде стандартной выходной статистики, которая формируется в файле стандартного отчета *.RPT.

40

Соседние файлы в папке книги