Моделирование сложных систем

Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 00:12, курсовая работа

Описание работы

Целью данной курсовой работы является изучение подходов и средств моделирования; разработка машинной модели с использованием алгоритмических языков и специальных программных средств. В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.

Файлы: 1 файл

mss - копия.docx

— 5.33 Мб (Скачать файл)
  • языки программирования знает большинство разработчиков, чего нельзя сказать о пакетах имитационного моделирования;
  • скорость выполнения прогона имитационных моделей, написанных на языках высокого уровня обычно выше, чем моделей, созданных с помощью специализированных пакетов: это связано с тем, что такие пакеты часто разрабатываются для самых разнообразных систем посредством одного набора моделирующих конструкций, тогда как программа на универсальном языке может быть более удачно написана под конкретную систему;
  • при программировании универсальные языки обеспечивают большую гибкость, чем пакеты имитационного моделирования;
  • стоимость применяемого программного обеспечения обычно ниже (хотя общая стоимость проекта не всегда).

Таким образом, использование обоих методов  имеет свои преимущества, поэтому разработчику моделей следует очень обдуманно подходить к выбору каждого из них.

 

4.2  Моделирование  СМО в системе GPSS-World

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

Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время  язык GPSS (GeneralPurposeSimulationSystem – общецелевая система моделирования ). Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.

Язык  имитационного моделирования 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 (GeneralPurposeSystemSimulator) предназначена для написания имитационных моделей систем с дискретными событиями.  Наиболее удобно в системе GPSS описываются модели систем массового обслуживания,  для которых характерны относительно простые правила функционирования составляющих их элементов.

В системе  GPSS  моделируемая система  представляется с помощью набора абстрактных элементов, называемых объектами. Каждый объект принадлежит  к одному из типов объектов.

Объект  каждого типа характеризуется определенным  способом поведения и набором  атрибутов, определяемыми типом  объекта. Например,  если рассмотреть  работу порта,  выполняющего погрузку  и разгрузку прибывающих судов,  и работу кассира в кинотеатре, выдающего билеты посетителям, работу сборочного участка цеха то можно заметить большое сходство в их функционировании.  В обоих случаях имеются объекты, постоянно присутствующие в системе (порт, кассир, цех),  которые  обрабатывают поступающие в систему объекты (корабли, посетители кинотеатра, детали).

В теории массового обслуживания эти  объекты называются приборами и  заявками.  Когда обработка поступившего объекта заканчивается, он покидает систему.  Если в момент  поступления  заявки  прибор обслуживания занят,  то заявка становится в очередь,  где и ждет до тех пор,  пока прибор не  освободится.  Очередь  также  можно представлять себе как объект,  функционирование которого состоит в хранении других объектов.

Каждый  объект может характеризоваться  рядом атрибутов, отражающих его  свойства. Например, прибор обслуживания имеет некоторую производительность, выражаемую числом заявок, обрабатываемых им в единицу времени. Сама заявка может иметь атрибуты, учитывающие  время ее пребывания в системе, время  ожидания в очереди и т.д.  Характерным атрибутом очереди является ее текущая длина, наблюдая  за  которой в ходе работы системы (или ее имитационной модели), можно определить ее среднюю длину за время работы ( или моделирования).  В языке GPSS определены классы объектов,  с помощью которых можно задавать приборы обслуживания,  потоки  заявок,  очереди и т.д., а также задавать для них конкретные значения атрибутов.

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

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

- верхний уровень, определяемый  комбинацией функциональных основных  объектов:  устройств, памятей,  ключей, очередей;

- средний уровень, представляемый  схемой из типовых блоков, между  которыми перемещаются транзакты;

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

Для описания имитационной модели на языке  GPSS полезно представить её в виде схемы, на которой отображаются элементы СМО - каналы, накопители, узлы и источники.

