Программирование на языке gpss и delphi
Курсовая работа, 15 Января 2013, автор: пользователь скрыл имя
Описание работы
Моделирование в широком смысле является основным методом исследований во всех областях знаний и научно обоснованным методом оценок характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать с помощью математических моделей (аналитических и имитационных), реализуемых на современных ЭВМ, которые в этом случае выступают в качестве инструмента экспериментатора с моделью системы.
Работа содержит 1 файл
Мс.docx
— 208.28 Кб (Скачать)Введение
Моделирование в широком
смысле является основным методом исследований
во всех областях знаний и научно обоснованным
методом оценок характеристик сложных
систем, используемым для принятия
решений в различных сферах инженерной
деятельности. Существующие и проектируемые
системы можно эффективно исследовать
с помощью математических моделей
(аналитических и имитационных)
В данном курсовом проекте
нам необходимо спроектировать и
реализовать модель системы передачи
пакетов данных. Для этого необходимо
написать программы с использованием
языка имитационного
Необходимо добиться, чтобы обе программы выдавали одинаковые результаты моделирования.
.
1 Теоретическая часть
1.1 Общие сведения о моделировании
Моделирование - исследование объектов познания на их моделях, построение и изучение моделей реально существующих предметов, процессов или явлений с целью получения объяснений этих явлений, а также для предсказания явлений, интересующих исследователя.
Модель - объект произвольной природы, который отражает главные, с точки зрения решаемой задачи, свойства объекта моделирования. Главными функциями модели являются упрощение получения информации о свойствах объекта, передача информации и знаний, управление и оптимизация объектами и процессами, прогнозирование и диагностика.
Процесс моделирования включает три элемента: субъект (исследователь), объект исследования и модель, определяющую (отражающую) отношения познающего субъекта и познаваемого объекта.
Первый этап построения модели предполагает наличие некоторых знаний об объекте-оригинале. Познавательные возможности модели обусловливаются тем, что модель отображает (воспроизводит, имитирует) какие-либо существенные черты объекта-оригинала. Вопрос о необходимой и достаточной мере сходства оригинала и модели требует конкретного анализа. Очевидно, модель утрачивает свой смысл как в случае тождества с оригиналом (тогда она перестает быть моделью), так и в случае чрезмерного во всех существенных отношениях отличия от оригинала. Таким образом, изучение одних сторон моделируемого объекта осуществляется ценой отказа от исследования других сторон. Поэтому любая модель замещает оригинал лишь в строго ограниченном смысле. Из этого следует, что для одного объекта может быть построено несколько «специализированных» моделей, концентрирующих внимание на определенных сторонах исследуемого объекта или же характеризующих объект с разной степенью детализации.
На втором этапе модель выступает как самостоятельный объект исследования. Одной из форм такого исследования является проведение «модельных» экспериментов, при которых сознательно изменяются условия функционирования модели и систематизируются данные о ее «поведении». Конечным результатом этого этапа является множество (совокупность) знаний о модели.
На третьем этапе
Четвертый этап — практическая проверка получаемых с помощью моделей знаний и их использование для построения обобщающей теории объекта, его преобразования или управления им.
Моделирование является циклическим процессом. Это означает, что за первым четырехэтапным циклом может последовать второй, третий и т.д. При этом знания об исследуемом объекте расширяются и уточняются, а исходная модель постепенно совершенствуется. Недостатки, обнаруженные после первого цикла моделирования, обусловленные малым знанием объекта или ошибками в построении модели, можно исправить в последующих циклах [5].
Процессы функционирования различных систем и сетей связи могут быть представлены той или иной совокупностью систем массового обслуживания - стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования.
Имитационная модель отображает стохастический процесс смены дискретных состояний системы в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании [6].
К имитационному моделированию прибегают, когда дорого или невозможно экспериментировать на реальном объекте, невозможно построить аналитическую модель, в системе есть время, причинные связи, последствие, нелинейности, стохастические (случайные) переменные, необходимо сымитировать поведение системы во времени.
Цель имитационного
Имитационное моделирование
позволяет имитировать
Имитация, как метод решения нетривиальных задач, получила начальное развитие в связи с созданием ЭВМ в 1950х - 1960х годах [5].
Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования (Паскаль, Си), что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса функционирования моделируемой системы, что значительно облегчает и упрощает программирование имитационных моделей, поскольку основные функции моделирующего алгоритма при этом реализуются автоматически. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке, что позволяет конструировать сложные имитационные модели пользователям, не являющимся профессиональными программистами.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов систем массового обслуживания, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию систем массового обслуживания.
1.2 Общие сведения о GPSS
Язык GPSS представляет собой интерпретирующую языковую систему, применяющуюся для описания пространственного движения объектов. Такие динамические объекты в языке GPSS называются транзактами и представляют собой элементы потока. В процессе имитации транзакты «создаются» и «уничтожаются». Функцию каждого из них можно представить как движение через модель с поочередным воздействием на ее блоки. Функциональный аппарат языка образуют блоки, описывающие логику модели, сообщая транзактам, куда двигаться и что делать дальше.
В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS можно представить в виде комбинации компонентов, взятых из числа званных объектов. Модель имеет три уровня представления:
- верхний уровень, определяемый комбинацией основных функциональных объектов: устройств, памяти, ключей, очередей;
- средний уровень, представляемый схемой из типовых блоков, между которыми перемещаются транзакты;
- нижний уровень — уровень физической реализации языка GPSS в виде программ и наборов данных, составляющих основу моделирующей системы.
Объекты GPSS:
- Блоки. Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для удобства графического представления модели каждый блок GPSS имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ необходимо последовательность блоков представить в виде списка операций, добавив к названиям блоков требуемые операнды. Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока: GENERATE, имеющий только выход, и TERMINATE, имеющий только вход. Через блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков.
- Транзакты. Транзакты, или сообщения, являются абстрактными подвижными элементами, которые могут моделировать различные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п. Перемещаясь между блоками модели, транзакты вызывают (и испытывают) различные действия. Возможны их задержки в некоторых точках модели, изменения маршрутов и направлений движения, расщепление транзактов на несколько копий и т.п. С каждым транзактом связан упорядоченный набор данных.
- Списки. Списки относятся к элементам внутренней организации системы GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующей системы. Список будущих событий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE. В список текущих событий входят транзакты, которые должны перемещаться в модели в текущий момент модельного времени. Если при этом транзакт входит в блок ADVANCE с ненулевым временем задержки, то он перемещается в список будущих событий. В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT.
- Устройства. Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом.
- Логические ключи. Для представления в модели коммутируемых объектов с двумя состояниями (включено - выключено) используют логические ключи, моделируемые блоками LOGIC и GATE.
- Очереди. Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. При поступлении транзактов на вход задерживающих блоков образуются очереди.
- Таблицы. Для сбора статистических данных и их представления используют таблицы. Занесение информации в таблицу осуществляется блоком TABULATE в момент входа очередного транзакта в этот блок.
- Ячейки. Для записи в процессе моделирования текущих значений СЧА используют ячейки.
- Функции и переменные. Функции служат для отображения зависимостей между двумя СЧА [7].
2 Разработка модели и алгоритма функционирования системы
2.1 Постановка задачи для машинного моделирования
В данном курсовом проекте стоит задача реализации модели работы системы передачи данных.
Система передачи данных обеспечивает передачу пакетов данных из пункта А в пункт С через транзитный пункт В. В пункт А пакеты поступают через 10 ± 5 мс. Здесь они буферизуются в накопителе ёмкостью 20 пакетов и передаются по любой из двух линий АВ1 - за время 20 мс или АВ2 - за время 20 ± 5 мс. В пункте В они снова буферизуются в накопителе, ёмкостью 25 пакетов и далее передаются по линиям ВС1 (за 25 ± 3 мс) и ВС2 (за 25 мс). Причём пакеты из АВ1 поступают в ВС1, а из АВ2 - в ВС2.
Чтобы не было переполнения накопителя, в пункте В вводится пороговое значение его ёмкости - 20 пакетов. При достижении очередью порогового значения происходит подключение резервной аппаратуры и время передачи снижается для линий ВС1 и ВС2 до 15 мс. Смоделировать прохождение через систему передачи данных 500 пакетов. Определить вероятность подключения резервной аппаратуры и характеристики очереди пакетов в пункте В. В случае возможности его переполнения определить необходимое для нормальной работы пороговое значение ёмкости накопителя.
- Определение параметров и переменных
Прежде чем перейти к
Экзогенные (независимые) переменные – вводятся извне, это исходная информация, они задаются до начала построения модели.
Экзогенными переменными в данной модели будут являться время передачи пакетов по каналам связи, максимальные длины очередей, критическая длина очереди В, при достижении которой включается резервная аппаратура.
Эндогенные (зависимые) переменные – формируются внутри модели, являются результатом её решения, определяются в ходе расчётов по модели.
Эндогенными переменными в данной модели будут являться количество потерянных пакетов в пункте А, количество пакетов прошедших через резервную аппаратуру, вероятность включения резервной аппаратуры, количество пакетов прошедших через систему.
- Построение концептуальной модели системы
Концептуальная модель системы – это формализованный замысел модели, реализованный в виде конкретной формализованной схемы, то есть адекватная математическая модель системы, построенная на основе её описания.