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

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



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

ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ МОДЕЛИРОВАНИЯ Классификационные признаки моделирования Эффективность моделирования систем.
ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ МОДЕЛИРОВАНИЯ Классификационные признаки моделирования Эффективность моделирования систем.
Тема: «Алгоритмизация и программирование». 11 класс Учитель Кравченко Лора Викторовна Тема: «Алгоритмизация и программирование». 11 класс Учитель Кравченко.
Современное состояние проблемы моделирования систем Докладчик: Виноградов Андрей Группа: ИТО-4-07 Группа: ИТО-4-07.
Введение в задачи исследования и проектирования цифровых систем Санкт-Петербургский государственный университет Факультет прикладной математики - процессов.
Модели решения функциональных и вычислительных задач Четвертый раздел (ДЕ 4)
В общем виде вероятностный ( стохастический ) автомат ( англ. probabilistic automat) можно определить как дискретный потактный преобразователь информации.
ПОДГОТОВИЛА УЧЕНИЦА 9-В КЛАССА МБОУ-СОШ 4 ФАТЕЕВА МАРИЯ Моделирование как метод познания мира.
Модель -упрощенное представление о реальном объекте, процессе или явлении. Моделирование -построение моделей для исследования и изучения объектов, процессов,
РАЗРАБОТКА ПРОГРАММНЫХ СРЕДСТВ ДЛЯ МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ МОРСКОГО НАВИГАЦИОННОГО КОМПЛЕКСА ВМиК МГУ им. М.В. Ломоносова, Лаборатория Вычислительных.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Классификация моделей Лучший способ избавиться от проблемы – это решить её.
Моделирование как метод научного познания.. МОДЕЛЬ – в основе латинское слово moduius – мера, образец Модель, по сути, является представлением «реального.
ЗНАКОМСТВО С МОДЕЛИРОАПНИЕМ. Модель – это некий новый объект, который отражает существенные особенности изучаемого объекта, явления или процесса.
Моделирование и исследование мехатронных систем Курс лекций.
Основы моделирования. Модель – это искусственно созданный объект, дающий упрощенное представление о реальном объекте, процессе или явлении. Моделирование.
Люди издавна используют моделирование для исследования объектов, процессов, явлений.
Компьютерное математическое моделирование в среде Excel.
Александров А.Г ИТО Методы теории планирования экспериментов 2. Стратегическое планирование машинных экспериментов с моделями систем 3. Тактическое.
Транксрипт:

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

Понятие модели Модель – это объект, заменяющий исходный объект в ходе достижения заданных целей и при заданных предположениях. Важные примеры цели моделирования: понимание; обучение; исследование (проектирование); замещение исходного объекта в составе некоторой системы; 2

Понятие модели (2) Модель – это всегда упрощение исходного объекта (имеются упрощающие предположения) (что-то отбрасываем и/или обобщаем); Модель должна быть адекватной объекту (для заданной цели применения); Использование модели должно быть проще использования исходного объекта См. также источник posob-zamyatina-1. pdf и другие учебные пособия 3

Виды моделей (1) Физические модели Натурные: эксперименты с реальным объектом или его частью; полунатурные: часть объекта заменена моделью; масштабные: глобус, макеты зданий, макеты в аэро(гидро)динамической трубе аналоговые: использование иных физических явлений с теми же законами Аналоговые выч машины: 4

Натурные модели: примеры Эксперимент над реальным объектом или его частью (в условиях, отличных от штатных условий эксплуатации) Бортовая цифровая вычислительная машина в «коммерческом» исполнении вместо «промышленного»

Полунатурные модели БЦВМ ОС РВ Функциональное ПО Модели бортовых приборов Среда выполнения моделей Linux с расширениями РВ x86 сервер Бортовой канал Натурный объект Стенд ПНМ

Масштабные модели

