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

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

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

Рассмотрим следующие примеры:

G PS>fileiout/P = filein.gps

ИЛИ

gpss con: = filein.gps/P

(т. e. вход в интерактивный режим модели lilein.gps);

S T 3

(т. е. шаг текущего транзакта через три блока и вход в интерактив­ ный режим);

XF 2 = 35

(т. е. копирует значение 35 в полнословную ячейку 2);

EV Q1

(т. е. печать содержимого очереди 1);

D P 3 = 1

(т. е. копирует 1 в параметр 3);

GO

(т. е продолжить моделирование до следующего прерывания);

Q U

(т. е. преждевременный выход из процесса моделирования в DOS);

R P

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

M V 100

(т. е. устанавливает максимальную последовательность движения транзактов до 100 (используется для организации циклов в моде­ ли).

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

распечатка исходных данных;

словарь соответствия символьных имен и числовых экви­ валентов;

ассемблированная модель;

9 *

131

относительное и абсолютное время;

ошибки;

список текущих событий;

список будущих событий;

список прерываний;

список синхронизации;

списки пользователя;

счетчики блоков;

включенные логические ключи;

матрицы;

ячейки;

списки пользователя;

устройства;

очереди;

памяти;

таблицы.

Приведем структуру наиболее важных сегментов стандартного вывода GPSS/PC.

Относительное и абсолютное время. Относительное вре­ мя — общесистемный атрибут G$1 — время, наращиваемое в мо­ дели по мере поступления транзактов до тех пор, пока не произой­ дет сброс статистики картой RESET. Абсолютное модельное вре­ мя — атрибут АС$1 — обнулить нельзя. При отсутствии в модели режима сброса (карты RESET) значения относительного и абсо­ лютного модельного времени совпадают.

Счетчик блоков. Для всех блоков, используемых в модели, вы­ водятся следующие значения:

1)ТЕКУЩ — текущее число транзактов, находящихся в блоке

вмомент окончания моделирования (системный атрибут W$j);

2)ВСЕГО — число транзактов, входивших в блок за все время моделирования (атрибут N$j).

Включенные логические ключи. В этом сегменте стандартного вывода перечисляются имена тех логических ключей из числа ис­ пользуемых в модели, которые находятся во включенном состоя­ нии (атрибут LR).

Списки пользователя. Информация, выдаваемая системой по каждому списку пользователя, такова:

имя или номер списка пользователя;

число входов в данный список (атрибут CC$j);

среднее время пребывания транзакта в списке (атрибут

CT$j);

текущая длина (средняя заполненность) данного списка (атрибут CA$j);

132

— максимальная длина списка (атрибут CM$j). Устройства. Сегмент стандартного вывода, касающийся рабо­

ты устройств, содержит следующую статистическую информацию:

имя или номер устройства (канала);

коэффициент использования устройства в тысячных долях (атрибут FR$j);

число обслуживании, или число входов в устройство (атри­ бут FC$j);

среднее время обслуживания одного транзакта (атрибут

FT$j);

номер обслуженного транзакта;

номер захваченного транзакта.

Очереди. Сегмент стандартного вывода информации по очере­ ди имеет следующий вид:

имя или номер очереди;

максимальная длина очереди (QM$j);

средняя длина очереди (QA$j).

3.4.2. Ошибки, выявляемые системой GPSS

Ошибки этапа ассемблирования GPSS — модели представле­ ны в табл. 3.1, а ошибки, обнаруживаемые при выполнении GPSS, — модели, т. е. ошибки, выявляемые системой GPSS на эта­ пе ассемблирования и исполнения программы, приведены в табл. 3.2. Нумерация ошибок в этих таблицах — сквозная.

 

 

Т а б л и ц а 3 1

Номер

Ошибка

Примечание

ошибки

 

 

1

Длинная строка

Д лина строки не долж на превышать

 

 

100 символов

2Таблица сим волов полна

3Н еверны й символ

4Н еверны й операнд

5

Н еверны й тип ф ункции

В поле В карты описания ф ункции

 

 

 

указан тип ф ункции, отличны й от С или

 

 

 

D

 

 

 

6

Н еверное

вы ражение

Н едопустим ое

 

вы ражение

(символ

 

 

 

или константа)

в

операнде

 

7

И збы ток

операндов

Указано больш е

девяти операндов

8

Не опи сан а метка

М етка долж на

быть опи сан а

в карте

 

 

 

EQ U

 

 

 

133

Номер

Ошибка

ошибки

 

9

Н еверны й СЧА

