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

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

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

Логическая схема моделирующего алгоритма представляет со­ бой логическую структуру модели процесса функционирования системы М. Логическая схема указывает упорядоченную последо­ вательность операций, связанных с решением задачи моделирова­ ния.

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

Различие между перечисленными схемами заключается в том, что логическая схема отражает логическую структуру модели про­ цесса функционирования системы М, а схема программы — логи­ ку машинной реализации этой модели с использованием конкрет­ ных средств программной реализации.

Логическая схема алгоритма и схема программы могут быть выполнены как в укрупненной, так и в детальной форме. При изо­ бражении этих схем используется набор символов, определяемых ГОСТ 19.701—90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозна­ чения и правила выполнения» см. Приложение 5.

Более подробно с формой представления логической структу­ ры моделирующих алгоритмов и машинных программ познако­ мимся при рассмотрении имитационных моделей процессов функционирования конкретных систем и их программной реали­ зации на ПЭВМ.

Рассмотрим подэтапы, выполняемые при алгоритмизации и программировании модели, обращая основное внимание на зада­ чи каждого подэтапа и методы их решения с иллюстрацией осо­ бенностей практической реализации на рассматриваемом кон­ кретном примере моделирования процесса функционирования фрагмента СПД.

2.1. Построение логической схемы модели. Рекомендуется стро­ ить модель М по блочному принципу, т. е. в виде некоторой огра­ ниченной совокупности блоков. Построение модели системы из таких блоков обеспечивает необходимую гибкость модели М в процессе ее эксплуатации, а также дает ряд преимуществ на стадии ее машинной отладки. При построении блочной модели прово­ дится разбиение процесса функционирования системы на отдель­ ные достаточно автономные подпроцессы. Таким образом, модель функционально подразделяется на подмодели, каждая из которых может быть разбита на еще более мелкие элементы. Блоки такой модели бывают основные и вспомогательные. Каждый основной блок соответствует некоторому подпроцессу, имеющему место в

151

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

Рассматриваемый пример моделирования процесса функцио­ нирования фрагмента СПД ориентирован на использование языка GPSS/PC, в котором уже предусмотрена символика изображения схемы модели на языке блок-диаграмм (см. Приложение 1) для реализации модели, что практически освобождает пользователя от выполнения этого подэтапа и позволяет перейти к следующим.

2.2. Получение соотношений модели. Одновременно с выполне­ нием подэтапа построения логической схемы модели необходимо, где это возможно, получить математические соотношения в виде явных функций. Этот подэтап соответствует неявному заданию возможных математических соотношений на этапе построения концептуальной модели. При выполнении первого этапа еще мо­ жет не быть информации о конкретном виде таких математиче­ ских соотношений, на втором этапе эти соотношения необходимо получить. Схема машинной модели М должна представлять собой полное отражение заложенной в модели концепции и иметь опи­ сание всех блоков модели с их наименованиями; единую систему обозначений и нумерацию блоков; отражение логики модели; за­ дание математических соотношений в явном виде.

Так как в рассматриваемом примере моделирования для реали­ зации был выбран язык GPSS, то необходимо разработать блок-диаграмму модели, по сути, представляющую собой логиче­ скую схему, адаптированную к особенностям использования для машинной реализации модели GPSS. Блок-диаграмма модели процесса функционирования фрагмента СПД для данного приме­ ра приведена на рис. 4.5, где для структурных элементов модели, показанных на рис. 4.4, введены следующие обозначения: для на­ копителей HI, Н2, НЗ и Н4 соответственно, BUF1, BUF2, BUF3 и BUF4; для источников И1 и И2 соответственно GEN1 и GEN2; для каналов обслуживания: в узлах коммутации для ЦП К1 — GPU1 и КЗ — GPU2, в каналах связи при дуплексной передаче К2 — DCH1 и К4 — DCH2. Остальные обозначения, использованные на блок-диаграмме, показанной на рис. 4.5, знакомы из рассмотрен­ ного ранее материала (см. гл. 2, 3).

2.3. Проверка достоверности модели системы. Эта проверка яв­ ляется первой из выполняемых на этапе реализации модели. Так как модель представляет собой приближенное описание процесса

152

