vkr.pptx
- Количество слайдов: 40
Отделение программной инженерии Выпускная Квалификационная Работа ПРОГРАММА МОДЕЛИРОВАНИЯ ДИСКРЕТНОСОБЫТИЙНЫХ СИСТЕМ ВРЕМЕННЫМИ СЕТЯМИ ПЕТРИ Выполнил: Студент группы 472 ПИ, Куприянов Максим Сергеевич Научный руководитель: к. т. н. , профессор каф. УРПО, Авдошин Сергей Михайлович Кафедра УРПО, НИУ-ВШЭ, Москва, 2014
План § Формулировки из предметной области; § Краткий обзор существующих решений; § Особенности разработанного решения; § Демонстрация программы. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 2
Предметная область Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 3
Сеть Петри — двудольный направленный граф с маркировкой, ребра которого задают причинноследственные отношения «события-условия» и именуются дугами. Типы вершин: 1. Позиции — представляют условия и обозначаются кружками; 2. Переходы — представляют события, обозначаются прямоугольниками. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 4
Сеть Петри Динамика сетей задаётся при помощи маркировки позиций фишками. Переход срабатывает только тогда, когда во всех входящих позициях есть минимум одна фишка. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 5
Временные сети Петри Подкласс сетей Петри, в которых допустимо маркировать вершины параметром временной задержки (holding time). Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 6
Временные графы синхронизации Timed Event Graphs (TEG) — подкласс временных сетей Петри, предназначенный для моделирования именно явлений синхронизации в системе. У каждой позиции ровно одна входящая дуга и ровно одна исходящая (принцип SISO), следовательно модель исключает возможность конфликтов и тупиков. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 7
Существующие решения для построения сетей Петри Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 8
Petri Net Toolbox Плюсы: § Поддержка различных наборов правил (типов сетей); § Есть интеграция с математическим аппаратом max-plus. Минусы: § Плагин является платным, исходный код недоступен; § MATLAB платный и громоздкий; § Интерфейс программы всё равно нуждается в переработке. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 9
Petri Net Toolbox Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 10
PIPE v 4. 3 Плюсы: § Выполнена качественно, работает стабильно; Минусы: § Редактирование сети исключительно с помощью мыши (10 позиций, 10 переходов, 10 дуг = 120 нажатий мыши); § Общий подход, нет различных наборов правил — например, всегда доступна опция указания “веса” дуги; § Каждый элемент явно и автоматически снабжается меткой, которые в большинстве случаев не требуются; § У программы падает производительность на относительно небольших сетях. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 11
PIPE v 4. 3 Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 12
Romeo Плюсы: § Хорошая поддержка сообщества и имеется интеграция с различными вычислительными инструментами; § Есть возможность копировать структуру участков сети. Минусы: § Нестабильна; § Написана с применением французского, используется устаревший инструментарий Tk/Tcl; § Осложнена навигация по полотну. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 13
Romeo Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 14
Особенности реализации Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 15
Технологии Основные факторы, влияющие на выбор стека технологий: § Кроссплатформенность; § Поддержка взаимодействия с нативными библиотеками (C/C++); § Наличие средств для создания графических интерфейсов пользователя с поддержкой аппаратного ускорения отрисовки; § Наличие хорошей документации Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 16
Технологии Выбранный стек: § Go-lang // Google; § Qt Framework // Digia; § Go-QML // Gustavo Niemeyer. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 17
Model-View-Presenter Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 18
Примеры Изменение маркировки Выделение элементов Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 19
Примеры Создание дуг Удаление дуг Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 20
Примеры Вспомогательные линии Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 21
Примеры Ориентация перехода Порядок дуг Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 22
Примеры Настройка дуг Именование элементов Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 23
Примеры Создание группы, свёртка-развёртка Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 24
Примеры Соединение внешних элементов с входами группы; разгруппировка с сохранением связей. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 25
Примеры Клонирование фрагментов с сохранением настроек Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 26
Примеры Клонирование группы с сохранением внешних соединений Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 27
Демонстрация программы Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 28
Систолические структуры ВС В основе систолических структур вычислительных систем лежит принцип пропускания данных через большое количество процессорных элементов, перед возвратом результатов вычислений в память. Фон-неймановская структура Систолическая структура Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 29
Матричные процессоры волнового фронта Wavefront array processor — разновидность систолической структуры, обладает возможностью самосинхронизации отдельных процессорных элементов. Время начала работы отдельных процессорных элементов (ПЭ) определяется готовностью входных данных, имеющих асинхронный характер. Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 30
Умножение матриц Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 31
Умножение матриц h g 0 f e Такт 0 ПЭ ПЭ 0 c a ПЭ d b 0 0 ПЭ 0 Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 0 32
Умножение матриц f Такт 1 h g e c d b a 0 0 Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 33
Умножение матриц h Такт 2 f c ae g a 0 e d b 0 Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 0 34
Умножение матриц Такт 3 h ae+cf c g f d be ag b Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 0 35
Умножение матриц Такт 4 ag+ch ae+cf h be+df d Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 bg 36
Умножение матриц Такт 5 ae+cf ag+ch be+df bg+dh Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 37
Масштабирование Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 38
Демонстрация программы (настоящая) Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 39
Спасибо за внимание. (вопросы? ) Максим Куприянов 472 ПИ max@kc. vc Кафедра УРПО, НИУ-ВШЭ, Москва, 2014 40
vkr.pptx