Моделирование дискретных процессов как парадигма программирования - umotnas.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Паради́гма программи́рования 1 341.75kb.
Концепции и парадигмы программирования. Языки программирования. 1 47.49kb.
Моделирование бизнес процессов управления: idef 1 162.01kb.
Лекция Моделирование бизнес-процессов 1 100.2kb.
Метод базисных операторов построения дискретных моделей сплошной... 2 415.68kb.
Орлов Иван Алексеевич моделирование вычислительных процессов на распределенной... 2 812.39kb.
Тема Программное обеспечение и технологии программирования Системы... 1 98kb.
Д т. н., профессор Левитский Д. Н 1 93.93kb.
Коллоквиум 3 «Направление моделирования» Моделирование систем 1 27.45kb.
Учебная программа Дисциплины р1 «Моделирование информационных процессов» 1 127.43kb.
Моделирование физических процессов 1 385.99kb.
Тема Эволюция программирования Общие замечания 1 50.55kb.
Викторина для любознательных: «Занимательная биология» 1 9.92kb.

Моделирование дискретных процессов как парадигма программирования - страница №1/1

МОДЕЛИРОВАНИЕ ДИСКРЕТНЫХ ПРОЦЕССОВ КАК ПАРАДИГМА ПРОГРАММИРОВАНИЯ

Ушакова М.В., Ушаков Ю.А.



Оренбургский государственный университет, г. Оренбург
В разных дисциплинах, читаемых на технических, математических и смежных специальностях существует курс моделирования сложных систем. В качестве примера используется множество утилит для дискретного и аналитического моделирования [1]. Однако большинство моделей представляются в наглядном виде (как схема или карта) или в виде математических зависимостей. Это не позволяет гибко управлять всеми нюансами моделей, а также понимать логику взаимодействия компонентов. Создание моделей из существующих компонентов значительно упрощает моделирование в общем и улучшает понимание внутренних взаимодействий и работы модели в целом.

Сейчас используется множество продуктов для создания моделей различных систем, от производственных комплексов до корпоративных сетей. Но когда речь идет об обучении моделированию в целом, создании понимания принципов моделирования и моделей, коммерческие продукты представляются слишком сложными для начала изучения. Для примера рассмотрим моделирование компьютерных сетей.

Программные продукты Opnet Modeler, PacketTracer позволяют получать подробные адекватные модели сетей, получать графики зависимостей и взаимодействий, временные характеристики. Но первоначально необходимо создать модель, что занимает гораздо больше времени, чем эксперименты на модели. Сначала необходимо создать физическую структуру, установить устройства и назначить связи. Затем необходимо задать параметры каждого компонента (в случае компьютера это около двадцати характеристик, в случае коммутатора – более пятидесяти). После этого создаются потоки трафика (для адекватности модели статистические характеристики должны совпадать с реальными потоками), задается логика взаимодействия (довольно сложная), указывается собираемая статистика модели.

Все эти действия не являются очевидными для новичка, но для адекватности модели они необходимы. Кроме этого, в такой модели все характеристики задаются графически, их нельзя увидеть суммарно в текстовом виде для верификации модели. Слишком большое внимание уделено в таких продуктах именно интерфейсу взаимодействия с пользователем (который в коммерческих продуктах должен являться сертифицированным на данный вид программ человеком, но не специалистом по моделированию). Графический интерфейс большинства продуктов является существенным препятствием для начинающих.

В зарубежных системах образования курсы, включающие моделирование, как правило начинаются не с изучения математических основ, и не с освоения интерфейсов построения моделей коммерческих продуктов. Там моделирование начинается с концептуальных и алгоритмических моделей, которые наиболее обще описывают ту или иную конкретную систему. Алгоритмическая модель, как правило, интуитивно понятна всем математикам, программистам и инженерам по автоматизации. Она отражает принципы взаимодействия конкретных элементов модели, без чрезмерного увлечения деталями. Но есть существенное препятствие перед началом освоения алгоритмических моделей, например компьютерных сетей или производственного потока. Это отсутствие продуктов алгоритмического моделирования в коммерческом сегменте.

В сегмента продуктов с открытым исходным кодом, не очень популярном в российском образовании, существует семейство программных комплексов NS (Network Simulator), предназначенное для дискретного моделирования сетевых структур посредством задания алгоритмической модели. Популярности в российских ВУЗах эти продукты не получили из за отсутствия поддержки ОС Windows и практически полного отсутствия встроенных средств интерфейса и средств интерактивного взаимодействия с пользователем. Но возможности программы даже превышают некоторые коммерческие продукты, более половина исследований моделей сетевых структур (в основном компьютерных сетей и производственных потоков) в зарубежных студенческих работах выполняется на продуктах этого семейства (NS2 и NS3).

В NS2,3 используется объектная модель, которая позволяет простым способом очень точно описать модель. Для первоначального создания модели могут использоваться сторонние инструменты, например NS3Generator, в котором можно создать физическую структуру сети, соединить узлы связями, задать базовые типы узлов. Поскольку это инструмент очень прост в использовании, создание базовой модели сети на 10-20 узлов занимает менее пяти минут. После этого генерируется программный код на языке C++, который описывает созданную модель, связи и базовые настройки узлов.

Код, используемый в NS очень прост в изучении и крайне наглядно показывает логику взаимодействий компонентов модели. При наличии у студента справочника объектов, элементарно задаются большинство параметров потоков трафика, линий связи, параметры марковских моделей (работа с заявками, времена и интенсивности). При необходимости, модель всегда можно изменить, дополнить, установить новые параметры.

Кроме этого, в NS есть дополнительные модули визуализации поведения модели в реальном времени, записи событий, модуль связи с MathLab для визуализации и анализа статистических данных. Разработано порядка пятидесяти различных средств и сред для работы с NS в академической программе. Алгоритмическая модель в NS может выглядеть следующим образом: физическая схема - создать 4 узла типа терминал, создать стандартный коммутатор, создать 4 связи, соединить узлы 1-4 с коммутатором (ассоциировать конец связи с терминалом и с коммутатором). Задание параметров выглядит так: задать интенсивность обработки пакетов на терминалах 1-4, задать пропускную способность и задержку каналов связи 1-4. Что бы протестировать поведение сети на реальном трафике, можно использовать сохраненный трафик реальной сети или генерировать трафик на выбранных узлах с выбранными параметрами (протокол, интенсивность, интервалы времени, параметры протокола). Поскольку все параметры задаются программным образом в коде, детализировать такую модель можно вплоть до программных настроек оборудования, а, если существующих параметров недостаточно, можно создать свою собственную модель с любыми характеристиками. Так, например, возможно тестирование принципиально новых протоколов, оборудования для которого еще не существует модели в коммерческих продуктах.

Дополнительной особенностью NS является возможность связки с реальной сетью (в случае компьютерной сети), эмуляторами операционных систем, что позволяет ставить эксперименты, недоступные обычным эмуляторам.



Студенты могут разрабатывать собственные протоколы, тестировать аппаратные и программные разработки в среде моделирования с применением любого вида анализа полученных результатов, что позволяет существенно повысить усвоение материала.
Список литературы
1 Pournaghshband, V. Controlling Applications by Managing Network Characteristics / V. Pournaghshband, L. Kleinrock, P. Reiher, A. Afanasyev // Proceedings of IEEE ICC 2012 Communication and Information Systems Security Symposium. — 2012.