Продувка моделей летательных аппаратов в аэродинамических трубах 1) Принцип обращения движения; 2) Должны выполняться условия аэродинамического подобия, в том числе: Геометрическое подобие; Совпадение чисел Маха для модели и натурного объекта; Совпадение чисел Рейнольдса M = V / a; Re = V * l / ν V – скорость потока; a – скорость звука при конкретных условиях; l – размах крыльев; ν – коэффициент кинематической вязкости воздуха Подробности вне рамок курса, см., например, здесь pdf %8D%D1%80%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D0%BA%D0%B8%20%D0%B8%20%D0 %BB%D0%B5%D1%82%D0%BD%D0%BE- %D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5%20%D1%85%D0% B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B8%20%D 0%B2%D0%BE%D0%B7%D0%B4%D1%83%D1%88%D0%BD%D1%8B%D1%85%20%D1%81%D1%83- %20%D0%B4%D0%BE%D0%B2,%20%D1%87%D0%B0%D1%81%D1%82%D1%8C%201.pdf

Модель и макет Макет – модель, предварительный образец (© Ожегов) Как правило, уменьшенное в масштабе представление объекта Как правило, при создании макета от внутреннего содержания абстрагируются Цель создания макета – как правило, оценка взаимодействия макетируемого объекта с окружением, а не «проникания внутрь»

Виды моделей (2) Знаковые –лингвистические (правила, кодексы …) –графикеские (схемы, чертежи) –математические Математические - по свойствам моделируемого объекта –структурные –функциональные 12 Доп. ссылки: [Замятина 2007], [Советов, Яковлев 2001]

Структурные модели Определяют: –Разбиение системы на компоненты –Связи между компонентами Используемые математические понятия –Иерархические древовидные модели –Графовые модели –Сетевые модели

Структурные модели (2) Важные примеры –Диаграммы классов UML –Диаграммы развёртывания UML 14

Важные примеры средств описания функциональных моделей Диаграммы потоков данных (DFD) Гейна-Сарсона {для бизнес- процессов} Блок-схемы, диаграммы последовательности UML; Диаграммы состояний (state transition diagrams) Диаграммы message sequence chart UML Системы массового обслуживания 15

Пример диаграммы состояний 16

Виды моделей (3) Математические функциональные: аналитические: построены явные математические зависимости результатов от входных данных; алгоритмические: построен алгоритм вычисления результатов по входным данным; имитационные: построен алгоритм, описывающий поведение объекта во времени с учётом входных воздействий во времени 17

Аналитические модели (примеры) Результат аналитического решения ДУ: s(t) = v 0 t + at 2 /2 Результаты обработки ранее сделанных измерений (209 систем – объём кэша, тактовая частота, количество каналов ввода-вывода, объём памяти) – 1987 г. Worst Case Execution Time (WCET) Модели производительности для параллельных программ

Аналитические модели (2) V – количество операций в программе; p – число процессоров (ядер); S(p) = t(1) / t(p) - ускорение Полное распараллеливание: S(p) = p Пусть α – доля последовательных вычислений Закон Амдаля (Amdahl) S(p) 1 / (α + (1-α)/p) 19

Более общая модель параллельных вычислений 20 Вершина – задача Вес вершины – время выполнения Ребро (стрелка) – зависимость по данным В одном ярусе – параллельно выполняемые задачи Критический путь длиной Vкр

Более общая модель (2) t(p) V / p + Vкр * (p-1)/p s(p) 1 / (1/p + Vкр/V * (p-1)/p) Конвейерные вычисления p – длина конвейера; V – длина вектора; T(p) = p + V – 1; t(1) = pV; a = p / (1 + (p-1)/V) 21

Имитационное моделирование Алгоритмические ММ выражают связи выходных параметров с параметрами внутренними и внешними в форме алгоритма Имитационная ММ - это алгоритмическая модель, отражающая поведение исследуемого объекта во времени при задании внешних воздействий на объект. (методические рекомендации Минобрнауки РФ; [Замятина 2007 ]) 22

