2011 kurosh msc presentation

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

Upload: rf-lab

Post on 16-Jun-2015

384 views

Category:

Education


1 download

TRANSCRIPT

Page 1: 2011 Kurosh MSc presentation

Московский Государственный Университет Приборостроения иИнформатики

Дипломный проект на тему:

«Разработка инструментальногоязыка программирования

для имитационного моделированияв беспроводных сетях передачи данных»

Выполнил:Курош Андрей Игоревич

Дипломный руководитель:Мельников Алексей Олегович

impworks

Page 2: 2011 Kurosh MSc presentation

Постановка задачи

Задачи дипломного проекта:

• Обзор существующих решений для имитационного моделирования

• Разработка проблемно-ориентированного языка программирования

• Разработка инструментальных средств:• Компилятор• Стандартная библиотека• Среда разработки

Page 3: 2011 Kurosh MSc presentation

Обзор существующих программных продуктов

Широкий функционал

-Поддержка компании

разработчика

Высокая стоимость комплекса

Сложность изучения

Matlab / Simulink

« » Зрелый проект

Существует литература

Не приспособлен к предметной

области

GPSS

Прост в изучении

Отечественная разработка

Проект заброшен

Нет открытого исходного кодаVisual Имитак

Page 4: 2011 Kurosh MSc presentation

Структурная схема имитационной модели

Инициализирующая программа

Статистика

print “1” print “2” Диспетчер

Синхронизатор Библиотечные ф-ции

Page 5: 2011 Kurosh MSc presentation

Поддержка генерации потока входных событий

Поток событий

Обработчик Распределение по времени

Условие завершения

emit <обработчик>every <время> with <распред.>limit <кол-во> until <условие>

Page 6: 2011 Kurosh MSc presentation

Событийно-управляемая модель на уровне языка

Начало

Конец

Последовательнаямодель:

Действие 1

Цикл

Действие 2

Начало

Конец

Событийнаямодель:

Диспетчерсобытий

Событие 1 Событие 2

Событие 3 Событие N

Page 7: 2011 Kurosh MSc presentation

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

emit test:methodevery 5 with distr:normallimit 1000

Page 8: 2011 Kurosh MSc presentation

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

emit test:methodwith distr:exp(1)limit 1000

λ = 1

Page 9: 2011 Kurosh MSc presentation

Многолучевая модель распространения сигнала

Препятствие

Препятствие

Луч 2

Луч 1

Луч 3

Передатчик

Приемник

Сигнал в точке приемника:

t

τ1 = 0

τ2

τ3

Частотный отклик канала:

Шум

SNR1 >> SNR2

Page 10: 2011 Kurosh MSc presentation

Модель беспроводных сетей передачи данных

Фрейм

Блок 1

Блок 2

Блок 3

Блок N

Поток 1 (HTTP) Очередь

Поток 2 (FTP) Очередь

Поток 3 (Video) Очередь

Планировщик

Модуляция BPSK

Модуляция QPSK

Модуляция M-QAM

Page 11: 2011 Kurosh MSc presentation

Основные элементы и конструкции языка

type eventer{ void action { for i in 1..10 do if i % 2 do print i, " " println }}

var obj = new eventeremit obj.action every 10 limit 5simulate anyio:wait

Объявление типа

Объявление метода

Цикл с параметромУсловие

Вывод на экран

Создание объекта

Объявление переменной

Объявление события

СимуляцияВызов системного метода

Page 12: 2011 Kurosh MSc presentation

Типы данных

bool int float complex string range matrix dict file socket

math io fourier array timer

chartseriescolors

histogram

flowflow_type

symbolblock

modulationflow_sim

flow_sim_result

distrsim

sim_result

Page 13: 2011 Kurosh MSc presentation

Методы визуализации

Линейные графики Гистограммы

Page 14: 2011 Kurosh MSc presentation

Внутреннее устройство компилятора

Лексический анализатор

Семантический анализаторГенератор байт-кода

Синтаксический анализатор

Исходный текст

Сборка .NET

Лексемы

БНФ

Mono Cecil

Контекстныеограничения

Компиляторязыка Mirelle

Page 15: 2011 Kurosh MSc presentation

Пример реализации имитационной модели

Алгоритмпланировщика

Заданиепотоков данных

Параметрысимуляции

Симуляция

Результаты работы

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, 1flow_sim:add new flow flow_type:ftp, 1, 10, 2flow_sim:add new flow flow_type:voip, 1, 10, 9

flow_sim:time_max = 10000flow_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_avgio:wait

Page 16: 2011 Kurosh MSc presentation

Экономический раздел

1. Смета затрат на разработку и внедрение ПС

2. Ленточный график разработки ПС

3. Основные технико-экономическиепоказатели исследования

1

2

3

Page 17: 2011 Kurosh MSc presentation

Выводы

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

• Симуляции процессов распределения ресурсов в беспроводной сети передачи данных

• Симуляции абстрактных СМО в контексте дискретно-событийного моделирования

• Прототипирования алгоритмов

Page 18: 2011 Kurosh MSc presentation

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

Запускредактора

Page 19: 2011 Kurosh MSc presentation

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