Московский Государственный Университет Приборостроения и Информатики Дипломный проект на тему: «Разработка инструментального языка программирования для.

Презентация:



Advertisements
Похожие презентации
П РЕОБРАЗОВАНИЕ ПРОГРАММ НА ЯЗЫКЕ C-DVM В ПРОГРАММЫ ДЛЯ КЛАСТЕРОВ выполнила: студентка 527 группы Коваленко Алина Игоревна научный руководитель: профессор,
Advertisements

Введение в задачи исследования и проектирования цифровых систем Санкт-Петербургский государственный университет Факультет прикладной математики - процессов.
Объектно-ориентированное проектирование DSP-систем в телекоммуникациях Подготовил: Сергеев Виктор Николаевич СПбГУ, математико-механический Факультет,
Разработка устройства поиска и слежения за частотой несущего колебания в составе демодулятора небалансного ФМн-4 сигнала. Студент группы ЭР Аверьянов.
ДЕЛЕГАТЫ Лекция 7 1. Зачем нужны делегаты 2 И данные, и код располагаются в памяти компьютера по определенным адресам. Передача адресов данных в C# происходит.
Текстовый язык автоматного программирования В. С. Гуров, М. А. Мазин, А. А. Шалыто.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
Составление программ Разработка программ в среде Турбо- Паскаль.
Высокоуровневые методы информатики и программирования Лекция 9 Делегаты.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
М.Ю. Харламов, ВНУ им. В.Даля, Семантический анализатор Семантический анализатор выполняет следующие основные действия: проверку соблюдения во входной.
Дипломный проект на тему: «Разработка программно-математических средств для обнаружения сигнала системы спутникового позиционирования» Студент: Внуковский.
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
b5_java_s4
Методика распараллеливания программ в модели DVM Институт прикладной математики им. М.В.Келдыша РАН
Электронный задачник по программированию для системы 1С:Предприятие М. Э. Абрамян, М. Ю. Беренкеева Южный федеральный университет, факультет математики,
Алфавит языка TURBO PASCAL. Цель урока: Узнать: Алфавит языка программирования TURBO PASCAL. Этапы разработки программы Типы ошибок Разделы программы.
Декомпозиция сложных дискретных систем, формализованных в виде вероятностных МП-автоматов. квалификационная работа Выполнил: Шляпенко Д.А., гр. ИУ7-83.
СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий.
Дипломная работа Разработка программно-инструментального средства моделирования системы электроснабжения с электродвигательной нагрузкой переменной структуры.
Транксрипт:

Московский Государственный Университет Приборостроения и Информатики Дипломный проект на тему: «Разработка инструментального языка программирования для имитационного моделирования в беспроводных сетях передачи данных» Выполнил: Курош Андрей Игоревич Дипломный руководитель: Мельников Алексей Олегович impworks

Постановка задачи Задачи дипломного проекта: Обзор существующих решений для имитационного моделирования Разработка проблемно-ориентированного языка программирования Разработка инструментальных средств: Компилятор Стандартная библиотека Среда разработки

Обзор существующих программных продуктов Широкий функционал Поддержка компании-разработчика Высокая стоимость комплекса Сложность изучения Matlab / Simulink «Зрелый» проект Существует литература Не приспособлен к предметной области GPSS Прост в изучении Отечественная разработка Проект заброшен Нет открытого исходного кода Visual Имитак

Структурная схема имитационной модели Инициализирующая программа Статистика print 1print 2 Диспетчер Синхронизатор Библиотечные ф-ции

Поддержка генерации потока входных событий Поток событий Обработчик Распределение по времени Условие завершения emit every with limit until

Событийно-управляемая модель на уровне языка Начало Конец Последовательная модель: Действие 1 Цикл Действие 2 Начало Конец Событийная модель: Диспетчер событий Событие 1Событие 2 Событие 3Событие N

Распределение событий по времени emit test:method every 5 with distr:normal limit 1000

Распределение событий по времени emit test:method with distr:exp(1) limit 1000 λ = 1

Многолучевая модель распространения сигнала Препятствие Луч 2 Луч 1 Луч 3 Передатчик Приемник Сигнал в точке приемника: t τ 1 = 0 τ2τ2 τ3τ3 Частотный отклик канала: Шум SNR1 >> SNR2

Модель беспроводных сетей передачи данных Фрейм Блок 1 Блок 2 Блок 3 Блок N Поток 1 (HTTP) Очередь Поток 2 (FTP) Очередь Поток 3 (Video) Очередь Планировщик Модуляция BPSK Модуляция QPSK Модуляция M-QAM

Основные элементы и конструкции языка type eventer { void action { for i in do if i % 2 do print i, " " println } var obj = new eventer emit obj.action every 10 limit 5 simulate any io:wait Объявление типа Объявление метода Цикл с параметром Условие Вывод на экран Создание объекта Объявление переменной Объявление события Симуляция Вызов системного метода

Типы данных bool int float complex string range matrix dict file socket math io fourier array timer chart series colors histogram flow flow_type symbol block modulation flow_sim flow_sim_result distr sim sim_result

Методы визуализации Линейные графики Гистограммы

Внутреннее устройство компилятора Лексический анализатор Семантический анализатор Генератор байт-кода Синтаксический анализатор Исходный текст Сборка.NET Лексемы БНФ Mono Cecil Контекстные ограничения Компилятор языка Mirelle

Пример реализации имитационной модели Алгоритм планировщика Задание потоков данных Параметры симуляции Симуляция type planner { static symbol test(flow[] flows, symbol old) { var symb = new symbol for curr in symb.blocks do curr.fill flow_sim:pick_flow flows return symb } flow_sim:add new flow flow_type:http, 1, 10, 1 flow_sim:add new flow flow_type:ftp, 1, 10, 2 flow_sim:add new flow flow_type:voip, 1, 10, 9 flow_sim:time_max = flow_sim:set_channel { 0 => 0.9; 2 => 0.1; 5 => 0.05 } flow_sim:scale = 500 var result = simulate planner planner:test print result.flows[0].wait_avg io:wait

Экономический раздел 1.Смета затрат на разработку и внедрение ПС 2.Ленточный график разработки ПС 3.Основные технико-экономические показатели исследования 1 2 3

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

Демонстрация программного продукта Запуск редактора

Благодарю за внимание Вопросы?