Моделирование систем
Моделирование обмена информации в системе передачи данных, определение частоты вызовов спутниковой линии. Схемы алгоритмов для используемых языков моделирования. Описание блоков SimEvents. Моделирование с использованием подсистемы StateFlow в Matlab.
Рубрика | Экономико-математическое моделирование |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 17.04.2016 |
Размер файла | 724,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Оглавление
- Введение
- 1. Описание моделируемой системы
- 2. Схемы алгоритмов для используемых языков моделирования
- 3. Обоснования выбранных систем проектирования
- 3.1 Библиотека Simevents
- 3.2 Библиотека Stateflow
- 4. Описание блоков SimEvents в программе Matlab
- 5. Моделирование с использованием подсистемы StateFlow в Matlab
- Заключение
- Список использованной литературы
Введение
Изобретение и дальнейшее развитие персонального компьютера значительно упростило жизнь человека. Микро ЭВМ постепенно начали входить в нашу повседневную жизнь. Компьютерные и информационные технологии уверенно входят в нашу жизнь.
Персональная ЭВМ давно превратилась в предмет труда. Ни одно предприятие не обходится без электронной базы данных, без современных средств коммуникаций, мощных вычислительных средств. Он позволяет осуществлять не только производственный процесс на дому, но и целый ряд всевозможных процессов. Огромный вклад в этот рост внесло развитие технологии математического моделирования.
Моделирование это изучение объекта путем построения и исследования его модели, осуществляемое с определенной целью и состоит в замене эксперимента с оригиналом экспериментом на модели.
Модель должна строиться так, чтобы она наиболее полно воспроизводила те качества объекта, которые необходимо изучить в соответствии с поставленной целью. Во всех отношениях модель должна быть проще объекта и удобнее его для изучения, таким образом, для одного и того же объекта могут существовать различные модели, классы моделей, соответствующие различным целям его изучения.
Абстрактное моделирование связано с построением абстрактной модели. Такая модель представляет собой математические соотношения, графы, схемы, диаграммы и т.п. Наиболее мощным и универсальным методом абстрактного моделирования является математическое моделирование. Оно широко используется как в научных исследованиях, так и при проектировании.
Математические модели позволяют осуществить предварительный выбор оптимальных или близких к ним вариантов решений по определенным критериям. Они научно обоснованы, и лицо, принимающее решение, может руководствоваться ими при выборе окончательного решения. Следует понимать, что не существует решений, оптимальных "вообще". Любое решение, полученное при расчете математической модели, оптимально по одному или нескольким критериям, предложенным постановщиком задачи и исследователем.
При исследовании сложное реальное явление заменяется некоторой упрощенной копией или схемой, иногда такая копия служит лишь только для того чтобы запомнить и при следующей встрече узнать нужное явление. Иногда построенная схема отражает какие - то существенные черты, позволяет разобраться в механизме явления, дает возможность предсказать его изменение. Одному и тому же явлению могут соответствовать разные модели.
1. Описание моделируемой системы
В системе передачи данных осуществляется обмен пакетами данных между пунктами А и В по дуплексному каналу связи. Пакеты поступают в пункты системы от абонентов с интервалами времени между ними 7-13 мс. Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 5-15 мс. При занятости спутниковой линии пакет получает отказ.
Смоделировать обмен информацией в системе передачи данных в течение 1 мин. Определить частоту вызовов спутниковой линии и ее загрузку.
Рис.1. Структурная схема модели системы
В системе передачи данных осуществляется обмен пакетами данных между пунктами А и В по дуплексному каналу связи. Пакеты поступают в пункты системы от абонентов с интервалами времени между ними 7-13 мс. Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 5-15 мс. При занятости спутниковой линии пакет получает отказ.
2. Схемы алгоритмов для используемых языков моделирования
Рис.2. Схема алгоритма моделируемой модели
3. Обоснования выбранных систем проектирования
В качестве программной среды моделирования решено использовать прикладную программу MATLAB.
Matlab - матричная лаборатория - наиболее развитая система программирования для научно-технических расчетов, это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуализации результатов. Моделирование систем будет производиться в Simulink.
Simulink - это графическая среда имитационного моделирования, позволяющая при помощи блок-диаграмм в виде направленных графов, строить динамические модели, включая дискретные, непрерывные и гибридные, нелинейные и разрывные системы.
В данной курсовой работе будут использоваться две библиотеки для моделирования системы.
3.1 Библиотека Simevents
SimEvents позволяет моделировать дискретные события. В SimEvents можно моделировать и проектировать распределенные системы управления, аппаратные конфигурации, сети передачи и сбора информации для аэрокосмических, автомобильных, электронных и других приложений.
3.2 Библиотека Stateflow
Stateflow представляет собой графический инструментарий для проектирования сложных систем управления, который дает возможность моделировать поведение управляемых событиями систем, базируясь на картах состояния Харела.
4. Описание блоков SimEvents в программе Matlab
Time-Based Entity Generator (Раздел Generators/Entity Generator.) - блок генерирует сущности в моменты времени, определяемые входным сигналом или статистическим распределением.
Порядок генерирования определяется значением параметра Generate entities upon: моделирование информация simevents matlab
Intergeneration time from dialog - моменты времени генерации определяются в зависимости от параметров в диалоговых полях блока;
Тип распределения моментов генерации определяется полем Distribution. Возможные значения:
· Constant (постоянное) - постоянное время между генерируемыми событиями задается в поле Period.
· Uniform (равномерное) - случайное равномерное распределение задается диапазоном в полях Minimum и Maximum.
· Exponential - экспоненциальное распределение задается параметром Mean (среднее).
При установке параметра распределения в значения Uniform или Exponential в диалоговом окне имеется также параметр Initial seed, определяющий генерируемый набор случайных чисел. Для фиксированного значения этого параметра случайная последовательность при следующем запуске модели повторится. Типично, значение этого параметра устанавливается в большое (например, пятизначное) нечетное число.
Intergeneration time from port t - моменты времени генерации определяются через сигнальный порт t, информация с которого считывается при старте моделирования и в каждый момент генерации новой сущности. Сигнал должен быть событийным (event-based). Если выставлено это значение, то у блока появляется дополнительный сигнальный порт t.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация в соответствии:
#d - число сущностей покинувших блок после начала моделирования;
w - cреднее время между генерациями сущностей.
FIFO Queue - блок одновременно хранит до N сущностей, где N - значение параметра Capacity (Емкость). Блок пытается выпустить сущность через выходной порт OUT, однако если порт OUT блокирован, то сущность остается в блоке. Если в блоке хранятся несколько сущностей, то сущности покидают блок в соответствии с дисциплиной первый вошел - первый вышел (first in - first out (FIFO)). Если блок уже хранит N сущностей, то входной порт IN блока не доступен.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация:
#d - число сущностей покинувших блок через порт OUT после начала моделирования;
#n - число сущностей в очереди;
w - среднее время ожидания в этом блоке для всех сущностей, покинувших блок через любой порт;
len - среднее число сущностей в очереди по времени, то есть средний по времени сигнал #n.
Блок Single Server - обслуживает одновременно одну сущность за некоторый интервал времени и затем пытается выпустить сущность через выходной порт OUT. Если порт OUT блокирован, то сущность остается в блоке до тех пор пока выходной порт не разблокируется.
Время обслуживания (Service Time) определяется через параметры, атрибуты или сигналы в зависимости от значения параметра Service Time From. Блок определяет время обслуживания сущности при ее поступлении. Времена обслуживания определяются в секундах.
Значения параметра Service Time From:
Dialog - значения времени обслуживания задаются в поле параметра Service Time;
Attribute - значения времени обслуживания задаются атрибутом, имя которого указано в поле параметра Attribute name;
Signal port t - значения времени обслуживания задаются через сигнальный порт t. Сигнал должен быть событийным (event-based). Если выставлено это значение, то у блока появляется дополнительный сигнальный порт t.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится следующая статистическая информация:
#d - число сущностей покинувших блок через порт OUT после начала моделирования;
#n - число сущностей в сервере, 0 или 1;
w - среднее время ожидания в этом блоке для всех сущностей, покинувших блок;
util - утилизация сервера, то есть доля времени моделирования, использованная на хранение сущностей. В начале моделирования утилизация равна 0 или 1 в зависимости от того хранит ли сервер сущность.
Для завершения путей используется блок Entity Sink.
Параметры блока:
Input port available for entity arrivals - если выбран этот параметр, то блок принимает прибывающие сущности, в противном случае - блок сущности не принимает, а при попытке прибытия сущности выдается сообщение об ошибке.
Report number of entities arrived, #a - при выборе параметра у блока появляется сигнальный порт #a, на котором после каждого прибытия сущности выдается информация о количестве принятых блоком сущностей. Начальное значение сигнала после начала моделирования до первого обновления блока равно 0.
Блок Output Switch позволяет выбрать в процессе моделирования один из нескольких выходных портов для сущностей. После выбора одного из выходных портов, остальные порты становятся недоступными.
Количество выходных портов определяется параметром Number of entity output ports, входной порт, которые выбирается для приема сущностей определяется в соответствии с параметром Switching Criteria:
Round robin - в начале моделирования выбирается порт OUT1. При каждом следующем прибытии сущности выбирается следующий по порядку входной порт. После выбора последнего порта снова выбирается порт OUT1.
Equiprobable - в начале моделирования и при каждом убытии сущности блок в случайном порядке осуществляет выбор порта для отбытия следующей прибывающей сущности. Все выходные порты для сущностей одинаково желательны для выбора. Инициализация процесса генерации случайного числа определяется параметром Initial Seed (значение неотрицательное целое число).
First port that is not blocked - при попытке приема сущности блок пытается для выпуска сущности использовать порт OUT1. Если этот порт блокирован, то производится попытка использовать блок OUT2 и т.д. Если блокированы все выходные порты, то входной порт блока становится недоступным.
From signal port p - при выборе этого параметра на блоке появляется дополнительный сигнальный порт p. Сигнал на этом порту должен принимать целочисленные значения в диапазоне от 1 до значения параметра Number of entity output ports. При изменении значения сигнального порта выбирается соответствующий выходной порт для следующих прибывающих сущностей.
From attribute - прибывающая сущность покидает блок через выходной порт, соответствующий значению атрибута, имя которого указано в параметре Attribute name. Значение атрибута должно иметь целочисленные значения в диапазоне от 1 до значения параметра Number of entity output ports. Если указанный выходной порт блокирован, то блок не принимает сущности до разблокирования соответствующего выходного порта.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится соответствующая статистическая информация:
#d - число сущностей покинувших блок после начала моделирования;
last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0.
Блок Input Switch позволяет выбрать в процессе моделирования один из нескольких входных портов для сущностей. После выбора одного из входных портов, остальные порты становятся недоступными.
Количество входных портов определяется параметром Number of entity input ports, входной порт, которые выбирается для приема сущностей определяется в соответствии с параметром Switching Criteria:
Round robin - в начале моделирования выбирается порт IN1. При каждом следующем прибытии сущности выбирается следующий по порядку входной порт. После выбора последнего порта снова выбирается порт IN1. Equiprobable - в начале моделирования и каждого прибытия сущности блок в случайном порядке осуществляет выбор порта для следующей прибывающей сущности. Все входные порты для сущностей одинаково желательны для выбора. Инициализация процесса генерации случайного числа определяется параметром Initial Seed (значение неотрицательное целое число).
From signal port p - при выборе этого параметра на блоке появляется дополнительный сигнальный порт p. Сигнал на этом порту должен принимать целочисленные значения в диапазоне от 1 до значения параметра Number of entity input ports. При изменении значения сигнального порта выбирается соответствующий входной порт для следующих прибывающих сущностей.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока:
#d - число сущностей покинувших блок после начала моделирования;
last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0.
Блок Path Combiner позволяет объединить несколько путей в один.
Блок принимает сущности через один из нескольких входных портов и выпускает их через единственный выходной порт. Количество входных портов определяется параметром Number of entity input ports.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока:
#d - число сущностей покинувших блок после начала моделирования;
last - индекс входного порта, который был доступен в момент прибытия последней сущности. Начальное значение 0. Блок Replicate выпускает через свои выходные порты копии прибывающей в блок сущности.
Количество копий, создаваемых блоком, определяется параметром Number of entity output ports.
Для сбора статистики блока нужно отметить галочкой нужные сигналы на вкладке Statistics в панели свойств блока. Если отмечен соответствующий пункт, то у блока появляется новый сигнальный выходной порт, на который выводится соответствующая статистическая информация:
#a - число сущностей прибывших в блок после начала моделирования;
#d - число сущностей покинувших блок после начала моделирования;
результаты моделирования. Окончательный вариант модели с результатами.
Для вывода результатов моделирования в виде цифр используется блок Display из раздела библиотеки Simulink Sinks.
Для генерации управляющих сигналов для Function-Call Subsystem можно использовать блок Entity Departure Function-Call Generator из раздела Generators/Function-Call Generators библиотеки SimEvents.
Этот блок выдает Function-Call сигнал на выход f1 при каждом убытии сущности из блока.
Для того чтобы не было ошибок после блока Entity Departure Function-Call Generator на выход (OUT) ставится блок Single Server.
Для синхронизации работы подсистемы оценки качества с событийно управляемой имитационной моделью целесообразно оформить ее в виде функционально вызываемой подсистемы (Function-Call Subsystem). Заготовка для Function-Call Subsystem находится в разделе Ports&Subsystems библиотеки Simulink.
5. Моделирование с использованием подсистемы StateFlow в Matlab
В модели используются следующие переменные.
Внутренние переменные:
Tmew1 - время между поступлением пакетов в канал А;
Tmew2 - время между поступлением пакетов в канал Б;
n1 - переменная, показывающая состояние канала А(занят-1/свободен-0);
n2 - переменная, показывающая состояние канала Б (занят-1/свободен-0);
n3 - переменная, показывающая состояние спутникового канала связи (занят-1/свободен-0);
TperA - время передачи пакета по каналу А;
TperB - время передачи пакета по каналу Б;
Tcput - время передачи пакета по спутниковому каналу связи;
В блоке генерации пакетов (Рис.4.) осуществляется генерация пакетов для модели. Содержит два подблока: zaderjka и vihod. В блок zaderwka система переходит автоматически по безусловному переходу. Далее происходит переход в блок vihod, так как время задержки еще не сгенерировано. В блоке vihod происходит наращивание счетчика количества заявок и при следующем переходе генерируется время задержки между генерациями заявок.
Рис.4. Блок генерации пакетов канала
Блок распределения пакетов по каналу (Рис.5.). содержит лишь один блок. Суть работы заключается в распределение пакетов по возможным видам передачи и инкрементировании (увеличении) переменной «длина очереди» по приходу студента.
Рис.5. Блок распределения пакетов по каналу
В блоке punktA(punktB) (Рис.6.) осуществляется передача пакета по каналу А/Б.
Блок ЭВМ1 содержит подблоки: vhod1, peredacha.
Рис.6. Пункт передачи пакетов.
В блоке cputnik (Рис.7.) осуществляется передача по спутниковому каналу связи.
Блок ЭВМ2 содержит подблоки: vhod3, peredacha.
Рис.7. Блок cputnik
Рис.8. Блок Сhart с результатами моделирования.
Заключение
В приложении 1 показана модель Simulink библиотеки SimEvents с результатами моделирования в течение 60 секунд. За это время пришло 12004 пакета, из них 6002 прошли через канал А и столько же через канал Б. Число пакетов прошедших через буферный регистр канала А равно 4661, столько же и у канала Б. 1114 пакетов прошло через спутниковую полудуплексную линию связи. И 1563 пакета получили отказ.
В приложении 2 показана модель Simulink библиотеки Stateflow с результатами моделирования в течение 60 секунд. Блок Pulse Generator моделирует изменение модельного времени в имитационной модели. Настройки блока: амплитуда - 1, период - 3 сек. За это время пришло 12115 пакета, из них 6 отказов. Количество пакетов переданных через буферный регистр канала А равно 5946 пакетов, в то время как через буферный регистр канала Б прошло 5943 пакета. 216 пакетов прошло через спутниковую полудуплексную линию связи.
Список использованной литературы
1. Советов Б.Я., Яковлев С.А. Моделирование систем. М.: Высш. школа, 2001 г. 270 стр.
2. Бусленко Н.П., Шрейдер Д.П. Метод статистических испытаний и его реализация на цифровых вычислительных машинах. М.: «ФИЗМАТГИЗ», 1961.186 стр.
3. Лазарев Ю. Моделирование процессов и систем в MatLab. Учебный курс.-СПб.:Питер; Киев: Издательская группа БХВ,2005.-512 с.:ил.
4. Кельтон В., Лоу А. Имитационное моделирование. Классика CS.3-е изд.-СПб.:Питер;Киев:Издательская группа BHV, 2004.-847 с., ил.
5. Морозов В.К., Рогачев Г.Н. Моделирование информационных и динамических систем М.: Издательский центр “Академия”, 2011. - 384 с.
6. Тюрин Ю.Н., Макаров А.А. Статистический анализ данных на компьютере/ Под ред. В.Э.Фигурнова.-М.:Инфра-М, 1998.
7. Лабораторная работа № 4. Моделирование системы обработки информации в Stateflow.
8. Лабораторная работа № 2. Моделирование систем массового обслуживания с разветвленной и изменяемой топологией путей в Simulink+ SimEvents
Размещено на Allbest.ru
Подобные документы
- Нечеткая логика. Моделирование оценки показателей проекта, с использованием теории нечетких множеств
Описание лингвистической переменной. Моделирование оценки показателей проекта. Построение функции принадлежности термов, используемых для лингвистической оценки переменной "рост мужчины". Нечеткое моделирование конкурентоспособности кинотеатров.
контрольная работа [281,6 K], добавлен 09.07.2014 Применение математического моделирования при решении прикладных инженерных задач. Оптимизация параметров технических систем. Использование программ LVMFlow для имитационного моделирования литейных процессов. Изготовление отливки, численное моделирование.
курсовая работа [4,0 M], добавлен 22.11.2012Определение характеристик переходного процесса с использованием методик математического моделирования. Расчет степени затухания, времени регулирования и перерегулирования, периода и частоты колебаний. Построение графика, сравнение параметров с расчётными.
лабораторная работа [35,7 K], добавлен 12.11.2014ЭМ методы - обобщающее название дисциплин, находящихся на стыке экономики, математики и кибернетики, введенное В.С. Немчиновым. Теория экономической информации. Этапы экономико-математического моделирования. Моделирование экономических функций.
курс лекций [208,3 K], добавлен 25.01.2010Строение и свойства полиметилметакрилата. Проведение полимеризации в присутствии ферроцена. Определение молекулярно-массовых характеристик полимера. Методика осуществления математического моделирования. Метрологическая обработка экспериментальных данных.
дипломная работа [1,7 M], добавлен 19.03.2014Описание компьютерного моделирования. Достоинства, этапы и подходы к построению имитационного моделирования. Содержание базовой концепции структуризации языка моделирования GPSS. Метод оценки и пересмотра планов (PERT). Моделирование в системе GPSS.
курсовая работа [594,0 K], добавлен 03.03.2011Математическое моделирование технических объектов. Моделируемый процесс получения эмульгатора. Определение конструктивных параметров машин и аппаратов. Математический аппарат моделирования, его алгоритм. Создание средств автоматизации, систем управления.
курсовая работа [32,3 K], добавлен 29.01.2011Гомоморфизм - методологическая основа моделирования. Формы представления систем. Последовательность разработки математической модели. Модель как средство экономического анализа. Моделирование информационных систем. Понятие об имитационном моделировании.
презентация [1,7 M], добавлен 19.12.2013Экономико-математическое моделирование как метод научного познания, классификация его процессов. Экономико-математическое моделирование транспортировки нефти нефтяными компаниями на примере ОАО "Лукойл". Моделирование личного процесса принятия решений.
курсовая работа [770,1 K], добавлен 06.12.2014Анализ методов моделирования стохастических систем управления. Определение математического ожидания выходного сигнала неустойчивого апериодического звена в заданный момент времени. Обоснование построения рациональной схемы статистического моделирования.
курсовая работа [158,0 K], добавлен 11.03.2013