2 5 ,F N 1 „ 2 P B J P F

Р и с . 4 5 . Блок-диаграмма G P S S о а ел н процесса взаим одействия узлов коммутации

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

153

быть получены при проведении натурного эксперимента с реаль­ ной системой. Проверка модели на рассматриваемом подэтапе должна дать ответ на вопрос, насколько логическая схема модели и используемые соотношения отражают замысел ее, сформирован­ ный на первом этапе. При этом проверяются возможность реше­ ния поставленной задачи, точность отражения замысла в логиче­ ской схеме, полнота логической схемы модели, правильность ис­ пользуемых математических соотношений. Только после этого можно считать, что имеется логическая схема модели, пригодная для дальнейшей работы по реализации модели на ЭВМ.

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

2.4. Выбор вычислительных средств для моделирования. На этом подэтапе необходимо окончательно решить вопрос о выборе ЭВМ для реализации модели на основе следующих требований: наличие необходимого математического обеспечения; доступность вы­ бранной ЭВМ для разработчика модели; обеспечение всех этапов реализации модели; возможность своевременного получения ре­ зультатов моделирования.

В рассматриваемом случае моделирования фрагмента СПД, исходя из ориентации на применение GPSS/PC, для машинной реализации модели требуется порядка 640К оперативной памяти.

Поэтому останавливаемся на предварительно выбранной на первом этапе ПЭВМ, в состав математического обеспечения кото­ рой входит интерпретатор GPSS/PC. Кроме того, использование операционных систем MS DOS и Windows 95/98/2000/ХР предос­ тавляет широкие возможности по отладке и использованию про­ грамм моделирования в интерактивном режиме.

2.5. Составление плана выполнения работ по программированию. Такой план помогает разработчику при программировании моде­ ли учесть оценки объема программы и трудозатрат на ее составле­ ние. Он должен включать в себя указание языка программирова­ ния модели и типа используемой ЭВМ, оценку приблизительного числа команд, оценку примерного объема необходимой памяти, ориентировочные затраты времени на моделирование, предпола­ гаемые затраты времени на программирование, и отладку про­ граммы на ЭВМ.

154

Для данного примера моделирования фрагмента СПД исполь­ зуется GPSS/PC, который имеет соответствующую поддержку в ПЭВМ и может работать в среде MS DOS. Число команд для реали­ зации разработанной модели в GPSS —программе составляет по­ рядка 60, а необходимый объем оперативной памяти 640К. Ориен­ тировочные затраты машинного времени на моделирование вари­ анта СПД составляют несколько минут в зависимости от типа ПЭВМ. В этом примере затраты времени на программирование при использовании GPSS составляют около трех недель с учетом часов, еженедельно отводимых на выполнение курсовой работы.

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

