1 © 2015 The MathWorks, Inc. Моделирование и анализ дискретно-событийных систем в SimEvents Иван Мелёшин инженер департамента MathWorks
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: [email protected]
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.