MaxEdu.ru

Моделирование на языке GPSS

Содержание
Введение
1. Задание
2. Блок-схема:
3. Листинг программы:
4. Блоки языка GPSS использованных в программе
4.1 Блок GENERATE
4.2 Блок GATE
4.3 Блоки SEIZE и RELEASE
4.4 Блок ADVANCE
4.5 Блок TERMINATE
4.6 Блок FUNAVAIL
4.7 Блок FAVAIL
5. Назначение блоков программы
6. Стандартный отчет GPSS/PC
7. Элементы стандартного отчета
7.1 Общая информация о результатах работы модели
7.2 Информация о блоках
7.3 Информация об объектах типа “устройство”
7.4 Информация о группах транзактов
Выводы
Список использованных источников

Введение
Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования.
Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.
Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования (Паскаль, Си), что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса функционирования моделируемой системы, что значительно облегчает и упрощает программирование имитационных моделей, поскольку основные функции моделирующего алгоритм, а при этом реализуются автоматически. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке, что позволяет конструировать сложные имитационные модели пользователям, не являющимся профессиональными программистами.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS (General Purpose Simulation System). Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
Язык моделирования дискретных систем GPSS разработан фирмой IBM в начале 70-х годов XX века и является одним из самых распространенных в мире специализированных языков программирования. Система моделирования GPSS/PC (различных версий) является торговой маркой фирмы MINUTEMAN Software. Однако стоит отметить, что GPSS/PC предназначен для работы в операционной системе MS DOS. Поэтому имеются ограничения, которые в ряде случаев не позволяют осуществить разработку и эксплуатацию моделей сложных систем с требуемой степенью детализации. Отмеченных недостатков практически не имеет общецелевая система моделирования GPSS World, также разработанная компанией MINUTEMAN (США), но уже в 1993 году, которая позже так же претерпела некоторые изменения.
GPSS - интегрирующая языковая система, применяющаяся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. Транзакты "создаются" и "уничтожаются". Функцию каждого из них можно представить как движение через модель М с поочерёдным воздействием на её блоки. Функциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что делать дальше. Данные для ЭВМ подготавливаются в виде пакета управляющих и определяющих карт, которым составляется по схеме модели, набранной из стандартных символов. Созданная программа GPSS, работая в режиме интерпретации, генерирует и передаёт транзакты из блока в блок. Каждый переход транзакта приписывается к определенному моменту системного времени.

1 Задание
Для обеспечения надежности АСУ ТП в ней используется две ЭВМ. Первая ЭВМ выполняет обработку данных о технологическом процессе и выработку управляющих сигналов, а вторая находится в «горячем резерве». Данные в ЭВМ поступают через 10 ± 2 с, обрабатываются в течении 3 с. Характеристики обоих ЭВМ одинаковы. Подключение резервной ЭВМ занимает 5 с, после чего она заменяет основную до восстановления, а процесс возвращается к нормальному темпу. Отказы ЭВМ происходят через 300 ± 30 с. Восстановление занимает 100 с. Резервная ЭВМ абсолютно надежна. Смоделировать 1 час работы системы. Определить среднее время нахождения технологического процесса в заторможенном состоянии и среднее число пропущенных из – за отказов данных.
2 Блок -схема

3 Листинг программы:
**************************************
Programm TERM PAPER
**************************************
1 GENERATE 10,2
2 GATE FV MAIN,A2
3 A1 SEIZE MAIN
4 ADVANCE 3
5 RELEASE MAIN
6 TERMINATE
7 A2 ADVANCE 5
8 SEIZE REZ
9 ADVANCE 3
10 RELEASE REZ
11 TERMINATE
12 GENERATE 300,30
13 FUNAVAIL MAIN
14 ADVANCE 100
15 FAVAIL MAIN
16 TERMINATE
17 GENERATE 3600
18 TERMINATE 1
**************************************

