Моделирование и анализ дискретно-событийных систем

Post on 18-Jul-2015

324 views 11 download

Transcript of Моделирование и анализ дискретно-событийных систем

1© 2015 The MathWorks, Inc.

Моделирование и анализ дискретно-событийных

систем в SimEvents

Иван Мелёшин

инженер департамента MathWorks

2

План

Что такое дискретно-событийное моделирование (DES)?

Примеры DES в SimEvents

– Видеопоток в канале с ограниченной пропускной способностью

– Серийный производственный процесс

Практика в SimEvents

Что еще можно с SimEvents

– Пример очереди клиентов

– Изменение параметров

– Оптимизация

Выводы, итоги

3

Что вы узнаете:

SimEvents полезен для моделирования недетерминированных

дискретно-событийных систем

SimEvents можно использовать для анализа систем, например:

– Конфликт ресурсов

– Скопление / узкие места / задержки в обработке

– Производительность системы

– Планирование и маршрутизация

SimEvents может использовать возможности MATLAB и Simulink для

расширения возможностей моделирования и анализа.

4

TriVector верифицировала временные

задержки для ракеты Ares I

ЗАДАЧААнализ задержки времени получения информации

о состоянии систем ракеты NASA Ares I

РЕШЕНИЕИспользовать Simulink иSimEvents to

моделирования коммуникаций на уровне передачи

пакетов, запуск дискретно-событийных симуляций

и оценка задержек на обоих концах канала

РЕЗУЛЬТАТ Требования проверены на год раньше

Раскрыты проблемы требований ко времени

передачи

Визуальный анализ временных задержек

Ракета NASA’s

Ares I “Наша модель SimEvents для Ares I

Содержала более чем 45,000 блоков и

отслеживала время доставки для

примерно 20,000 пакетов в секунду по

многочисленным шинам данных. Такой

уровень детализации позволил нам

проверить требования и обнаружить

проблемы с требованиями к

синхронизации по времени до

реализации алгоритмов на

оборудовании.”

Кери Александер

TriVector Services

5

Что такое «дискретно-событийная система»?

Система, состояние которой меняется в

зависимости от возникающих дискретных

событий

6

Время против Событийного моделирования

Моделирование от времени– Скачущий мяч

200 400 600 800 1000 1200 1400 1600 1800 20000

2

4

6

8

10

12

14

16

18

20

Position vs Time of Bouncing Ball

Time

Positio

n

Детерминированность

→SIMULINK

Состояние системы зависит от

времени и физических

параметров, как то:

• Начальная высота мяча

• Начальная скорость

• Гравитация

7

Время против Событийного моделирования

Событийное моделирование – Парикмахерская

Состояние системы не

меняется пока не произойдет

событие

• Придёт клиент

• Клиент Встанет в очередь

• Клиент покинет

Не детерминировано

→SIMEVENTS

8

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

систем (DES)

Цепи поставок и логистика

Планирование

Пакетная передача данных, связь

Модели операционных систем реального времени

Бизнес процессы и процессы управления

Производственные процессы

Планирование работ и сервисов

9

Пример: Поток видео

Симуляция телекоммуникационного канала с ограниченной пропускной способностью

Анализ результатов симуляции дает представление о влиянии воздействий канала на качество видео

10

Пример: Процесс серийного производства

Имитация использования общих ресурсов в серийном процессе производства

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

11

SimEvents: Базовая модель вычислений

• Сущности Абстракция чего либо в моделировании (например, пакета данных, людей,

транспортных средств)

Перемещаются по очередям, серверам, коммутаторы и шлюзы

Атрибуты Численные данные, передаваемые сущностями (т.е. видео кадры, длина, адрес

доставки)

Добавление неограниченного количества пар имя-значение для сущностей

Сущность с атрибутамиНапример:

ServiceTime = 0.5

Destination = 2

SimEvents Model

- Очереди

- Роутеры, маршрутизаторы

- Сервера

- Шлюзы

- прочие

Сущность

Аттрибут

12

Другие примеры систем на базе SimEvents

Применение Сущности Моделирование

Процессор Инструкции

Прерывания

Процессы

Время обработки

Загрузка процессора

Пропускная способность

Задержка

Канал связи Кадры данных

Пакеты данных

Компоненты протоколов

Загрузка канала

Перегрузка канала

Потери данных

Задержки

Бизнес процессы и

управление

Физическая информация

Сообщения

Люди

Задержка

Конфликт ресурсов

Возможный выпуск

Цепочки поставок и

логистика

Оборудование

Машины

Продукты

Среднее время ожидания

Пропускная способность и

загруженность

Последствия неисправности

13

Учебный пример SimEvents

Событийное, не детерминированное моделирование

Клиенты в очереди

14

Учебный пример SimEvents

SimEvents добавляет дискретно-событийный движок в Simulink

Библиотека часто используемых блоков

Создание моделей Drag and drop

Сущности с пользовательскими атрибутами

Детерминированное или не детерминированное моделирование

Статистика событий

Визуализация данных

15

Вернемся к нашему примеру «Видео поток»

Симуляция телекоммуникационного канала с ограниченной пропускной способностью

Анализ результатов симуляции дает представление о влиянии воздействий канала на качество видео

16

SimEvents что еще можно?

SimEvents полностью интегрировано с MATLAB иSimulink.

Можно расширить возможности MATLAB и Simulink для усиления и

расширения возможностей моделирования, например:

– Комбинировать блоки Simulink и SimEvents для гибридного моделирования во

времени и в дискретно-событийном формате

– Управлять симуляцией при помощи скриптов MATLAB, что бы задавать

параметры, Монте-Карло, проводить анализ на чувствительность параметров

– Подключать дополнительные инструменты (toolboxes), например:

Оптимизация и статистический анализ

Распараллеливание

17

Интеграция с MATLAB и Simulink

примеры

1. MATLAB Function block из Simulink Library

– Соединяем код MATLAB и модель

2. MATLAB скрипт

– Управляем заданием параметров модели

3. Optimisation Toolbox

– Добавляем оптимизацию

18

Интеграция с MATLAB и Simulink

MATLAB Function Block

Используйте MATLAB code для управления пути следования клиентов

в зависимости от текущего состояния очереди

Клиенты заполняют наименьшую очередь

19

Интеграция с MATLAB и Simulink

MATLAB Scripting

Управляйте симуляцией при помощи скрипта MATLAB

Считывайте и записывайте в страницы EXCEL

20

Интеграция с MATLAB иSimulink

Optimisation

Модель производственного процесса

Управляем запуском модели через MATLAB script

Определяем задачу оптимизации

– Определить оптимальное количество ресурсов при заданной целевой функции

22

Выводы, итоги

Моделирование ценный инструмент для понимания поведения

системы

SimEvents расширяет возможности Simulink, добавляя дискретно -

событийное моделирование.

SimEvents позволяет анализировать

– Задержки, узкие места в процессе

– Пропускную способность

– Маршрутизацию и распределение

23

Контактная информация департамента Mathworks

matlab.ru http://www.youtube.com/user/MATLABinRussia

matlab.exponenta.ru

The Mathworks:www.mathworks.com

E-mail: matlab@sl-matlab.ru

24

MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See

www.mathworks.com/trademarks for a list of additional trademarks. Other

product or brand names may be trademarks or registered trademarks of their

respective holders. © 2015 The MathWorks, Inc.