Описание  на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок. Имеются операторы и для отображения возникновения заявок, задержки их в каналах, занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п. Каждый транзакт, присутствующий в модели, может иметь до 12 параметров. Существуют операторы, с помощью которых можно изменять значения любых параметров транзактов и операторы, характер исполнения которых зависит от значений того или иного параметра обслуживаемого  транзакта. Для моделирования используется событийный метод. Соблюдение правильной временной последовательности имитации событий в СМО обеспечивается интерпретатором GPSS- программной системой, реализующей алгоритмы имитационного моделирования.

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

Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока:

GENERATE, имеющий только выход, и  TERMINATE, имеющий только вход. Через  блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков.

Функционирование объекта отображается в модели в видеперемещения транзактов от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты, или сообщения являются абстрактными подвижнымиэлементами, которые могут моделироватьразличные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п. Перемещаясь междублоками модели, транзакты вызывают (и испытывают) различные действия. Возможны их задержкив некоторых точках модели, изменения маршрутов и направлений движения, расщепление транзактов на несколько копий. С каждым транзактом связан упорядоченныйнабор данных. Он включает номер транзакта; номер блока, в котором в данныймомент находится транзакт; номер следующегоблока; время переходав следующий блок; приоритет, характеризующий очередностьобработки транзактов в определенных случаях; а также набор параметров, с помощью которых каждому транзакту можно присвоить числовые значения, выражающие желаемые свойства или характеристики моделируемых объектов: вес, скорость, объем, цвет, время обработки и т.п.

Списки относятся к элементам  внутренней организации системы  GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующейсистемы.

Список будущихсобытий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE.

В список текущих событий входят транзакты, которые должны перемещаться в модели в текущий момент модельного времени. Если при этом транзакт входит в блок ADVANCE с ненулевым временем задержки, то он перемещается в список будущих событий.

Существует ещё ряд списков, но они не применены в данном курсовом проекте, поэтому не будут описаны.

Устройства моделируютобъекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком.

Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE.

Транзакты в процессе движения могут задерживатьсяперед блоками, вход в которые в данных условиях невозможен. Примерами таких блоков из числа рассмотренных выше являются SEIZE (если ранее вошедший в этот блок транзакт не вошел в блок RELEASE), ENTER (если текущий объем памяти равен первоначально заданному), GATE (если в этом блоке не указан альтернативный выход и проверяемое условие не выполняется). При поступлении транзактов на вход задерживающих блоков образуются очереди. Длясбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком DEPART.

 

4.2.1  Описание используемых блоков  при моделировании заданной СМО  в GPSS-World

GENERATE (Генерировать)

GENERATE - Для создания транзактов (заявок), входящих в модель.

Формат: GENERATEA, B, C, D, E

А - среднее значение интервала  времени;

 В - разброс или модификатор  среднего значения(по умолчанию ноль);

С - время появления первого  транзакта;

D - общее число генерируемых транзактов;

Е - уровень приоритета каждого транзакта; (от 0 до 127,значение по умолчанию 0);

В поле A задается среднее значение интервала времени между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в виде модификатора-интервала или модификатора-функции.

В поле E задается приоритет, присваиваемый генерируемым транзактам. Число уровней приоритетов неограниченно, причем самый низкий приоритет - нулевой. Если поле E пусто, то генерируемые транзакты имеют нулевой приоритет. Транзакты имеют ряд стандартных числовых атрибутов.

QUEUE (Стать в очередь)

QUEUE - помещает транзакт в конец очереди.

Формат: QUEUE А, В

А - номер очереди (числовое или  символьное имя очереди);

В - число добавляемых к очереди  элементов (по умолчанию 1).

Увеличивает текущее содержимое очереди, указанной в поле А, на значение в  поле В. Если поле В не определено, увеличивает  содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно. Когда сообщение входит в блок QUEUE, то ищется очередь с именем, определенным операндом А. Если необходимо, очередь создается.Поскольку к очереди добавляются единицы, а не сами сообщения, не составляется список членов очереди. Сообщения в этот же момент условного времени пытаются перейти к следующему блоку.

Информация о работе Моделирование сложных систем