1. Московский Государственный Университет Приборостроения и Информатики Дипломный проект на тему: «Разработка инструментального языкапрограммирования для имитационного моделирования в беспроводных сетях передачи данных» Выполнил: Курош Андрей Игоревич Дипломный руководитель: Мельников Алексей Олегович impworks
8. Структурная схема имитационной модели Инициализирующая программа Диспетчер Синхронизатор Библиотечные ф-ции print “1” print “2” Статистика
9. Поддержка генерации потока входных событий Поток событий Обработчик Распределение по времени Условие завершения emit<обработчик> every<время>with<распред.> limit<кол-во>until<условие>
10. Событийно-управляемая модель на уровне языка Последовательная модель: Событийная модель: Конец Конец Действие 1 Событие 1 Событие 2 Цикл Диспетчер событий Действие 2 Событие 3 Событие N Начало Начало
13. Многолучевая модель распространения сигнала τ1 = 0 τ3 Передатчик Сигнал в точке приемника: t τ2 Препятствие Частотный отклик канала: Луч 1 Луч 3 Шум Препятствие SNR1 >> SNR2 Луч 2 Приемник
14. Модель беспроводных сетей передачи данных Модуляция BPSK Поток 1 (HTTP) Очередь Фрейм Блок 1 Поток 2 (FTP) Очередь Модуляция M-QAM Блок 2 Поток 3 (Video) Очередь Планировщик Блок 3 Модуляция QPSK Блок N
15. Основные элементы и конструкции языка typeeventer { void action { foriin 1..10 do ifi % 2 do printi, " " println } } varobj = neweventer emitobj.actionevery 10 limit 5 simulate any io:wait Объявление типа Объявление метода Цикл с параметром Условие Вывод на экран Объявление переменной Создание объекта Объявление события Симуляция Вызов системного метода
16. Типы данных boolint float complex string range matrix dict file socket math iofourier array timer distr sim sim_result flow flow_type symbol block modulation flow_sim flow_sim_result chart series colors histogram
18. Внутреннее устройство компилятора Исходный текст Компилятор языка Mirelle Лексемы Лексический анализатор БНФ Синтаксический анализатор Семантический анализатор Генератор байт-кода Mono Cecil Контекстные ограничения Сборка .NET
19. Пример реализации имитационной модели type planner { staticsymbol test(flow[] flows, symbol old) { varsymb = newsymbol forcurrinsymb.blocksdo curr.fillflow_sim:pick_flow flows returnsymb } } flow_sim:addnewflow flow_type:http, 1, 10, 1 flow_sim:addnewflow flow_type:ftp, 1, 10, 2 flow_sim:addnewflow flow_type:voip, 1, 10, 9 flow_sim:time_max = 10000 flow_sim:set_channel { 0 => 0.9; 2 => 0.1; 5 => 0.05 } flow_sim:scale = 500 var result = simulate planner planner:test printresult.flows[0].wait_avg io:wait Задание потоков данных Параметры симуляции Симуляция Результаты работы Алгоритм планировщика
20. Экономический раздел 1 Смета затрат на разработку и внедрение ПС Ленточный график разработки ПС Основные технико-экономическиепоказатели исследования 3 2