Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемСемен Моржеретов
1 Имитационное моделирование в исследовании и разработке информационных систем Лекция 4 Основные подходы к организации дискретно-событийных имитационных моделей. Примеры библиотек, языков, систем моделирования
2 Пример моделируемой системы 2
3 Пример моделируемой системы (2) 3 Состав: –веб-клиенты на хосте h1 –веб-сервер на хосте h2 –Фрагмент сети Internet между h1 и h2 –Стек TCP/IP на h1 и h2 Цели: –исследовать зависимость очереди запросов к серверу от числа клиентов; –воспроизвести временную диаграмму работы системы на уровне состояния сервера и клиентов, очередей запросов
4 Параметры 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 Предположения Клиент генерирует следующий запрос через интервал времени после прихода ответа на предыдущий Первый запрос второго и последующих клиентов? Стек протоколов в каждый момент времени пропускает не более одного сообщения, прочие ставятся в очередь Сеть начинает передачу сообщения, получив его полностью. Аналогично, лишь полностью прошедшее через сеть сообщение передаётся стеку протоколов 5
6 Предположения (2) В сети возможна одновременная передача в обоих направлениях В каждом направлении может одновременно передаваться неограниченное число сообщений (вариант: ограниченное число – не более M) 6
7 Моделирование посредством планирования событий 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
8 Подходы к организации моделей Событийно-ориентированный Процессо-ориентированный –Транзакты –«собственно» процессы и нити (threads) Агентно-ориентированный (развитие «собственно» процессного) 8
9 События для модели «клиенты- сеть-сервер» 9 Тип Атрибуты (доп)Назначение CLIENT_REQномер клиента длина запроса (номер запроса) Клиент выдал запрос CLIENT_ANSномер клиента длина ответа (номер ответа) Клиентом получен ответ STACK_OUTномер клиента длина (номер) запроса номер хоста Запрос вышел в сеть STACK_INЗапрос или ответ пришёл в стек из сети SERV_REQномер клиента длина запроса (номер запроса) запрос пришел на сервер SERV_ANSномер клиента длина ответа
10 Событие – пример описания на Си struct Event{ int type; float time; union { int client_num, req_num; int client_num, req_num, host_num; … } params; }; 10
11 Обработка событий в общем цикле // Клиент(ы) case START: // запускаем всех клиентов for( i=0; I
12 Обработка событий в общем цикле (2) // Сеть // не забыть про возможность одновременного присутствия нескольких сообщений в сети 12
13 Состояние моделируемой системы Текущий номер запроса для клиентов; Клиент: создание запроса; ожидание ответа Стек протоколов: ожидание; передача; Сеть: ожидание, передача Сервер: ожидание запроса, выполнение запроса 13
14 Недостатки «прямолинейного» событийного подхода Нет структуры Неудобства детализации модели Неудобства объединения моделей и построения иерархии Для крупных моделей используется внутри библиотечных объектов или внутри среды прогона моделей Интересный пример: DiskSim – настраиваемая модель дисковой системы 14
15 Усовершенствование схемы планирования событий Переход к ОО языку Компонентам системы ставим в соответствие объекты (процессы) Переменные состояния – располагаем внутри процессов События помещаем в календарь с указателем на процесс У процесса – собственный обработчик событий Пример библиотеки: 15
16 Процессо (транзактно)- ориентированный подход Сеть узлов обслуживания (ресурсов) Запросы на обслуживание (транзакты) Очереди транзактов Классический пример: GPSS since GPSS World ((С) 2007 Minuteman Software) Расширенный редактор GPSS World ((С) Элина Компьютерс) 16
17 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 Процессо-ориентированный подход Процесс как компонент модели - контекст и поток управления; Функция продвижения модельного времени; Взаимодействие и синхронизация процессов Процессы модели отображаются на нити или процессы ОС; Привязка процессов к календарю обеспечивается средой прогона 18
19 Процессо-ориентированный подход (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 Агентно-ориентированное моделирование С точки зрения практического применения агентное моделирование можно определить как метод имитационного моделирования, исследующий поведение децентрализованных агентов и то, как это поведение определяет поведение всей системы в целом. При разработке агентной модели, инженер вводит параметры агентов (это могут быть люди, компании, активы, проекты, транспортные средства, города, животные и т.д.), определяет их поведение, помещает их в некую окружающую среду, устанавливает возможные связи, после чего запускает моделирование. Индивидуальное поведение каждого агента образует глобальное поведение моделируемой системы. 20
21 21 Создание популяции агентов Динамическое создание и удаление агентов Среда Непрерывное пространство Дискретное пространство ГИС пространство Связи агентов и сети Взаимодействие агентов Синхронизация агентов Сбор статистики по агентам
22 Типичная архитектура среды ИМ
23 Структурный редактор
24 Визуализатор трассы
25 25 Спасибо за внимание!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.