10Н еверны й оператор

11О ш ибка в карте FU N C T IO N

12О ш ибка в карте FU N C TIO N

П р о д о л ж е н и е т абл. 3 ,1

Примечание

В карте FU N C TIO N значения аргу­ мента X долж ны располагаться в порядке возрастания

В карте FU N C TIO N пропущ ено значе­ ние X или Y

13

О ш ибка записи бинарного

 

 

файла

 

 

14

О ш ибка

в располож ении

Карта REALLOCATE долж на быть

 

карты REALLOCATE

первой

15

Н еверное

использование

 

 

FLOAT или

больш ой ном ер

 

 

ф ункции

 

 

16

Н еверная

метка

 

17

Длинная

метка

Д лина метки не долж на превышать 9

 

 

 

символов

18П ропущ ена метка

19Н ечисловое поле

 

 

Т а б л и ц а 3.2

Номер

Ошибка

Примечание

ошибки

 

 

20FU N C TO N — независимая пере­ менная

21FU N C TIO N — следую щ ий опера­ тор

22

О ш ибка в карте INITIAL

23

О ш ибка в распределении памяти

1 24

Отрицательное время

25

Неверный косвенны й адрес

26Н еверны й приоритет

27П ереполнена область транзактов

28Н еверны й разброс (А < В)

29Нет нового собы тия

30Транзакт уменьш ает содерж им ое очереди до отрицательного значе­ ния

31Вход более чем в две очереди

Н еверно задан аргумент ф унк­ ции

О ш ибка в предлож ении, сле­ дую щ ем за FU N C TIO N

Вы числено отрицательное время

В блоке GENERATE или ADVANCE значение поля А м ень­ ше значения поля В

Нельзя войти более чем в два блока Q U E U E

134

 

 

 

 

П р о д о л ж е н и е т абл. 3 .2

Номер

 

Ошибка

Примечание

ошибки

 

 

 

 

32

Н еверны й

ном ер

очереди

 

33

Отсутствие

блока

ENTER

И з очереди вы ходит транзакт, не

 

 

 

 

входивш ий в нее

34О ш ибка зап иси врем енного файла

35Н еверно определена память в кар­ те STORAGE

36Н еверны й ном ер STORAGE

37Н едостаточная емкость памяти

38

Н еверны й

ном ер

прибора

39

Отсутствие

блока

SEIZE

Транзакт уменьш ает содерж и ­ м ое STO RA G E д о отрицательного значения

Блок освобож дается транзактом, не заним авш им его

40

Н еверны й

ном ер

блока

 

41

Н еверно задана величина прира­

 

щ ения в поле D блока TR A NSFER в

 

реж им е ALL

 

 

 

42

Н еверны й ном ер

параметра

43

Н еверны й реж им вы бора в блоке

 

TRA N SFER

 

 

 

44

О ш ибочны й СЧА

 

45

Н еверны й

ном ер

списка

46

Н еверны й

ном ер

ф ункции

47

Н еверны й

ключ

 

 

48

Н еверны й

ном ер

таблицы

49

Н еверны й

ном ер

перем енной

50

Н еверны й

ном ер

ячейки

51

Н еверно задан счетчик

цикла

52

Н еверны й ном ер СЧА

 

53

Н едопустим ы й

вход

в блок

 

GENERATE

 

 

 

54Н еопределенная перем енная

55Н еверно определена переменная

56Ф ункция не определена

57Н еверны й тип ф ункции

58О ш ибка задания таблицы

59Таблица не определена

60

Взвеш енны й вход в невзвеш ен­

 

ную таблицу

В озм ож на

систем ная ош ибка

В блоке L O O P

счетчик цикла

м еньш е или

равен

нулю

Н еверно заданы карты TABLE или QTABLE

135

 

 

П р о д о л ж е н и е т абл . 3 2

Номер

Ошибка

Примечание

ош ибки

 

 

61Н еверное использование таблицы

вRT-реж име

62

Попытка занести взвеш енную ве­

 

личину в невзвеш енную

таблицу

63

С одерж им ое

счетчика

преры ва­

 

ний превышает

127

 

64

Возврат прибора транзактом, не

 

захвативш им прибор

 

65

Н еверное

определение

ф ункции

 

или перем енной

 

66

Н едопустимы й операнд

67

О ш ибка в повторном

опр еделе­

 

нии блока GENERATE

 

68

О ш ибка

в следую щ ем

блоке

6 9

Н еверное

поле в INITIAL

70Неверный операнд

