Лекция 4 (1124165)
Текст из файла
Имитационное моделирование в исследованиии разработке информационных системЛекция 4Основные подходы к организациидискретно-событийных имитационныхмоделей.Примеры библиотек, языков, системмоделированияПример моделируемойсистемы2Пример моделируемойсистемы (2)• Состав:––––веб-клиенты на хосте h1веб-сервер на хосте h2Фрагмент сети Internet между h1 и h2Стек TCP/IP на h1 и h2• Цели:– исследовать зависимость очереди запросов ксерверу от числа клиентов;– воспроизвести временную диаграмму работысистемы на уровне состояния сервера иклиентов, очередей запросов3ПараметрыЧисло клиентовNДлина i-го запроса j-го клиентаreql(i,j)Интервал между запросамиreqtime (i,j)Время прохождения стека на h1stacktime1(i)Время прохождения стека на h2stacktime2(i)Время прохождения сообщения в сетиNetwtime(l)Время подготовки ответаAnstime(I,j)Длина ответаAnsl(I,j)4Предположения• Клиент генерирует следующий запросчерез интервал времени после приходаответа на предыдущий• Первый запрос второго и последующихклиентов?• Стек протоколов в каждый моментвремени пропускает не более одногосообщения, прочие ставятся в очередь• Сеть начинает передачу сообщения,получив его полностью.
Аналогично, лишьполностью прошедшее через сетьсообщение передаётся стеку протоколов 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События для модели «клиентысеть-сервер»ТипАтрибуты (доп)НазначениеCLIENT_REQномер клиентадлина запроса(номер запроса)Клиент выдал запросCLIENT_ANSномер клиентадлина ответа(номер ответа)Клиентом получен ответSTACK_OUTномер клиентадлина (номер)запросаномер хостаЗапрос вышел в сетьSTACK_INЗапрос или ответ пришёл в стекиз сетиSERV_REQномер клиентадлина запроса(номер запроса)SERV_ANSномер клиентадлина ответазапрос пришел на сервер9Событие – пример описания наСи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<N; i++)schedule( CLIENT_REQ, 0+time[I,0], I, 0);break;case CLIENT_ANS:schedule(CLIENT_REQ,curr_time+time[client_num, req_num], client_num,req_num+1);// Стек протоколовcase STACK_IN:schedule(STACK_OUT, curr_time+time[client_num,req_num], client_num, req_num+1);11Обработка событий в общем цикле (2)// Сеть// не забыть про возможностьодновременного присутствиянескольких сообщений в сети12Состояние моделируемой системы• Текущий номер запроса дляклиентов;• Клиент: создание запроса; ожиданиеответа• Стек протоколов: ожидание;передача;• Сеть: ожидание, передача• Сервер: ожидание запроса,выполнение запроса13Недостатки «прямолинейного»событийного подхода• Нет структуры• Неудобства детализации модели• Неудобства объединения моделей ипостроения иерархииДля крупных моделей используется внутрибиблиотечных объектов или внутри средыпрогона моделейИнтересный пример: DiskSim –настраиваемая модель дисковой системы14http://www.pdl.cmu.edu/DiskSim/Усовершенствование схемыпланирования событийПереход к ОО языку• Компонентам системы ставим в соответствиеобъекты (процессы)• Переменные состояния – располагаем внутрипроцессов• События помещаем в календарь с указателем напроцесс• У процесса – собственный обработчик событийПример библиотеки:http://www.inf.usi.ch/carzaniga/ssim/15Процессо (транзактно)ориентированный подход• Сеть узлов обслуживания (ресурсов)• Запросы на обслуживание(транзакты)• Очереди транзактовКлассический пример: GPSSsince 1961• GPSS World ((С) 2007 MinutemanSoftware)• Расширенный редактор GPSS World 16((С) Элина Компьютерс)Фрагмент модели на GPSSGENERATE 3.34,1.7;Create next customer.TEST LE Q$Barber,3,Finis ;Wait if line 3 or less*else leave shopASSIGN Custnum,X$Custnum ;Assign number tocustomerQUEUE Barber;Begin queue time.SEIZE Barber;Own or wait for barber.DEPART Barber;End queue time.ADVANCE 6.66,1.7;Haircut takes a fewminutes.RELEASE Barber;Haircut done.
Give up thebarber.Finis TERMINATE 1;Customer leaves.17Процессо-ориентированный подход• Процесс как компонент модели контекст и поток управления;• Функция продвижения модельноговремени;• Взаимодействие и синхронизацияпроцессов• Процессы модели отображаются нанити или процессы ОС;• Привязка процессов к календарю18обеспечивается средой прогонаПроцессо-ориентированный подход (2):пример взаимодействия черезсообщенияprocess Client <input repl; output req>(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.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.