4. Блоки языка GPSS использованных в программе
4.1 Блок GENERATE
Блок GENERATE (генерировать) служит для создания транзактов, входящих в модель. Он имеет следующий формат:
имя GENERATE A,B,C,D,E
В поле A задается среднее значение интервала времени между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде модификатора-интервала или модификатора-функции.
Модификатор-интервал используется, когда интервал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей. В этом случае в поле B может быть задан любой СЧА, кроме ссылки на функцию, а диапазон изменения интервала поступления имеет границы A-B, A+B.
4.2 Блок GATE
Блок GATE (впустить) служит для задержки или изменения маршрута транзактов в зависимости от состояния аппаратных объектов. Блок имеет следующий формат:
имя GATE X A,B
Вспомогательный операнд X содержит код состояния проверяемого аппаратного объекта, а в поле A указывается имя или номер этого объекта. Если проверяемый объект находится в заданном состоянии, то блок GATE пропускает транзакт к следующем у блоку. Если же заданное в блоке условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед блоком GATE.
Операнд X может принимать следующие значения: U (устройство занято); NU (устройство свободно); I (устройство захвачено); NI (устройство не захвачено); SE (МКУ пусто); SNE (МКУ не пусто); SF (МКУ заполнено); SNF (МКУ не заполнено); LS ( ЛП включен), LR (ЛП выключен), FNV (ОКУ недоступно), FV (ОКУ доступно).
4.3 Блоки SEIZE и RELEASE
Для моделирования ограниченных ресурсов СМО в модели должны присутствовать аппаратные объекты: одноканальные или многоканальные устройства. Одноканальные устройства создаются в текущей модели при использовании блоков SEIZE (занять) и RELEASE (освободить), имеющих следующий формат:
имя SEIZE A
имя RELEASE A
В поле A указывается номер или имя устройства. Если транзакт входит в блок SEIZE, то устройство, указанное в поле A, становится занятым и остаётся в этом состоянии до тех пор, пока этот же транзакт не пройдёт соответствующий блок RELEASE, освобождая устройство. Если устройство, указанное в поле A блока SEIZE, уже занято каким-либо транзактом, то никакой другой транзакт не может войти в этот блок и остаётся в предыдущем блоке. Транзакты, задержанные (заблокированные) перед блоком SEIZE, остаются в списке текущих событий и при освобождении устройства обрабатываются с учетом приоритетов и очередности поступления. Каждое устройство имеет следующие СЧА: F - состояние устройства (0 - свободно,1 - занято); FR - коэффициент использования в долях 1000; FC - число занятий устройства; FT - целая часть среднего времени занятия устройства.
4.4 Блок ADVANCE
Для задержки транзактов на определенный отрезок модельного времени, служит блок ADVANCE (задержать), имеющий следующий формат:
имя ADVANCE A,B
Операнды в полях A и B имеют тот же смысл, что и в соответствующих полях блока GENERATE. Следует отметить, что транзакты, входящие в блок ADVANCE, переводятся из списка текущих событий в список будущих событий, а по истечении вычисленного времени задержки возвращаются назад, в список текущих событий, и их продвижение по блок-схеме продолжается. Если вычисленное время задержки равно 0, то транзакт в тот же момент модельного времени переходит в следующий блок, оставаясь в списке текущих событий.
Только блоки GENERATE и ADVANCE позволяют поместить транзакты в список будущих событий. С помощью этих блоков моделируется продолжительность какого-либо события или промежуток времени между наступлениями каких-либо событий.
4.5 Блок TERMINATE
Блок TERMINATE (завершить) служит для удаления транзактов из модели, и имеет следующий формат:
имя TERMINATE A
Значение поля A указывает, на сколько единиц уменьшается содержимое так называемого счетчика завершений при входе транзакта в данный блок TERMINATE. Если поле A не определено, то оно считается равным 0, и транзакты, проходящие через та кой блок, не уменьшают содержимого счетчика завершений.
Начальное значение счетчика завершений устанавливается управляющим оператором START (начать), предназначенным для запуска прогона модели. Поле A этого оператора содержит начальное значение счетчика завершений. Прогон модели заканчивается, когда содержимое счетчика завершений обращается в 0. Таким образом, в модели должен быть хотя бы один блок TERMINATE с непустым полем A, иначе процесс моделирования никогда не завершится.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать полную версию
Курсовые работы по информатике Содержание Введение 1. Задание 2. Блок-схема: 3. Листинг программы: 4. Блоки языка GPSS использованных в программе 4.1 Блок GENERATE 4.2 Блок GATE
Оценок: 436 (Средняя 5 из 5)

Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.

Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.

© 2014 - 2022 MaxEdu.ru