Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 00:12, курсовая работа
Целью данной курсовой работы является изучение подходов и средств моделирования; разработка машинной модели с использованием алгоритмических языков и специальных программных средств. В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.
Таким образом, использование обоих методов имеет свои преимущества, поэтому разработчику моделей следует очень обдуманно подходить к выбору каждого из них.
4.2 Моделирование СМО в системе GPSS-World
Специализированные языки
Одним
из наиболее эффективных и распространенных
языков моделирования сложных
Язык имитационного моделирования GPSS — один из долгожителей среди языков программирования. Еще в 1970-х годах он входил в десятку самых популярных, а в декабре 2001 года в рамках конференции WSC-2001 было торжественно отпраздновано сорокалетие GPSS. GPSS World — объектно-ориентированный язык программирования.
Новая система GPSS World 2000 совместима сверху вниз с GPSS/PC, за исключением анимации. В GPSS World 2000 введено много новых функций. Введение новых 9 типов блоков увеличило их общее число до 53. Новый блок INTEGRATION это средство для облегчения моделирования непрерывных гибридных систем. Другие новые блоки позволяют гибко управлять файлами GPSS World имеет существенно отличающийся внешний вид по сравнению с GPSS/PC. Он имеет полноэкранный редактор традиционного для Windows типа. Для просмотра результатов используется свыше 20 стандартных окон. Хотя представление движения транзактов по блок диаграмме и меньше использует графику, но оно более приемлемо для отладки. Он также имеет новый более быстрый транслятор. СЧА могут принимать значения чисел с плавающей точкой взамен только целых значений в GPSS/PC. GPSS World включает PLUS -язык программирования нижнего уровня моделирования. Моделирование с использованием PLUS
выражений может быть включено почти везде в GPSS программы, в любом блоке или процедуре вызова, таким образом, увеличивается мощность программ, которые могут быть написаны. Язык PLUS позволяет программно управлять размещением результатов. Система GPSS World разрешает многозадачность, позволяя нескольким имитационным процессам выполняться одновременно.
Система GPSS World - это мощная среда компьютерного моделирования общего назначения, разработанная для профессионалов в области моделирования. Это комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования, обладающий высочайшим уровнем интерактивности и визуального представления информации. Использование GPSS World дает возможность оценить эффект конструкторских решений в чрезвычайно сложных системах реального мира.GPSS World сохранил все преимущества своего предшественника - GPSS/PC. Кроме этого в эту систему были введены многочисленные новшества.
Система GPSS World — комплексный моделирующий инструмент, охватывающий области как дискретного, так и непрерывного компьютерного моделирования и обладающий высоким уровнем интерактивности и визуального представления информации.
Кроме того, GPSS World унаследовал все положительные черты своего предшественника — GPSS/PC.
Система
GPSS (
В системе GPSS моделируемая система представляется с помощью набора абстрактных элементов, называемых объектами. Каждый объект принадлежит к одному из типов объектов.
Объект
каждого типа характеризуется определенным
способом поведения и набором
атрибутов, определяемыми типом
объекта. Например, если рассмотреть
работу порта, выполняющего погрузку
и разгрузку прибывающих судов,
В теории массового обслуживания эти объекты называются приборами и заявками. Когда обработка поступившего объекта заканчивается, он покидает систему. Если в момент поступления заявки прибор обслуживания занят, то заявка становится в очередь, где и ждет до тех пор, пока прибор не освободится. Очередь также можно представлять себе как объект, функционирование которого состоит в хранении других объектов.
Каждый
объект может характеризоваться
рядом атрибутов, отражающих его
свойства. Например, прибор обслуживания
имеет некоторую
Система GPSS ориентирована на класс объектов, процесс функционирования, которых можно представить в видемножества состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области. Примерами таких объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины, предприятия. В качестве формальных моделей таких объектов используют системы массовогообслуживания, автоматы, стохастические сети, сети Петри и макросети, агрегаты.
В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS можно представить в виде комбинации компонентов, взятых из числа названных объектов. Модель имеет три уровня представления:
- верхний уровень, определяемый
комбинацией функциональных
- средний уровень,
- нижний уровень - уровень физической реализации языка GPSS в виде программ и наборов данных, составляющих основу моделирующей системы.
Для описания имитационной модели на языке GPSS полезно представить её в виде схемы, на которой отображаются элементы СМО - каналы, накопители, узлы и источники.
Описание на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок. Имеются операторы и для отображения возникновения заявок, задержки их в каналах, занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п. Каждый транзакт, присутствующий в модели, может иметь до 12 параметров. Существуют операторы, с помощью которых можно изменять значения любых параметров транзактов и операторы, характер исполнения которых зависит от значений того или иного параметра обслуживаемого транзакта. Для моделирования используется событийный метод. Соблюдение правильной временной последовательности имитации событий в СМО обеспечивается интерпретатором GPSS- программной системой, реализующей алгоритмы имитационного моделирования.
Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для удобства графического представления модели каждый блок GPSS имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ необходимо последовательность блоков представить в виде списка операций, добавив к названиям блоков требуемые операнды.
Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока:
GENERATE, имеющий только выход, и TERMINATE, имеющий только вход. Через блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков.
Функционирование объекта
Списки относятся к элементам внутренней организации системы GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующейсистемы.
Список будущихсобытий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE.
В список текущих событий входят транзакты, которые должны перемещаться в модели в текущий момент модельного времени. Если при этом транзакт входит в блок ADVANCE с ненулевым временем задержки, то он перемещается в список будущих событий.
Существует ещё ряд списков, но они не применены в данном курсовом проекте, поэтому не будут описаны.
Устройства моделируютобъекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком.
Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE.
Транзакты в процессе движения могут задерживатьсяперед блоками, вход в которые в данных условиях невозможен. Примерами таких блоков из числа рассмотренных выше являются SEIZE (если ранее вошедший в этот блок транзакт не вошел в блок RELEASE), ENTER (если текущий объем памяти равен первоначально заданному), GATE (если в этом блоке не указан альтернативный выход и проверяемое условие не выполняется). При поступлении транзактов на вход задерживающих блоков образуются очереди. Длясбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком DEPART.
4.2.1 Описание используемых блоков
при моделировании заданной
GENERATE (Генерировать)
GENERATE - Для создания транзактов (заявок), входящих в модель.
Формат: GENERATEA, B, C, D, E
А - среднее значение интервала времени;
В - разброс или модификатор среднего значения(по умолчанию ноль);
С - время появления первого транзакта;
D - общее число генерируемых транзактов;
Е - уровень приоритета каждого транзакта; (от 0 до 127,значение по умолчанию 0);
В поле A задается среднее значение интервала времени между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде модификатора-интервала или модификатора-функции.
В поле E задается приоритет, присваиваемый генерируемым транзактам. Число уровней приоритетов неограниченно, причем самый низкий приоритет - нулевой. Если поле E пусто, то генерируемые транзакты имеют нулевой приоритет. Транзакты имеют ряд стандартных числовых атрибутов.
QUEUE (Стать в очередь)
QUEUE - помещает транзакт в конец очереди.
Формат: QUEUE А, В
А - номер очереди (числовое или символьное имя очереди);
В - число добавляемых к очереди элементов (по умолчанию 1).
Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно. Когда сообщение входит в блок QUEUE, то ищется очередь с именем, определенным операндом А. Если необходимо, очередь создается.Поскольку к очереди добавляются единицы, а не сами сообщения, не составляется список членов очереди. Сообщения в этот же момент условного времени пытаются перейти к следующему блоку.