71Н еверны й идентификатор тран - закта

72

Счетчик в блоках A SSE M B L E или

Значение операнда А в этих бл о ­

 

GATHER меньш е или равен нулю

ках равно нулю или отрицательно

73Прерванный транзакт не активен

74Ошибка в блоке W RITE

75Ошибка в блоке READ

76

Н еверны й операнд

в блоке

 

 

REW IND

 

 

77

Н е определен ном ер

транзакта

Системная ош ибка

 

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

1. К какому классу алгоритмических язы ков относится систем а м оделирова­

ния G P S S /P C

 

2

. Какие блоки языка G P S S /P C осущ ествляю т м одиф икацию атрибутов тран­

зактов9

 

3

. Какие блоки G P S S /P C реализуют синхронизацию движ ения нескольких

транзактов в систем е моделирования?

4. Как реализуется передача управления (изм енение последовательности п ере­

движ ения транзактов) в

G P SS /P C !

5

. Какие блоки G P S S /P C обеспечиваю т получение статистических результатов

м оделирования системы

5?

6

. Как организуются

цепи в систем е моделирования G P S S /P C !

Г л а в а 4

ЭТАПЫ ВЫ ПОЛНЕНИЯ ПРАКТИКУМА ПО МОДЕЛИРОВАНИЮ СИСТЕМ

И з всего многообразия классов моделируемых систем и широких возмож ­ ностей реализации имитационных моделей на современных Э В М мож но вы де­ лить основные закономерности перехода от построения концептуальной м о­ дели объекта моделирования до проведения машинного эксперимента с м оде­ лью системы S , которые для целей эф фективного решения пользователем практических задач моделирования рационально оформить в виде последова­ тельности выполняемых исследователем (разработ чиком) этапов. Несмотря на общность т акого подхода рационально рассмотреть не только некоторую обобщенную абстрактную систему 5, но и проиллюстрировать каж дый из вы ­ полняемых эт апов и подэт апов моделированием конкретного объекта в дан­ ной главе в качест ве системы S детально исследуется т акой характерный для данных направлений подготовки специалистов объекп^как сеть передачи дан­ ных.

4.1. ЭТАП ПОСТРОЕНИЯ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ СИСТЕМЫ И ЕЕ ФОРМАЛИЗАЦИИ

На первом этапе машинного моделирования — этапе построе­ ния концептуальной модели системы З'и ее формализации — фор­ мулируется замысел модели и строится ее формальная схема, т. е. основным назначением этого этапа является переход от содержа­ тельного описания объекта к его математической модели, другими словами, процесс формализации. В настоящее время моделирова­ ние систем на ЭВМ — это наиболее универсальный и эффектив­ ный метод оценки характеристик сложных систем (в том числе, ес­ тественно, и информационно-управляющих систем широкого на­ значения). Наиболее ответственными и наименее формализован­ ными моментами в этой работе являются проведение условной границы между системой S и внешней средой Е, упрощение опи­ сания системы и построение сначала концептуальной, а затем формальной модели системы. Модель должна быть адекватной, иначе невозможно получить положительные результаты модели­ рования, т. е. исследование процесса функционирования системы S на неадекватной модели вообще теряет смысл. Под адекватной

137

моделью будем понимать модель, которая с определенной степе­ нью приближения на уровне понимания моделируемой системы S разработчиком модели отражает процесс ее функционирования во взаимодействии с внешней средой Е.

Наиболее рационально строить модель функционирования системы по блочному принципу [11—16]. При этом можно выде­ лить три автономные группы блоков такой модели. Блоки первой группы представляют собой имитатор воздействий внешней среды Е на систему S; блоки второй группы являются собственно моде­ лью процесса функционирования исследуемой системы S; блоки третьей группы — вспомогательными и служатдля машинной реа­ лизации блоков двух первых групп, а также для фиксации и обра­ ботки результатов моделирования. Механизм перехода от описа­ ния процесса функционирования некоторой гипотетической сис­ темы S к модели этого процесса рассмотрен в учебнике [13].

Для наглядности и более глубокого понимания содержания этапов и подэтапов моделирования процесса функционирования системы S будем иллюстрировать их конкретными действиями при машинном моделировании некоторой реальной системы (в отличие от гипотетической системы S, рассматриваемой в общем виде в учебнике [13]). В качестве объекта моделирования выберем систему, процесс функционирования которой можно описать в понятиях и терминах, уже известных студентам из ранее изучен­ ных дисциплин примерного учебного плана подготовки специа­ листов.

