Имитационное моделирование в исследовании и разработке информационных систем Лекция 4 Основные подходы к организации дискретно-событийных имитационных.

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



Advertisements
Похожие презентации
Имитационное моделирование в исследовании и разработке информационных систем Лекция 3 Понятие модели Основные виды моделей Имитационное моделирование.
Advertisements

Кандидат технических наук, доцент Грекул Владимир Иванович Учебный курс Проектирование информационных систем Лекция 9.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
UML МИЭМ, План лабораторной UML Краткий обзор средств моделирования Паттерны проектирования Практическая часть 2.
Стек, очередь, дек1 Структуры и алгоритмы обработки данных, 1 Лекция 4 Линейные СД Стек, очередь, дек.
Лекция 16 Основы моделирования систем на языке GPSS.
Имитационное моделирование в исследовании и разработке информационных систем Лекция 9 Имитационное моделирование аппаратных и программных средств вычислительных.
Компьютерное моделирование Петухин Вячеслав Алексеевич 1 семестр, 38 часа лекций, 38 часов лабораторных.
Технология GPSS Транзактно-ориентированное моделирование.
Управление процессами 3.Взаимодействие процессов: синхронизация, тупики 3.1.Разделение ресурсов 3.2.Взаимное исключение Проблемы реализации взаимного.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Информационные технологии Выбор вариантов 2 1.Выполнение последовательности операторов. 2.Выполнение определенной последовательности операторов.
Управление процессами 3.Взаимодействие процессов: синхронизация, тупики 3.1.Разделение ресурсов 3.2.Взаимное исключение Проблемы реализации взаимного.
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
Имитационное моделирование в исследовании и разработке информационных систем Лекция 3 Понятие модели Основные виды моделей Примеры аналитических моделей.
ЛЕКЦИЯ 6 ( ) Механизмы продвижения модельного времени Реальное, модельное и машинное время Принцип дельта T Принцип дельта Z.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 3 Томский политехнический.
СОКЕТЫ. СОКЕТ Сокет – программный интерфейс для обеспечения обмена данными между процессами. Впервые socket API появилась в BSD Unix. Описан в POSIX В.
POSIX Threads. Общая модель Программа Общая память Поток 1 CPU Поток 2 Поток N Потоки – наборы инструкций, исполняющиеся на CPU. Все потоки одной программы.
Транксрипт:

Имитационное моделирование в исследовании и разработке информационных систем Лекция 4 Основные подходы к организации дискретно-событийных имитационных моделей. Примеры библиотек, языков, систем моделирования

Пример моделируемой системы 2

Пример моделируемой системы (2) 3 Состав: –веб-клиенты на хосте h1 –веб-сервер на хосте h2 –Фрагмент сети Internet между h1 и h2 –Стек TCP/IP на h1 и h2 Цели: –исследовать зависимость очереди запросов к серверу от числа клиентов; –воспроизвести временную диаграмму работы системы на уровне состояния сервера и клиентов, очередей запросов

Параметры 4 Число клиентовN Длина i-го запроса j-го клиентаreql(i,j) Интервал между запросамиreqtime (i,j) Время прохождения стека на h1 s tacktime1( i ) Время прохождения стека на h2 s tacktime2( i ) Время прохождения сообщения в сетиNetwtime(l) Время подготовки ответаAnstime(I,j) Длина ответаAnsl(I,j)

Предположения Клиент генерирует следующий запрос через интервал времени после прихода ответа на предыдущий Первый запрос второго и последующих клиентов? Стек протоколов в каждый момент времени пропускает не более одного сообщения, прочие ставятся в очередь Сеть начинает передачу сообщения, получив его полностью. Аналогично, лишь полностью прошедшее через сеть сообщение передаётся стеку протоколов 5

Предположения (2) В сети возможна одновременная передача в обоих направлениях В каждом направлении может одновременно передаваться неограниченное число сообщений (вариант: ограниченное число – не более M) 6

Моделирование посредством планирования событий mod_time=0; calendar.add( first_event, 0 ); //начальное событие(я) while(!finish()) // пока не достигнуто условие окончания { event=calendar.get_first_event(); // событие с мин. Временем mod_time=event.time; switch(event.type) { case type1: /* обработка */ calendar.add(события, mod_time+интервал ); case type2: …. } 7