Имитационное моделирование (2) Имитационная модель воспроизводит процесс функционирования системы во времени, причём имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени [Советов, Яковлев, с.34] 23

Простейшая имитационная модель Дано: часы со стрелками Определить: сколько раз минутная стрелка покрывает часовую за время с полудня до полуночи? 24

Простейшая имитационная модель (2) Предположения: стрелки имеют нулевую ширину Минутная стрелка поворачивается каждую секунду Часовая стрелка поворачивается на 1/12 поворота минутной каждую секунду

Простейшая имитационная модель ( 3 ) int count = 1; // число перекрытий; int time = 0; // время в секундах double phi_min = 0; // угол минутной стрелки в градусах; double phi_hr = 0; // угол часовой стрелки в градусах; // цикл моделирования while( time < 60*(59*12-1) ) { time++; // след. момент времени phi_min = phi_min + 0.1; // поворот минут. стрелки if( phi_min == 360 ) phi_min = 0; phi_hr = phi_hr + 0.1/12; // поворот часовой стрелки // проверка перекрытия // printf ( "hr = %F min = %F\n", phi_hr, phi_min ); if( fabs( phi_min - phi_hr) < 0.05 ){ count ++; printf( "hr = %F min = %F\n", phi_hr, phi_min ); } } printf ( "count = %d\n", count ); 26 Всё ли правильно?

Простейшая имитационная модель ( 4 ) int count = 1; // число перекрытий; int time = 0; // время в секундах double phi_min = 0; // угол минутной стрелки в градусах; double phi_hr = 0; // угол часовой стрелки в градусах; // цикл моделирования while( time < 60*( 59 *12-1) ) { time++; // след. момент времени phi_min = phi_min + 0.1; // поворот минут. стрелки if( fabs(phi_min - 360) < 0.01 ) phi_min = 0; phi_hr = phi_hr + 0.1/12; // поворот часовой стрелки // проверка перекрытия // printf ( "hr = %F min = %F\n", phi_hr, phi_min ); if( fabs( phi_min - phi_hr) < 0.05 ){ count ++; printf( "hr = %F min = %F\n", phi_hr, phi_min ); } } printf ( "count = %d\n", count ); 27

Простейшая имитационная модель (5) Предположение о нулевой толщине стрелок потребует нулевого шага по времени Сравнивать числа float (double) на точное равенство – опасно! Имитационная модель, в отличие от аналитической, может быть легко детализирована для стрелок произвольной ширины

Особенности ИМ По сравнению с аналитическими моделями: –универсальность применения (+); –результат для конкретного набора входных данных (-); По сравнению с «программами общего назначения»: «ТЗ формируется по ходу дела…» Необходимость поддержки понятий предметной области 29

30 ИМ по способам продвижения времени С постоянным шагом –Непрерывные модели –Потактовые модели От события к событию –Дискретно-событийные модели Гибридные модели –Совместная работа компонентов разного рода –Переключение режимов «непрерывного» компонента

Этапы создания ИМ (1) Анализ требований и проектирование –Постановка цели моделирования –Построение концептуальной модели –Проверка достоверности концептуальной модели Реализация модели –Выбор языка и средств моделирования –Программирование модели –Отладка модели 31

Этапы создания ИМ (2) Проведение экспериментов и анализ результатов –Планирование экспериментов –Прогон модели –Анализ результатов и выводы 32

Концептуальная модель 33 Как правило, знаковая (лингв. или график. модель) различной степени формализованности Построение – процесс неформальный, интуитивный Определяет структуру моделируемой системы, алгоритмы функционирования компонентов, их состояния, порядок взаимодействия, и т.д. Представляет собой решение по абстракции и упрощению исследуемой системы «техническое задание» на программирование имитационной модели

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

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

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

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

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

Моделирование посредством планирования событий 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: …. } 39

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