Пусть необходимо провести моделирование с целью получе­ ния оценок вероятностно-временньк характеристик процесса функционирования фрагмента сети передачи данных (СПД) [1,6, 18]. Напомним основные понятия и определения из этой предмет­ ной области.

Данные — это факты и(или) понятия, описанные в формализо­ ванном виде. В СПД различают пользовательские и управляющие данные. Пользовательские данные — это данные, вводимые поль­ зователями в СПД или получаемые ими из сети. Управляющие дан­ ные — этоданные, используемыедля управления работой СПД.

Сеть передачи данных представляет собой совокупность средств для передачи и распределения данных. Выделяют магист­ ральную (базовую) и терминальную (абонентскую) части СПД (рис. 4.1). Магистральная СПД служит для передачи данных меж­ ду вычислительными комплексами ВК (или локальными сетями (ЛС), ресурсы которых доступны для пользователей сети, и вклю­ чает в себя узлы коммутации УК и соединяющие их каналы связи КС. Узел коммутации выполняет функции управления, маршрути­ зации, передачи и коммутации данных и имеет для этого соответ­ ствующие аппаратно-программные средства. Канал связи пред-

138

ставляет собой совокупность технических средств и среды распро­ странения, которая обеспечивает доставку данных в нужную точку сети. Терминальная СПД используется для подключения непо­ средственно, либо через концентраторы нагрузки КНабонентских пунктов АП и терминалов пользователей 777. Концентратор пред­ ставляет собой устройство, обеспечивающее сопряжение входных низкоскоростных каналов связи с выходными высокоскоростны­ ми КС. Абонентские пункты оборудуются аппаратурой передачи данных и устройствами ввода-вывода, т. е. терминалами, осущест­ вляющими доступ к вычислительным ресурсам и базам данных сети. Обычно терминалы группируются и подсоединяются к тер­ минальной сети (или прямо к ВК) непосредственно либо с помо-

139

щьюЛ/7. Вкачестве терминалов могут быть использованы как про­ стейшие устройства ввода-вывода, так и персональные (интеллек­ туальные) терминалы и ЛС.

В рассматриваемой СПД реализован режим коммутации паке­ тов, представляющей собой такой способ передачи, при котором данные из сообщений пользователей разбиваются на отдельные пакеты, маршруты передачи которых в сети от источника к полу­ чателю определяются в каждом УК, куда пакеты поступают. Под сообщениями понимается конечная последовательность символов, имеющая смысловое содержание. Пакет — это блок данных с за­ головком, представленный в установленном формате и имеющий ограниченную максимальную длину. Обычно в СПД используют­ ся пакеты постоянной длины, содержащие от 500 до 2000 двоич­ ных знаков (бит). Отметим, что СПД с коммутацией пакетов обла­ дают высокой эффективностью благодаря возможности быстрой перестройки путей передачи данных (маршрутизации) при воз­ никновении перегрузок и повреждении элементов СПД. Эффек­ тивность различных вариантов построения СПД и ее фрагментов оценивается средними временами доставки данных пользовате­ лям и вероятностями отказа в установлении требуемого пользова­ телю соединения в данный момент времени. Совокупность таких показателей для оценки эффективности процесса функциониро­ вания СПД принято называть ее вероятностно-временными харак­ теристиками [1, 6, 10].

Для упрощения объекта моделирования (в данном случае исхо­ дя из необходимости упрощения учебного примера с точки зрения его наглядности и, что также важно, уменьшения затрат машин­ ных ресурсов на его реализацию) рассмотрим процесс функцио­ нирования фрагмента СПД, представляющий собой взаимодейст­ вие двух соседних узлов коммутации СПД, обозначенных УК1 и УК2. Эти узлы соединены между собой дуплексным дискретным каналом связи (ДКС), позволяющим одновременно передавать данные во встречных направлениях, т. е. имеется два автономных однонаправленных ДКС. Считаем также для определенности, что все сообщения, поступающие в СПД, являются однопакетными.

Структурная схема варианта УК представлена на рис. 4.2, где обозначено: ВхБН и ВыхБН — входные и выходные буферные на­ копители соответственно; К — коммутаторы; ЦП — центральный процессор. Этот УК функционирует следующим образом. После поступления пакета из одного из входных КС узла он помещается в ВхБН. Затем ЦП на основе заголовка пакета и хранимой в УК"мар­ шрутной таблицы определяет требуемое направление дальнейшей передачи пакета и помещает его в соответствующий ВыхБН для последующей передачи по выходному КС.

140

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