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

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

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

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

Содержание

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

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

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

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

 

Глава 2. Этапы создания модели

 

Процесс создание модели можно  разделить на следующие этапы:

    • Постановка задачи
    • Построение концептуальной схемы модели
    • Формализация поставленной задачи, сбор данных статистики и их обработка
    • Выбор модели
    • Построение модели
    • Проверка адекватности модели
    • Планирование эксперимента
    • Проведение эксперимента, сбор результатов
    • Анализ результатов

 

    1. Постановка задачи (Задание №3)

 

Система обработки информации содержит мультиплексный канал и  три миниЭВМ. Сигналы от датчиков поступают на вход канала через интервалы  времени 5-15 мкс. В канале они буферизуются и предварительно обрабатываются в течении 7-13 мкс. Затем они поступают на обработку в ту миниЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех миниЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки сигнала в любой миниЭВМ равно 33 мкс.

Цель исследования: Смоделировать процесс обработки 500 сигналов, поступающих с датчиков. Определить средние времена задержки сигналов в канале и миниЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.

 

    1. Формализация задачи, структурная и концептуальная схемы

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

На приведенном ниже рисунке 1 представлена структурная схема  системы.

Рисунок 1 – Структурная  схема системы

 

Структурная схема описывает  составные части, может содержать  некоторые параметры, но при этом не поясняет функционирование реальной системы. Функционирование системы поясняется на основе концептуальной схемы (рисунок 2), которая отображает причинно-следственные связи между компонентами системы.

Рисунок 2 – Концептуальная схема моделируемой системы

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

 

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

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

Основные требования, предъявляемые  к модели процесса функционирования системы:

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

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

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

После всех выше проведённых  действий выполняется построение блок-схемы  модели.

Общий алгоритм моделирования  системы представлен на рисунке 3.

Рисунок 3 – Общий алгоритм моделирования системы

Глава 3. Моделирование в среде Matlab

3.1 Основные положения

      

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

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

MatLAB интерфирует технические компоненты  среды, которые сочетают в себе  цифровые вычисления, графику, визуализацию  и язык программирования. StateFlow позволяет моделировать поведение системы. Stateflow представляет собой графический инструментарий для проектирования сложных систем управления и является самым значительным дополнением к среде Simulink. Подсистема Stateflow дает возможность моделировать поведение сложных событийно-управляемых систем. В основе Stateflow лежит специальная форма представления гибридного поведения - карта состояний. Основные элементы карты состояний - это «состояния» (state) и «переходы» (transitions).

StateChart – основная диаграмма состояний и их переходов. Основные графические компоненты диаграммы: состояние, переход, событие, действие. Событие – нечто, происходящее вне рассматриваемой системы, возможно требующее при этом некоторых ответных действий. События считаются мгновенными для выбранного уровня абстрагирования. Действие – реакции моделируемой системы на события. Также мгновенны. Состояние – условие, в котором пребывает моделируемая система некоторое время, в течение которого система ведёт себя одинаковым образом. Переход – смена состояний, вызванная событием. Суперсостояние (гиперсостояние) – объединяет несколько состояний, имеющих идентичную реакцию на одно и то же событие.

С точки зрения StateFlow состояние описывает режим управляемой событиями системы. состояний - это «состояния» (state) и «переходы» (transitions).

Каждое состояние описывает  один режим в работе событийно-управляемой  системы. Состояние становиться  активным, если срабатывает условие перехода, ведущего к этому состоянию или если на это состояние установлен переход по умолчанию. Каждое состояние на диаграмме Stateflow имеет «родителя», которым, по умолчанию, является сама диаграмма Stateflow.

