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

Автор работы: Пользователь скрыл имя, 12 Июня 2013 в 14:37, курсовая работа

Краткое описание

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

Содержание

Введение......................................................................................................................3
Глава1. Теоретические сведения...........................................................................5
Глава 2. Этапы создания модели..........................................................................12
Глава 3. Моделирование в среде Matlab.............................................................17
Глава 4. Моделирование в среде GPSSW............................................................26
Глава 5. Анализ полученных результатов..........................................................35
Заключение................................................................................................................42
Список использованной литературы...................................................................43

Прикрепленные файлы: 1 файл

моделирование сложны систем.docx

— 413.82 Кб (Скачать документ)

 

Каждому блоку структурной  схемы модели соответствует блок в Stateflow модели. Добавлены также два  блока, которые обеспечивают подсчет  статистических данных.

Перечень блоков, входящих в Stateflow модель, и их обозначения:

    • 2- блок генерации заявок;
    • 4- блок – бесконечная очередь;
    • 3- канал предварительной обработки заявок;
    • 5- блок распределения заявок по 3-м накопителям;
    • 1,6,9- мини-ЭВМ 1,2,3 обработки заявок;
    • 8,7- блоки, в которых подсчитываются статистические данные.

Общий вид Stateflow- модели представлен  в приложении А. Внутренняя структура, представленная в виде совокупности блоков, представлена в приложении Б.

Рассмотрим подробно каждый из блоков:

    • Блок генерации заявок Istochnik изображен на рисунке 4.

Рисунок 4 – Блок генерации  заявок

В данном блоке осуществляется генерация заявок для модели и  остановка их генерации. Для реализации этого блок содержит 3 подблока: zaderwka, vihod и stopinng.

 В блок zaderwka система переходит автоматически по безусловному переходу. Далее происходит переход в блок vihod, так как время задержки еще не сгенерировано. В блоке vihod происходит наращивание счетчика количества заявок и при следующем переходе генерируется время задержки между генерациями заявок. Этот переход осуществляется в соединение, которое организует разветвление: при достижении количества заявок равного 500 осуществляется переход в блок stopinng для завершения генерации, в ином случае переход осуществляется в блок zaderwka, где реализуется задержка между генерациями заявок с помощью декрементирования соответствующей переменной.

    • Блок «бесконечная очередь» представлен на рисунке 5.

Рисунок 5 - Блок «бесконечная очередь»

Данный блок содержит лишь один блок. Суть работы заключается  в инкрементировании переменной «длина очереди» по приходу заявки.

    • Канал предварительной обработки заявок изображен на рисунке 6.

Данный блок включает в  себя два подблока (vhod и obrabotka) и два соединения. Блок vhod организует при переходе в соединение поступление заявок из очереди и генерацию времени обработки заявки в канале. Переход из соединения в соединение вычисляет суммарное время обслуживания. Переход из соединения в блок obrabotka уменьшает длину бесконечной очереди перед данным каналом. Затем в этом блоке осуществляется циклический переход, обеспечивающий задержку обработки заявки в канале. Далее происходит переход из блока obrabotka в блок vhod, оповещающий об освобождении канала.  

Рисунок 6 - Канал предварительной  обработки заявок

    • Блок распределения заявок по трем накопителям представлен в приложении В.

Данный блок анализирует  состояния накопителей перед  ЭВМ и направляет заявку в накопитель с наименьшей очередью, а также фиксирует наличие отказа в случае, когда все накопители заняты.

    • Мини-ЭВМ 1,2,3 обработки заявок имеют одинаковую структуру, которая представлена в приложении Г.

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

    • Блоки, в которых подсчитываются статистические данные приведены в приложении Д.

Данные блоки ведут  статистику необходимых характеристик  процесса моделирования и обеспечивают их вывод.

 

 

 

Глава 4. Моделирование в среде GPSSW

4.1. Общие сведения о языке GPSS World

 

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

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

 

    1. Операторы языка GPSS используемые в работе

 

В записи оператора выделяют такие части: метку, название, поле переменных и комментарий.

GENERATE - вводит транзакты в модель.

Формат: GENERATE А, В, С, D, E, F, G

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

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

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

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

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

F - число параметров (по умолчанию 12);

G - тип параметра (F - полнословный, Н - полусловный - по умолчанию).

