Имитационное моделирование на ЭВМ
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
льтернативой этому является использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса функционирования моделируемой системы, что значительно облегчает и упрощает программирование имитационных моделей, поскольку основные функции моделирующего алгоритма при этом реализуются автоматически. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке, что позволяет конструировать сложные имитационные модели пользователям, не являющимся профессиональными программистами.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS (General Purpose Simulation System). Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
Разработка структурной схемы имитационной модели, описание ее функционирования
Процесс обработки сообщений, поступающих в информационную систему с двух напрвлений, формализован в виде Q-схемы. Иммитационая схема моделируемой системы представлена на Рисунке 2.
Рисунок 2. Структурная схема информационной системы
Описание имитационной модели информационной системы
. Описание элементов Q-схемы:1 - источник1: генератор сообщений, поступающих с первого направления; 2 - источник2: генератор сообщений, поступающих со второго направления;1(L1) - накопитель1, L1 - максимальная емкость накопителя1: входной буфер;2(L2) - накопитель2, L2=3 - максимальная емкость накопителя2: выходной буфер1 для сообщений, поступающих с первого направления;3(L3) - накопитель3, L3=3 - максимальная емкость накопителя3: выходной буфер2 для сообщений, поступающих со второго направления;1 - канал1: процессор;2 - канал2: выходная линия1;3 - канал3: выходная линия2;
. Описание потоков:1 - поток сообщений, поступающих с первого направления в накопитель1; 2 - поток сообщений, поступающих со второго направления в накопитель1;3 - поток сообщений, обрабатываемых каналом1 ;4 - поток обработанных сообщений первого направления, поступающий в накопитель2;5 - поток обработанных сообщений второго направления, поступающий в накопитель3;6 - поток обработанных сообщений первого направления, поступающийх для отправки в канал2;7 - поток обработанных сообщений со второого направления, поступающийх для отправки в канал3;8 - поток выходных сообщений, посупивших с первого направления;9 - поток выходных сообщений, поступивших со второго направления;
. Описание времени:1 - время генерации сообщений источником1;2 - время генерации сообщений источником2;3 - время обработки одного сообщения в канале1 ;4 - время передачи одного обслуженного сообщения по первой выходной линии;5 - время передачи одного обслуженного сообщения по второй выходной линии;
. Описание клапанов:
a - клапан по входу для накопителя1:
0, закрыт
a =
1, открыт
a = 1, если L2(H2) <= 3;
a = 0, если L2(H2) > 3;
b - клапан по входу для накопителя1:
0, закрыт
b =
1, открыт
b = 1, если L3(H3) <= 3;
b = 0, если L3(H3) > 3;
Описание програмной реализации имитационной модели
Моделируема информационная система состоит из трех одноканальных устройств, трех объектов типа очередь, двух клапанов, являющихся логическими переключателями. При составлении алгоритмической блок-схемы, каждому элементу системы будет присвоен собственный идонтификатор, по которому можно однозначно идонтифицировать объект системы. Для понимания логики функционирования блок-схемы необходимо ознакомится с описанными в разделе Разработка концептуальной модели исходными данными и ограничениями на модель. Список используемых имен для алгоритмической и програмной реализации имитационной модели представлен в Таблице1.
Таблица1. Список имен идонтификаторов
№Объект системыИдонтификатор1.Логический переключатель аFLAG12.Логический переключатель bFLAG23.Входной буферOCH14.ПроцессорCPU5.Выходной буфер №1OCH26.Выходной буфер №2OCH37.Выходная линия №1OUT18.Выходная линия №2OUT2
Априорная информация: сообщения поступают по каждому направлению через интервалы времени 157мс.; время обработки в процессоре равняется 7мс.; время передачи сообщений по каждой из выходных линий - 155мс. Работа узла коммутации моделируется на протяжении Т=60000мс.
Блочная диаграмма иммитационной модели узла коммутации сообщений представлена на Блок-схеме1.
Блок-схема1.
Программа, реализующая имитационную модель узла коммутации сообщений, представлена ниже (Программа 1).
Программа 1.
SIMULATE
1 GENERATE 15,7//создать транзакт
TEST LE Q$OCH2,3,XXX//проверить емкость очереди 2
LOGIC S FLAG1//открыть клапан а
XXX TEST LE Q$OCH3,3,YYY//проверить емкость очереди 3
9 LOGIC S FLAG2//открыть клапан b
11 YYY GATE LS FLAG1,OTKAZ//если клапан а открыт
GATE LS FLAG2,OTKAZ//если клапан b открыт
QUEUE OCH1//встать в очередь 1
SEIZE CPU//занять устройство процессор
DEPART OCH1//выйти из очереди 1
ADVANCE 7//задержаться на 7мс.
RELEASE CPU//освободить процессор
TRANSFER .5,LINE1,LINE2//перейти к