Подсостояние – это состояние, которое может быть активно, только если активно состояние, называемое его родителем. Для того, чтобы  создать подсостояние, необходимо, выбрав кнопку State, щелкнуть мышкой в поле того состояния, которое предполагается иметь родительским, причем вложенность подсостояний может быть произвольной. Состояние с его подсостояниями можно сгруппировать. Это удобно использовать, если необходимо переместить такое состояние с одного места на другое, но при этом не нарушить расположение его подсостояний относительно друг друга. Для этого необходимо, щелкнув правой кнопкой мышки, выбрать в появившемся меню пункт Make Contents/Group, или просто дважды щелкнуть левой кнопкой мышки в поле состояния. Сгруппированные состояния Simulink выделяет тем, что обводит их утолщенной линией. Разгруппировать состояния можно опять же дважды щелкнув в поле состояния мышкой.

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

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

Переход имеет метку, которая описывает  условия срабатывания перехода и выполняемые при этом действия.

Переменные – это неграфические  объекты на диаграмме Stateflow, предназначенные для хранения числовых данных. Переменные могут использоваться на любом уровне иерархии.

 

Различают следующие виды переменных:

    • входные;
    • выходные;
    • локальные;
    • константы;
    • существующие только в течение определенного временного интервала;
    • определенные в рабочем пространстве Matlab;
    • импортируемые из источника, внешнего к диаграмме Stateflow и диаграмме Simulink;
    • экспортируемые адресату, внешнему к диаграмме Stateflow и диаграмме Simulink.

Для того чтобы создать входные (выходные и т.д.) переменные в блоке Stateflow, необходимо в окне соответствующей диаграммы Stateflow в меню выбрать соответствующий  пункт (Add/Data…/Input from Simulink для создания входной, Add/Data…/Output to Simulink для создания выходной и Add/Data…/Local для создания локальной переменной) и в открывшемся окне ввести имя соответствующей переменной и другие ее характеристики.

Для переходов состояний  из неактивного в активное необходимо событие или условие. События бывают: вход, выход, в течение и создание собственного события. Метки переходов описывают обстоятельства, под действием которых система переходит от одного состояния к другому. Если событие не указано, переход будет осуществляться при любом событии.                         Переходы, которые заканчиваются в соединениях, могут иметь только действия условий. Условие – это заключённое в скобки логическое выражение, определяющее произойдёт переход или нет.

 

3.2 Разработка  и описание модели

      

В ходе разработки модели были использованы следующие переменные:

    • Tmew- время между поступлением заявок;
    • Tobs- время обслуживания заявки в канале предварительной обработки;
    • Tobs1- время обслуживания заявки в ЭВМ 1;
    • Tobs2- время обслуживания заявки в ЭВМ 2;
    • Tobs3- время обслуживания заявки в ЭВМ 3;
    • Tobssum- суммарное время, затраченное на обслуживание заявок каналом предварительной обработки;
    • Tobs1sum- суммарное время, затраченное на обслуживание заявок ЭВМ_1;
    • Tobs2sum- суммарное время, затраченное на обслуживание заявок ЭВМ_2;
    • Tobs3sum- суммарное время, затраченное на обслуживание заявок ЭВМ_3;
    • Bocher- бесконечная очередь;
    • Kolzajv- количество сгенерированных заявок;
    • Osv_kan0- переменная флаг, показывающая состояние канала предварительной обработки (занят-1/свободен-0);
    • Prihod- переменная флаг, показывающая приход заявки (есть-1 /нет-0);
    • Raspr- переменная, служащая для запоминания распределения;
    • Ver_per- вероятность переполнения входных накопителей;
    • Total_time- общее время работы системы;
    • N1- переменная, показывающая количество заявок в накопителе 1;
    • N2- переменная, показывающая количество заявок в накопителе 2;
    • N3- переменная, показывающая количество заявок в накопителе 3;
    • Kol_otkaz- количество отказов;
    • kol_z1- количество заявок обслуженных ЭВМ 1;
    • kol_z2- количество заявок обслуженных ЭВМ 2;
    • kol_z3- количество заявок обслуженных ЭВМ 3;
    • svzsevm1- среднее время задержки сигналов в ЭВМ 1;
    • svzsevm2- среднее время задержки сигналов в ЭВМ 2;
    • svzsevm3- среднее время задержки сигналов в ЭВМ 3;
    • svzskan- среднее время задержки сигналов в канале.

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