- •Федеральное агентство по образованию
- •А.Ю. Кузьмин, к.Т.Н., доц. Кафедры прикладных исследований инновационных проектов и единой документации цф Российской академии права
- •Введение
- •1.2. Описание моделируемого процесса
- •1.3. Пример решения
- •1.4. Задание и алгоритм выполнения лабораторной работы
- •1.5. Отчет о выполнении работы
- •Контрольные вопросы
- •2.3. Пример решения
- •2.4. Задание и алгоритм выполнения лабораторной работы
- •2.5. Отчет о выполнении работы
- •Контрольные вопросы
- •Моделирование клапана с таймером
- •3.3. Пример решения
- •3.4. Задание и алгоритм выполнения лабораторной работы
- •3.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Как производится управление модельным временем?
- •Литература
- •Лабораторная работа №4 моделирование замкнутой корпоративной информационной системы
- •4.1. Цель работы
- •4.2. Описание моделируемого процесса
- •4.3. Пример решения
- •4.4. Задание и алгоритм выполнения лабораторной работы
- •4.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Лабораторная работа № 5
- •5.3. Пример решения
- •5.4. Задание и алгоритм выполнения лабораторной работы
- •5.5. Отчет о проделанной работе
- •Контрольные вопросы
- •Литература
- •Заключение
- •Библиографический список Рекомендуемой литературЫ
- •Технологический процесс построения имитационной модели
- •1.1. Вербальное описание моделируемого процесса
- •Этапы построения модели.
- •1.2. Построение графа модели
- •Инициализация модели (рис. П 1.4)
- •Описание узлов модели
- •Установление очереди заявок (рис. П. 1.5)
- •1.6. Использование узла «Ключ» (рис. П. 1.6, п. 1.7)
- •2. Создание выполняемого файла модели
- •2.7.2. Теперь можно приступать к эксперименту (рис. П. 1.13).
- •Приложение 2 образец титульного листа для выполнения лабораторной работы
- •Приложение 3 варианты построения объектных кодов имитационных моделей
- •Вариант объектного кода модели для выполнения лабораторной работы № 1
- •Int Forw; /* Номер следующего узла */
- •Int Dist; /* Закон распределения времени обслуживания */
- •Вариант объектного кода модели для выполнения лабораторной работы № 2
- •Вариант объектного кода модели для выполнения лабораторной работы № 3
- •Вариант объектного кода модели для выполнения лабораторной работы № 4
- •Int Next_top; /* Номер следующего узла */
- •Вариант объектного кода модели для выполнения лабораторной работы № 5
Установление очереди заявок (рис. П. 1.5)
Здесь, помимо логического имени узла, после прохождения узла указана операция определения времени входа транзакта в очередь. Для этого в параметр транзакта T_start заносится показание модельного таймера (текущее значение модельного времени).
Рис. П.1.5. Описание узла Queue 102
С помощью кнопки «Определить параметры» можно было бы задать флаг учета приоритета транзактов, но в данной задаче это не нужно.
1.6. Использование узла «Ключ» (рис. П. 1.6, п. 1.7)
В данной модели узел «Ключ» используется в качестве зоны принятия решения о дальнейшем маршруте транзакта. В качестве операции перед прохождением узла здесь выступает определение разницы между текущим показанием модельного времени (timer) и моментом входа транзакта в очередь (T_start). На основании полученного значения времени ожидания, попавшего в параметр транзакта T_wait, определяется дальнейший путь транзакта – либо на обслуживание в узел 101 (сервер), либо на уничтожение в узел 106 (терминатор).
Рис. П. 1.6. Описание узла Key 104, выход в Serv 101
Рис. П. 1.7. Описание узла Key 104
Заметим, что нумерация узлов графа производится в порядке их помещения на рабочую плоскость и не оказывает никакого влияния на порядок движения транзактов.
1.5.3.Терминаторы
Для описания терминаторов необходимо задать только логическое имя узла. Никаких дополнительных действий в данной модели с ними не связано.
1.5.4.Генератор заявок (рис. П. 1.8)
Рис. П. 1.8. Описание узла типа Ag
Для генератора здесь необходимо задать интервал генерации заявок как случайную величину. Закон распределения выбирается из списка. Дополнительный параметр нужен в том случае, если выбран бета-закон, который задается с помощью трех чисел – минимального, наиболее вероятного и максимального значений случайной величины.
Приоритет порождаемых генератором заявок в данном случае не задается, так как в модели имеется только один генератор и заявки не будут отличаться по приоритетам.
Заметим, что генератору не может быть приписано никаких дополнительных действий, так как все действия выполняются только при входе заявки в узел, а в генератор входов нет.
1.5.5.Сервер (обслуживающий прибор) (рис. П 1.9)
Описание сервера похоже на описание генератора. Здесь также необходимо задать интервал времени, представляющий собой поставить число обслуживающих каналов (по умолчанию их нулевое количество, и модель работать не будет).
Флаг учета приоритетов заявок здесь также устанавливать не нужно, так как приоритетов в данной модели заявки не имеют.
Рис. П. 1.9. Описание узла Serv 101
1.5.6. Сохранение модели в графическом формате
После того, как граф модели построен, и все узлы полностью описаны, модель необходимо сохранить в графическом формате. Для этого в меню «Файл» нужно выбрать пункт «Сохранить», затем выбрать адрес сохранения на диске и ввести имя файла. Расширение .pgf (pilgrim graphic file) будет подставлено автоматически.
Генерация PILGRIM-программы
Если сохранение модели в графическом формате было успешно выполнено, нужно в меню «Выполнить» выбрать пункт «Генерировать С++ файл». В указанной пользователем папке будет создан файл PILGRIM-программы с расширением .cpp (имя также вводится пользователем).