
- •Москва, 2004
- •Введение
- •1. Основные понятия теории моделирования
- •1.1 Понятие модели. Виды моделей
- •Цель (человека)
- •1.2. Общие вопросы моделирования систем
- •1.3. Основные требования к моделям
- •1.4. Принципы моделирования
- •1.5 Вопросы для самоконтроля
- •5. Основные требования к моделям.
- •6. Принципы моделирования.
- •2. Компьютерное моделирование
- •2.1 Этапы моделирования
- •2.2 Определение цели моделирования.
- •Определение типа системы;
- •Описание рабочей нагрузки;
- •Декомпозиция системы.
- •2.3 Определение типа системы
- •2.4 Описание рабочей нагрузки.
- •2.5 Декомпозиция системы
- •2.6 Выбор между имитационной или аналитической моделью
- •2.7 Вопросы для самоконтроля
- •6. Декомпозиция системы.
- •3.Формализация модели.
- •3.1 Классификация схем построения имитационной модели
- •3.2. Представление динамики системы
- •3.3. Генераторы случайных чисел
- •3.4 Моделирование случайных факторов
- •3.5 Управление модельным временем
- •3.5.1 Виды представления времени в модели
- •3.5.2 Изменение времени с постоянным шагом
- •3.5.3 Моделирование по особым состояниям
- •3.6. Моделирование параллельных процессов
- •3.6.1. Виды параллельных процессов
- •3.6.2. Механизм реализации параллельных процессов в языках моделирования
- •3.7 Вопросы для самоконтроля
- •8. Виды представления времени в модели.
- •4. Программная реализация модели
- •5.Планирование модельных экспериментов
- •5.1 Задачи планирования экспериментов. Стратегическое и тактическое планирование.
- •5.2. Стратегическое планирование имитационного эксперимента
- •5.2.1. Цель стратегического планирования эксперимента
- •5.2.2. Способы построения стратегического плана
- •5.3. Тактическое планирование экспериментов
- •5.4 Вопросы для самоконтроля
- •6. Обработка и анализ результатов моделирования
- •6.1 Основная идея регрессионного анализа
- •6.2 Общая схема проведения расчетов
- •6.3 Оценка качества имитационной модели
- •6.3.1 Адекватность модели
- •6.3.2 Оценка устойчивости
- •6.3.3 Оценка чувствительности
- •6.4 Калибровка модели
- •6.5 Вопросы для самоконтроля
- •6. Оценка чувствительности.
- •7.1 Основные понятия теории массового обслуживания
- •7.2 Марковский процесс
- •7.2.1 Понятие марковского процесса
- •7.2.2 Потоки событий
- •7.3 Уравнения Колмогорова для вероятностей состояний. Финальные вероятности состояний
- •7.4 Схема гибели/размножения.
- •7.5 Формула Литтла.
- •7.6 Моделирование смо как Марковского процесса
- •7.7. Моделирование смо по событиям
- •Заключение
3.6. Моделирование параллельных процессов
Практически любая сложная система имеет в своем составе компоненты, работающие одновременно, или параллельно. Можно утверждать, что в такой системе существуют параллельные процессы. Параллельно работающие подсистемы могут взаимодействовать самым различным способом либо работать независимо друг от друга. Способ взаимодействия подсистем определяет вид параллельных процессов, протекающих в системе. В свою очередь, вид моделируемых процессов влияет на выбор метода их имитации.
3.6.1. Виды параллельных процессов
Асинхронный параллельный процесс (ПП) – такой процесс, состояние которого не зависит от состояния другого ПП.
Пример 1. Асинхронные ПП, протекающие в одной системе:
подготовка и проведение рекламной компании фирмой и работа сборочного конвейера;
выполнение вычислений процессором и вывод текста на печать.
Синхронный ПП – такой процесс, состояние которого зависит от состояния взаимодействующих с ним ПП.
Пример 2. Работа магазина и доставка товара со склада; любой конвейер.
Один и тот же процесс может быть синхронным по отношению к одному из активных ПП и асинхронным по отношению к другим.
Пример 3. При работе ВС по технологии «клиент-сервер», каждый из узлов синхронизирует свою работу с работой сервера, но не зависит от работы других узлов.
Подчиненный процесс – создается и управляется другим процессом (более высокого уровня).
Пример 4. Ведение боевых действий.
Независимый ПП – процесс, который не является подчиненным ни для одного из процессов.
Пример 5. После запуска неуправляемой ракеты ее полет можно рассматривать как независимый процесс, одновременно с которым самолет ведет боевые действия другими средствами.
Способ организации ПП в системе зависит от физической сущности системы.
На прикладном уровне взаимодействие между параллельными процессами реализуется программистом средствами языка, на котором разрабатывается программное обеспечение. Наибольшими возможностями в этом отношении обладают так называемые языки реального времени (ЯРВ) и языки имитационного моделирования (ЯИМ).
ЯРВ – языки, предназначенные для создания программного обеспечения, работающего в реальном масштабе времени, например, в различных АСУ. К ним относятся Ада, Модула, и практически единственный отечественный язык Эль-76 (использовался в многопроцессорных вычислительных комплексах семейства Эльбрус).
ЯИМ – по сравнению с ЯРВ требуют от разработчика значительно менее высокого уровня подготовки в области программирования, что обусловлено следующим:
средства моделирования изначально ориентированы на квазипараллельную обработку параллельных процессов;
механизм реализации ПП относится, как правило, к внутренней организации системы (языка) моделирования, и их работа скрыта от программиста.
В практике имитационного моделирования используются как процессно-ориентированные языки (SIMULA), так и языки, ориентированные на обработку транзактов (заявок) (GPSS).
И в тех, и в других используются аналогичные методы реализации квазипараллелизма, основанные на ведении списков событий.
Современные языки, ориентированные на использование в среде многозадачных ОС типа Windows, частично используют эти механизмы управления процессами.