Подходы к организации моделей Событийно-ориентированный Процессо-ориентированный –Транзакты –«собственно» процессы и нити (threads) Агентно-ориентированный (развитие «собственно» процессного) 8

События для модели «клиенты- сеть-сервер» 9 Тип Атрибуты (доп)Назначение CLIENT_REQномер клиента длина запроса (номер запроса) Клиент выдал запрос CLIENT_ANSномер клиента длина ответа (номер ответа) Клиентом получен ответ STACK_OUTномер клиента длина (номер) запроса номер хоста Запрос вышел в сеть STACK_INЗапрос или ответ пришёл в стек из сети SERV_REQномер клиента длина запроса (номер запроса) запрос пришел на сервер SERV_ANSномер клиента длина ответа

Событие – пример описания на Си struct Event{ int type; float time; union { int client_num, req_num; int client_num, req_num, host_num; … } params; }; 10

Обработка событий в общем цикле // Клиент(ы) case START: // запускаем всех клиентов for( i=0; I

Обработка событий в общем цикле (2) // Сеть // не забыть про возможность одновременного присутствия нескольких сообщений в сети 12

Состояние моделируемой системы Текущий номер запроса для клиентов; Клиент: создание запроса; ожидание ответа Стек протоколов: ожидание; передача; Сеть: ожидание, передача Сервер: ожидание запроса, выполнение запроса 13

Недостатки «прямолинейного» событийного подхода Нет структуры Неудобства детализации модели Неудобства объединения моделей и построения иерархии Для крупных моделей используется внутри библиотечных объектов или внутри среды прогона моделей Интересный пример: DiskSim – настраиваемая модель дисковой системы 14

Усовершенствование схемы планирования событий Переход к ОО языку Компонентам системы ставим в соответствие объекты (процессы) Переменные состояния – располагаем внутри процессов События помещаем в календарь с указателем на процесс У процесса – собственный обработчик событий Пример библиотеки: 15

Процессо (транзактно)- ориентированный подход Сеть узлов обслуживания (ресурсов) Запросы на обслуживание (транзакты) Очереди транзактов Классический пример: GPSS since GPSS World ((С) 2007 Minuteman Software) Расширенный редактор GPSS World ((С) Элина Компьютерс) 16

17 Фрагмент модели на GPSS GENERATE 3.34,1.7 ;Create next customer. TEST LE Q$Barber,3,Finis ;Wait if line 3 or less * else leave shop ASSIGN Custnum,X$Custnum ;Assign number to customer QUEUE Barber ;Begin queue time. SEIZE Barber ;Own or wait for barber. DEPART Barber ;End queue time. ADVANCE 6.66,1.7 ;Haircut takes a few minutes. RELEASE Barber ;Haircut done. Give up the barber. Finis TERMINATE 1 ;Customer leaves.

Процессо-ориентированный подход Процесс как компонент модели - контекст и поток управления; Функция продвижения модельного времени; Взаимодействие и синхронизация процессов Процессы модели отображаются на нити или процессы ОС; Привязка процессов к календарю обеспечивается средой прогона 18

Процессо-ориентированный подход (2): пример взаимодействия через сообщения process Client (int num) { msg m; m = message Req; m.clientnum = num; while( 1 ){ delay( t_req() ) m.length = req_length(); send(m, req); receive( m, repl ); } 19

Агентно-ориентированное моделирование С точки зрения практического применения агентное моделирование можно определить как метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как это поведение определяет поведение всей системы в целом. При разработке агентной модели, инженер вводит параметры агентов (это могут быть люди, компании, активы, проекты, транспортные средства, города, животные и т.д.), определяет их поведение, помещает их в некую окружающую среду, устанавливает возможные связи, после чего запускает моделирование. Индивидуальное поведение каждого агента образует глобальное поведение моделируемой системы. 20

21 Создание популяции агентов Динамическое создание и удаление агентов Среда Непрерывное пространство Дискретное пространство ГИС пространство Связи агентов и сети Взаимодействие агентов Синхронизация агентов Сбор статистики по агентам

Типичная архитектура среды ИМ

Структурный редактор

Визуализатор трассы

25 Спасибо за внимание!