
- •Федеральное агентство по образованию
- •Моделирование систем Утверждено редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •Р.Декарт
- •1. Общие сведения о моделировании систем
- •1.1. Основные понятия и определения
- •1.2. Принципы подхода в моделировании систем
- •Назначение;
- •1.3. Классификация видов моделирования систем
- •Н.Винер
- •2. Математмческие схемы моделирования систем
- •2.1. Понятие математической схемы
- •2.2. Математическая схема общего вида
- •2.3. Типовые математические схемы
- •2.3.1. Непрерывно-детерминированные модели (d–схемы)
- •2.3.2. Дискретно-детерминированные модели (f–схемы)
- •Автомат второго рода, для которого функция выходов не зависит от входной переменной X(n), называется автоматом Мура:
- •Отмеченная таблица переходов автомата Мура
- •Отмеченная таблица переходов автомата Мура с пятью состояниями (z0, z1, z2, z3, z4), двумя входными (x1, x2) и тремя выходными (y1, y2, y3) сигналами
- •Отмеченная таблица переходов асинхронного автомата Мура с тремя состояниями (z0, z1, z2), тремя входными (x1, x2, x3) и тремя выходными (1y, y2, y3) сигналами
- •2.3.3. Дискретно-стохастические модели (p–схемы)
- •2.3.4. Непрерывно-стохастические модели (q–схемы)
- •2.3.5. Обобщённые модели (a–схемы)
- •Оператор сопряжения r
- •Ф.Рузвельт
- •3. Формализация и алгоритмизация процесса функционирования систем
- •3.1. Последовательность разработки и машинной реализации моделей
- •3.2. Построение концептуальной модели системы и её формализация
- •3.3. Алгоритмизация модели и её машинная реализация
- •3.4. Получение и интерпретация результатов моделирования
- •Дж.Бокс
- •4. Моделирование систем массового обслуживания
- •4.1. Имитационное моделирование
- •Имитировать (англ. Simulate) – значит вообразить, постичь суть явления, не прибегая к экспериментам на реальном объекте.
- •Полезность методов исследования в научной работе (по данным сша)
- •Проведение эксперимента с данной моделью включает в себя следующие действия:
- •Имитационное моделирование работы магазина
- •В результате получаем:
- •4.2. Среда и функциональная структура языка моделирования gpss
- •Категории и типы объектов gpss
- •Стандартные числовые атрибуты
- •Ограничение на количество объектов
- •Список основных событий и действий, которые они вызывают
- •4.3. Система программного обеспечения gpss/pc
- •4.3.1. Объекты gpss/pc
- •4.3.2. Кодирование операторов gpss/pc
- •4.3.3. Блоки, ориентированные на сообщения
- •4.3.4. Блоки, изменяющие порядок прохождения блоков сообщениями
- •4.3.5. Блоки для обработки сообщений, принадлежащих одному
- •4.3.6. Списки пользователя
- •4.3.7. Устройства
- •4.3.8. Многоканальные устройства
- •4.3.9. Очереди
- •4.3.10. Операторы контроля управления
- •4.4. Руководство пользователя спо gpss/pc
- •4.4.1. Команды gpss/pc
- •4.4.2. Виртуальные окна и редактор исходных текстов моделей
- •4.4.3. Стандартная выходная статистика
- •Заключение
- •Библиографический Список
4.3.5. Блоки для обработки сообщений, принадлежащих одному
семейству
Блоки GENERATE являются основным средством создания сообщений и ввода их в модель. Вход сообщений в блок GENERATE не допускается. Помимо блока GENERATE, для создания сообщений используется также блок SPLIT, который создает заданное число копий вошедшего в блок сообщения. Эти копии принадлежат к тому же семейству, что и породившее их сообщение.
Блок TERMINATE является основным средством уничтожения сообщений и удаления их из модели. Для удаления сообщений, принадлежащих к одному семейству, может быть также использован блок ASSEMBLE.
4.3.5.1. Блок SPLIT
Блок SPLIT имеет следующий формат:
SPLIT <A>,[<B>],[<C>]
Блок SPLIT выполняет функцию копирования входящего в него сообщения, которое называется исходным или порождающим.
В поле А задается число создаваемых копий. Операнд А может быть именем, положительным целым или СЧА. Если вычисленное значение аргумента поля А равно нулю, то блок SPLIT не выполняет никаких операций. После создания копий сообщение пытается перейти к следующему по номеру блоку. Все копии формируются в момент входа порождающего сообщения в блок SPLIT.
Поле В задает номер следующего блока, к которому переходят копии исходного сообщения, причем значение вычисляется для каждой копии отдельно. Операнд В может быть именем, положительным целым, СЧА.
В поле С может быть задан номер параметра, используемого для присвоения копиям последовательных номеров. Операнд С может быть именем, положительным целым, СЧА.
Каждая новая копия становится членом семейства сообщений, порожденного одним исходным сообщением, которое было создано блоком GENERATE. Сообщения, принадлежащие к одному семейству, объединяются интерпретатором в список.
4.3.5.2. Блок ASSEMBLE
Блок ASSEMBLE имеет следующий формат:
ASSEMBLE <A>
Блок ASSEMBLE объединяет заданное число сообщений, принадлежащих к одному семейству, в одно сообщение (т.е. осуществляет сборку заданного числа сообщений). После сборки из блока ASSEMBLE выходит только одно сообщение, которое переходит в следующий по номеру блок. В одном и том же блоке ASSEMBLE возможна одновременная сборка сообщений нескольких семейств. Когда сообщение входит в блок ASSEMBLE, интерпретатор просматривает семейство, к которому принадлежит это сообщение, и проверяет, есть ли другое сообщение из того же семейства в данном блоке ASSEMBLE.
Поле А задает число сообщений, участвующих в сборке. Операнд А может быть именем, положительным целым, СЧА.
4.3.5.3. Блок MATCH
Блок MATCH имеет следующий формат:
MATCH <A>
Блок MATCH используется для синхронизации движения двух сообщений, принадлежащих к одному семейству, без удаления этих сообщений из модели.
Блоки MATCH не объединяют синхронизируемые сообщения. Синхронизация осуществляется путем подбора пар сообщений из одного семейства и задержки этих сообщений до тех пор, пока оба сообщения из одной пары не поступят в заданные точки модели. Сообщения никогда не задерживаются в блоке MATCH. Сообщения, для которых выполнилось условие синхронизации, переходят к следующему по номеру блоку. В одной паре блоков MATCH могут одновременно находиться в состоянии синхронизации пары сообщений из различных семейств. Возможна также одновременная синхронизации пар сообщений из одного семейства в нескольких блоках MATCH.
Поле А задает имя или номер другого блока MATCH, называемого "сопряженным блоком MATCH". Если такого блока нет, происходит останов по ошибке. Операнд А может быть именем, положительным целым, СЧА.
Допускается использование блока MATCH в качестве сопряженного самому себе.
Стандартным числовым атрибутом, связанным с описываемым оператором является:
МВ<номер блока> – флаг синхронизации. Возвращает 1, если сообщение, находящееся в блоке <номер блока>, принадлежит к тому же семейству, что и текущее.