Вводит транзакты в  модель, посылая их в следующий  по порядку блок. Если в поле В  не указана функция, то интервал между  поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А - В) до (А + В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В.

 

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

Формат: QUEUE А, В

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

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

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

 

DEPART - удаляет транзакт из бесконечной очереди.

Формат: DEPART А, В

А - номер (имя) очереди;

В - число удаляемых из очереди элементов.

Удаляет текущий транзакт из очереди, указанной в поле А, и  уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.

 

SEIZE - занимает устройство.

Формат: SEIZE A

А - номер устройства.

Транзакт пытается занять устройство, определенное полем А. Если прервано, транзакт задерживается в предыдущем блоке.

 

RELEASE - освобождает устройство.

Формат: RELEASE A

А - номер устройства (числовое или символьное имя освобождаемого устройства).

Устройство, указанное в  поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот  же транзакт, который его занимал.

 

ADVANCE – задерживает транзакт.

Формат: ADVANCE А, В

А – среднее время задержки (константа, если В не задано);

В – разброс относительно среднего значения, должен быть меньше или равен А.

Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, то время задержки является случайным числом, распределенным равномерно на интервале от (А + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В.

Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.

 

Блок STORAGE – память.

Формат: имя STORAGE A

имя —имя многоканальных устройств (МКУ), используемое для ссылок на него;

A —емкость (количество каналов  обслуживания) МКУ, задаваемая константой.

 

ENTER  - для занятия обслуживания  МКУ используется пара блоков.

Формат: ENTER   A,B

A - указывается номер или имя  МКУ;

B - число каналов МКУ, занимаемых при входе в блок ENTER.

 При входе транзакта  в блок ENTER текущее содержимое  МКУ увеличивается на число единиц, указанное в поле B. Если свободная емкость МКУ меньше значения поля B, то транзакт не может войти в блок ENTER и остается в предыдущем блоке, образуя очередь в списке текущих событий.

 

LEAVE - для освобождения памяти.

Формат: LEAVE A,B

A указывается номер или имя  МКУ;

B - число каналов МКУ освобождаемых при входе в блок LEAVE.

При входе транзакта в  блок LEAVE текущее содержимое МКУ  уменьшается на число единиц, указанное в поле B. Не обязательно освобождается такое же число каналов МКУ, какое занималось при входе данного транзакта в блок ENTER, однако текущее содержимое МКУ не должно становиться отрицательным.

 

TRANSFER - изменяет движение транзакта в модели.

Формат: TRANSFER А, В, С, D

А - режим передачи (" ",., ALL, BOTH, FN, P, PICK, SBR, SIM);

В - номер блока;

С – номер блока;

D — значение индекса, используемое в режиме ALL.

Транзакт направляется в  блок, определяемый в соответствии с режимом передачи, указанным  в поле А.

Режимы передачи поля А:

    • " " - транзакт передается в блок, определяемый полем В;
    • "." - статистический режим; в поле А указано десятичное число, выражающее вероятность перехода в блок С; его дополнение до единицы указывает вероятность перехода в блок В.
    • ALL   -   транзакт   последовательно   пытается   перейти   в   блоки,   определяемые значениями В, B+D, B+2D С.
    • BOTH - транзакт последовательно пытается войти в блок В, затем в блок С, до тех 
      пор, пока один из них станет доступным.
    • FN - функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функции поля С.
    • Р - параметрический режим: поле В является номером параметра; следующий блок определяется суммой значения этого параметра и поля С.
    • PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с 
      номерами: В, В+1,..., С.
    • SBR - режим перехода к подпрограмме, номер текущего блока помещается в параметр, указанный в поле С, а транзакт передается в блок, номер которого указан 
      в поле В.
    • SIM - одновременный режим: проверяется одновременное выполнение условий беспрепятственного движения транзактов в задерживающих блоках. Если условие 
      выполняется, транзакт передается в следующий блок, в противном случае транзакт переходит на блок С.

 

START - управление процессом моделирования.

Формат: STAR[T] А, В, С, D

А - счетчик числа завершений;

В - подавление вывода на печать (В = NP);

С - промежуточный вывод  статистики; 0 - распечатка списков.

 

GATE  - служит для задержки  или изменения маршрута транзактов  в зависимости от состояния аппаратных объектов модели.

Формат: имя GATE X A,B

X- вспомогательный операнд,  содержит код состояния проверяемого  аппаратного объекта. Операнд X может принимать следующие значения: U (устройство занято); NU (устройство свободно); I (устройство захвачено); NI (устройство не захвачено); SE (МКУ пусто); SNE (МКУ не пусто); SF (МКУ заполнено); SNF (МКУ не заполнено); LS ( ЛП включен), LR (ЛП выключен).

A, В - указывают имя  или номер этого объекта. Если  проверяемый объект находится в заданном состоянии, то блок GATE пропускает транзакт к следующему блоку. Если же заданное в блоке условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед блоком GATE.

 

TERMINATE - служит для удаления транзактов из модели.

Формат: TERMINATE A

А - указывает, на сколько  единиц уменьшается содержимое счётчика завершений при входе транзакта в данный блок TERMINATE. Если поле А не определено, то оно считается равным 0 и транзакты, проходящие через такой блок, не уменьшают содержимого счётчика завершений.

 

TEST – перемещае транзакт  согласно сравнению.

Формат: TEST Х А, В, С

Х – условный оператор может  принимать значения:

    • G – больше;
    • GE – больше или равно;
    • L – меньше;
    • LE – меньше или равно;
    • E – равно;
    • NE – не равно.

А и В – сравниваемые величины.

С – метка, по которой  переходит транзакт, если условие  не выполняется.

 

Также в программу ведены переменные, для отслеживания занятости  очередей:

aa VARIABLE Q$och1

ba VARIABLE Q$och2

caa VARIABLE Q$och3

daa VARIABLE Q$och3+Q$och2+Q$och1

 

Текст программы приведен в приложении Е.

Отчет по результатам моделирования  представлен в приложении Ж.

 

 

 

 

Глава 5. Анализ полученных результатов

5.1 Сравнение результатов моделирование системы, полученных в т моделях

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