В рассматриваемом примере при реализации программы с ис­ пользованием GPSS отпадает необходимость в построении схемы программы, так как блок-диаграмма дает достаточную степень де­ тализации, поддерживаемую средствами GPSS, для генерации ра­ бочей программы моделирования. Тестирование полученной (гРЗ'.У-программы обеспечивается специальным средством TRACE [9, 16]. Форма представления входных данных в СДУ.У-программе,

авыходных — задается редактором вывода.

2.7.Проверка достоверности схемы программы. Эта проверка является второй на этапе машинной реализации модели. Очевид­ но, что не следует продолжать работу по машинной реализации модели Мм если нет уверенности в том, что в схеме программы, по которой будет вестись дальнейшее программирование, допущены ошибки, которые делают ее неадекватной логической схеме моде­ ли, а следовательно, и самому объекту моделирования. При этом проводится проверка соответствия каждой операции, представ­ ленной в схеме программы, аналогичной ей операции в логиче­ ской схеме модели. Учитывая, что рассмотрение вопросов тести­ рования и верификации программного обеспечения в других дис­ циплинах специальности, предшествующих по времени выполне­ нию курсовой работы по дисциплине «Моделирование систем», не будем останавливаться на выполнении этого подэтапа.

Сучетом использования для реализации модели процесса функционирования СПД языка GPSS в рассматриваемом примере

155

SIMULATE

 

0 0 0 1 EXPON FUNCTION

RN1,C 24

0 , 0 / . 1 0 0 , . 1 0 4 / . 2 0 0 , .2 2 2 / 3 0 0 , . 3 5 5 / . 4 0 0 , . 5 0 9 / . 5 0 0 , . 6 9 0 / . 6 0 0 , . 9 1 5 / . 7 0 0 , 1 . 2 0 0 7 5 0 , 1 3 8 0 . 8 0 0 , 1 . 6 0 0 / .8 4 0 ,1 .8 3 0 / . 8 8 0 , 2 . 1 2 0 / 9 0 0 , 2 . 3 0 0 / . 9 2 0 , 2 - 5 2 0 / . 9 4 0 , 2 . 8 1 0 / . 9 5 0 ,2 . 9 9 0 / . 9<

, 3 2 0 0 / . 9 7 0 , 3 . 5 0 0 / . 9 8 0 , 3 . 9 0 0 / . 9 9 0 , 4 . 6 0 0 / . 9 9 5 , 5 . 3 0 0 / . 9 9 8 , 6 . 2 0 0 / . 9 9 9 , 7 / 1 , 8

0009

MET1

ENTER

BUT4,1

 

 

0010

 

SEIZE

CPU1

Обработка в CPU1

0015

 

ADVANCE

2

 

 

0020

 

LEAVE

BUF4,1

 

 

0025

 

RELEASE

CPU1

 

 

0030

 

ENTER

BUF1,1

 

 

0035

 

TEST E

P2,1,MET4

 

 

0040

 

TEST E

P I ,2 0 ,COP1

 

 

0045

 

SPLIT

1 ,NZX1

 

 

0046

 

MARK

COP1

 

 

00S0

COP1

MATCH

 

 

0055

 

LEAVE

BUF1,1

 

 

0060

 

ASSEMBLE

2

 

 

0065

 

TABULATE

TAB1

 

 

0070

 

TERMINATE

DCH1

 

 

0075

MET4

SEIZE

 

 

0080

 

LEAVE

BUF1,1

 

 

0085

 

TRANSFER

, DEX1

 

 

0090

NEX1

SEIZE

DCH1

Передача

no DCHl

0095

DEX1

ADVANCE

PI

0100

 

RELEASE

DCH1

 

 

0105

 

ASSIGN

1 ,1

 

 

ОНО MET2

ENTER

BUF2,1

 

 

0115

 

SEIZE

CPU2

 

в CPU2

0120

 

ADVANCE

2

Обработка

0125

 

LEAVE

BUF2,1

 

 

0130

 

RELEASE

CPU2

 

 

0135

 

ENTER

BUF3,1

 

 

0140

 

TEST E

P 2, 2 ,MET5

 

 

0145

 

TEST E

P I ,2 0 ,COP2

 

 

0150

 

SPLIT

1 ,NEX2

 

 

0155

COP2

MATCH

COP2

 

 

0160

 

LEAVE

BUF3,1

 

 

0165

 

TERMINATE

 

 

 

0170

MET5

SEIZE

DCH2

 

 

0175

 

LEAVE

BUF3,1

 

 

0180

 

TRANSFER

,DEX2

 

 

0185

NEX2

SEIZE

DCH2

 

 

0190

DEX2

ADVANCE

PI

Передача no DCH2

0195

 

RELEASE

DCH2

 

 

0200

 

ASSIGN

1,1

 

 

0205

 

TRANSFER

,MET1

 

 

0210

GEN2

GENERATE

2 5 , FN$EXPON

 

 

0215

 

ASSIGN

1,20

 

 

0220

 

ASSIGN

2 , 2

 

 

0225

 

TRANSFER

,MET2

 

 

0230

GEN1

GENERATE

2 5 ,FNSEXPON

 

 

0235

 

ASSIGN

1 ,2 0

 

 

0240

 

ASSIGN

2 ,1

 

 

0245

 

TRANSFER

,MET1

 

 

0250

 

GENERATE

1 , ,10000

Системные часы

0255

 

TERMINATE

1

 

 

0260

 

START

1

 

 

0261

 

REPORT

REPORT.GPS

 

0263

 

WINDOW

TABLES

 

 

Р и с . 4.6. Текст СР^-программы моделирования СПД

такая проверка не требуется, так как средствами пакета обеспечи­ вается однозначный переход от блок-диаграммы GPSS к рабочей программе.

2.8. Проведение программирования модели. При достаточной подробной схеме программы, отражающей все операции логиче­ ской схемы модели, можно приступить к программированию мо­ дели. Если имеется адекватная схема программы, то программиро-

156

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

В данном примере переход от блок-диаграммы GPSS к про­ грамме является формальным шагом, так как заключается в за­ писи пространственной структуры в линейном виде, что не требу­ ет специальных навыков. СЛУ.У-программа, полученная из блок-диаграммы, приведена на рис. 4.6.

2.9. Проверка достоверности программы. Эта проверка является последней на этапе машинной реализации модели и должна про­ водиться либо путем обратного перевода программы при решении различных тестовых задач, либо объединением всех частей про­ граммы и проверки ее в целом. На этом подэтапе необходимо так­ же уточнить оценки затрат машинного времени на моделирова­ ние.

Для рассматриваемого примера моделирования фрагмента СПД сгенерированные GPSS рабочие программы однозначно со­ ответствуют блок-диаграмме и не требуют такой проверки, что еще раз подчеркивает преимущества использования для модели­ рования специализированных пакетов прикладных программ, реализованных на базе языков имитационного моделирования (8, 19]. Проведенная повторная оценка затрат машинного времени на прогон модели подтверждает, что это время не превышает 2...3 мин в зависимости от типа ПЭВМ.

2.10. Составление технической документации по второму этапу. Для завершения этапа машинной реализации модели необходимо составить техническую документацию, содержащую логическую схему модели и ее описание, схему программы и принятые обозна­ чения, полный текст программы, перечень входных и выходных величин с пояснениями, инструкцию по работе с программой, оценку затрат машинного времени на моделирование.

Техническая документация по второму этапу моделирования должна составляться при выполнении курсовой работы непосред­ ственно при реализации соответствующих подэтапов. В рассмат­ риваемом примере входные переменные в G/W.?-программе зада­ ются в явном виде, а выходные — определяются стандартным вы­ водом редактора вывода GPSS. Работа с программой заключается в загрузке ее в инструментальную ПЭВМ под управлением MS DOS. При оформлении программной документации второго этапа необ­ ходимо строго придерживаться стандартов ЕСПД (см. Приложе­ ние 5).

157

4.3. ЭТАП ПОЛУЧЕНИЯ И ИНТЕРПРЕТАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ СИСТЕМЫ

На третьем этапе моделирования инструментальная ПЭВМ используется для проведения рабочих расчетов по составленной и отлаженной программе. Результаты этих расчетов позволяют про­ вести анализ и сформулировать выводы о характеристиках про­ цесса функционирования моделируемой системы S. При реализа­ ции моделирующих алгоритмов на ПЭВМ вырабатывается инфор­ мация о состояниях процесса функционирования исследуемой системы, которая является исходным материалом для приближен­ ной оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью [13].

Остановимся на рассмотрении каждого из подэтапов с иллюст­ рацией их содержания действиями, выполняемыми при модели­ ровании процесса функционирования фрагмента СПД.

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

Пустьдля рассматриваемого примера заданы (с учетом исполь­ зования для моделирования GPSS/PQ следующие исходные дан­ ные (набор параметров и переменных): емкости накопителей УК L, = 20 пакетов, /= 1, 4; средний интервал времени между момен­ тами поступления пакетов в УК X* = 25 единиц времени, к = 1, 2; время передачи пакета данных по ДКС / ®= 20 единиц времени, j = 1, 2; время передачи пакета подтверждения по ДКС ?} = 1

единица времени, у = 1, 2; время обработки пакета в ЦП

2

единицы времени, у =1,2; точность оценки характеристик е = 0,1, достоверность оценки характеристик Q = 0,95.

158

Введя обозначения факторов х\ = £„ х2 = Хк, хз = t) и проведя кодирование их значений при установлении для каждого фактора двух уровней, получим план полного факторного эксперимента типа 23:

Номер испытания . . . .

1

2

3

4

5

6

7

8

х , .............................................................................

- 1

- 1

- 1

- 1

+1

+1

+1

+1

х г .............................................

- 1 - 1

+1

+1

- 1

- 1

+ 1

+1

х з .............................

- 1 + I

- 1 +1 -1

+1 -1 +1

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

Тактическое планирование машинного эксперимента для рас­ сматриваемого примера моделирования фрагмента СПД с целью оценки вероятностно-временных характеристик процесса ее функционирования проведем для определения необходимого чис­ ла реализаций при заданной точности и достоверности резуль­ татов моделирования. Вданном случае для оценки необходимо­ го числа реализаций воспользуемся неравенством Чебышева [5,8] Р{ \Е~ Е\> ^5} 1/tf2 т. е. при выборке объема TVno меньшей мере (1 —\/t?) измерений находятся на расстоянии не более q среднеквадратических отклонений. В этом неравенстве Е — зна­ чение показателя эффективности СПД; Е — оценка показателя эффективности СПД; Е\ = е — абсолютная точность оценки; q — любое положительное число.

С учетом необходимости определения числа реализаций пред­ ставим рассматриваемое неравенство как Р {\Е — Е[> qe) — = п /N = (1 —/ д ) , где Рл — доверительная вероятность, п — число измерений с результатом s > qb. Тогда (1 —Ра) = 1/(^2УУ). Откуда

N= <?/(1 - Ра).

Так, например, для получения оценки эффективности, задан­ ной с точностью е = 5/10 и доверительной вероятностью Рл = 0,95, т. е. при P[z > е/Ю} < 0,05, необходимо имитировать доставку в СПД iV= 102/0,05 = 2000 пакетов.

В пределах данного примера другие частные задачи тактиче­ ского планирования эксперимента с моделью СПД рассматривать не будем.

3.2. Определение требований к вычислительным средствам. При этом необходимо окончательно (предварительно это было сделано на предыдущих этапах) сформулировать требования по времени

159

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

При выполнении курсовой работы требования к вычислитель­ ным средствам и график их использования уже определены с уче­ том расписания учебных занятий и загрузки вычислительных средств. Для реализации машинной модели минимальный ком­ плект технических средств и характеристики инструментальной ПЭВМ задаются исходя из условий применения языка GPSS/PC.

3.3. Проведение рабочих расчетов. После составления плана проведения машинного эксперимента можно приступить к вы­ полнению рабочих расчетов на ПЭВМ, которые обычно включают подготовку наборов исходных данных, подготовку исходных дан­ ных для ввода в ПЭВМ, проверку исходных данных, подготовлен­ ных для ввода, проведение расчетов на ПЭВМ, получение резуль­ татов моделирования. Моделирование рационально выполнять в два этапа: сначала контрольные, а затем рабочие расчеты. Причем контрольные расчеты проводятся для проверки машинной модели и определения чувствительности результатов к изменению исход­ ных данных.

Для рассматриваемого примера моделирования фрагмента СПД особенностью подготовки исходных данных в GPSS/PC яв­ ляется то, что они вносятся в явном виде в текст программы. По­ этому подготовка их сводится к занесению этих данных в соответ­ ствующие блоки программы путем использования текстового ре­ дактора MS DOS.

3.4. Анализ результатов моделирования системы. Чтобы проана­ лизировать выходные данные, полученные при моделировании системы S на ПЭВМ, необходимо знать, что делать с результатами рабочих расчетов и как их интерпретировать. Эти задачи могут быть решены на основании предварительного анализа, проведен­ ного на первых этапах моделирования. Планирование машинного эксперимента позволяет вывести необходимое количество выход­ ных данных и определить метод их анализа. При этом необходимо выводить только те результаты, которые нужны для проведения дальнейшего анализа. Также необходимо полнее использовать возможности инструментальной ПЭВМ для статистической обра­ ботки результатов моделирования и представления этих результа­ тов в наиболее наглядной форме, например в виде графиков, гис­ тограмм, схем и т. п. Вычисление статистических характеристик перед выводом результатов позволяет повысить эффективность использования ПЭВМ и свести к минимуму обработку выходной информации после ее выдачи пользователю.

Для рассматриваемого примера с помощью языка GPSS/PC по­ лучены отдельные статистики по функционированию каждого

160

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