4.21. Обработка транзактов, принадлежащих одному семейству
Кроме блока GENERATE, для создания транзактов может использоваться блокSPLIT (РАЗДЕЛИТЬ), который выполняет функцию копирования транзакта, входящего в него. Этот транзакт называетсяначальным илипорождающим. Все копии формируются в момент входа начального транзакта в блокSPLIT. Каждая новая копия становится членомсемейства (ансамбля) транзактов, порожденных одним начальным транзактом, который был создан блокомGENERATE
Блок имеет такой формат:
SPLIT A,|B|,[C]
Таблица 4.47
Операнд | Значение | Результат по умолчанию |
А | Число создаваемых копий транзакта | Ошибка |
В | Метка блока, куда направляются копии |
|
С | Параметр, в котором запоминаются номера копий транзактов |
|
Операнд А может быть положительным целым, СЧА,CЧA*CЧA. Если вычисленное значение операнда А равно нулю, то блокSPLITне выполняет никаких операций. После создания копий начальный транзакт пытается перейти к очередному блоку.
Операнд Взадает блок, в который переходят копии начального транзакта. Операнд может быть именем (меткой), положительным целым, СЧА,CЧA*CЧA(в трех последних случаях операндВзадает номер блока). Значение операндаВвычисляется для каждой копии отдельно.
Операнд Cзадает параметр транзакта. который используется для присвоения копиям последовательных номеров. ОперандCможет быть именем, положительным целым, СЧА,CЧA*CЧA.
Тран.закты, принадлежащие одному семейству, объединяются интерпретатором в список. По связям внутри семейства транзактов невозможно установить, какой из транзактов семейства является начальным. Если копия транзакта входит в блок SPLIT, то повторная копия становится членом того же семейства, что и первичная копия. Таким образом, каждый транзакт является членом одного и только одного семейства. Семейство может состоять из произвольного числа транзактов. Когда транзакт уничтожается, интерпретатор автоматически исключает его из членов соответствующего семейства. Таким образом, семейство существует до тех пор, пока из модели не удалится последний из ее членов.
В модели одновременно может присутствовать произвольное число семейств, оно все время меняется, поскольку каждый транзакт, генерируемый блоком GENERATE, может создать свое семейство.
Пример 4.50
В цех каждые 14±3 мин поступают партии деталей. Каждая партия состоит из 3±2 деталей. Все детали поступают на обработку станком. Время обработки составляет 3±1 мин.
Для синхронизации движения транзактов, принадлежащих одному семейству, используются блоки MATCH(СОГЛАСОВАТЬ),ASSEMBLE(СОБРАТЬ),GATHER(СОЕДИНИТЬ).
Блок MATCHсинхронизирует движение транзактовcдругим блокомMATCH.
Формат блока:
MATCH A
Операнд А указывает имя сопряженного блока. Сопряженным блоком является также блокMATCH.
Пример 4.51
В локальной сети рабочая станция опрашивается каждые 30 мс. Если на рабочей станции есть сообщение для передачи, то оно занимает канал.
При входе транзакта-сообщения в блок MATCHcметкойLABEL1он будет ждать (в списке синхронизации) момента, когда другой опросный транзакт, принадлежащий тому же семейству, не войдет в сопряженный блокMATCHcметкойLABEL2. Только после этого сообщение займет каналCHANNEL,aопросное сообщение перейдет в блокADVANCE.
Блок ASSEMBLEсобирает начальный транзакт и все транзакты-копии из одного семейства, удаляет копии и выдает один начальный транзакт. После сборки из блокаASSEMBLEвыходит только один транзакт, который переходит в следующий по номеру блок. Формат блока:
ASSEMBLE A
Операнд А задает счетчик сборки, указывающий сколько членов одного семейства должны быть объединены. Операнд А может быть именем, положительным целым, СЧА,CЧA*CЧA. Первоначальное значение операнда А не должно быть меньше или равно единице.
Блок GATHERскапливает заданное количество транзактов, принадлежащих одному семейству. Он задерживает их до тех пор, пока не соберется необходимое число, указанное операндомА. Затем накопленные транзакты одновременно попытаются войти в следующий по номеру блок.
Формат блока:
GATHER A
Операнд А задает число транзактов, принадлежащих к одному семейству, которое нужно накопить. Операнд А может быть именем, положительным целым, СЧА,CЧA*CЧA.
Для управления транзактами, принадлежащими к одному семейству, используется блок GATE.
Пример 4.52 [20]
Некоторая фирма производит центробежные насосы, сборка которых осуществляется по заказу покупателей. Заказы прибывают в случайные моменты времени. Интервалы времени между поступлениями двух последовательных заказов распределены по нормальному закону cматематическим ожиданием 19 мин и стандартным отклонением 3 мин.
Когда прибывает заказ, делается две его копии. Оригинал заказа используется для получения двигателя со склада и подготовки его для сборки. Время выполнения этой операции является экспоненциально распределенной случайной величиной со средним значением 8 мин. Первый экземпляр копии используется для заказа и адаптации насоса (время 10±2 мин), А второй экземпляр используется для начала изготовления плиты основания (время 15 мин).
Когда насос и плита основания готовы, производится пробная подгонка (время 5+1 мин). Все три компонента собираются вместе (время распределено по нормальному закону cматематическим ожиданием 6 мин и стандартным отклонением 1 мин), когда они имеются налицо. Затем установка разбирается, насос и двигатель подвергаются окраске. Время покраски двигателя 2±0,5 мин, А время покраски насоса распределено по экспоненциальному закону со средним значением 1,5 мин. Плита основания гальванизируется 4 мин. После этого производится окончательная сборка. Время сборки – нормально распределенная случайная величинаcматематическим ожиданием 8 мин и стандартным отклонением 1 мин.
Промоделировать сборку 100 центробежных насосов и оценить среднее время их сборки, используя для этого таблицу.
Учитывая подробное описание самой модели и комментарии, приведенные в листинге прототипа программы, опишем кратко логику работы модели.
Транзакты имитируют заказы покупателей. Когда транзакт входит в блок SPLIT, создается еще два транзакта копии. Это позволяет одновременно продолжить выполнение индивидуальных заказов на мотор, насос и плиту основания.
Транзакты, имитирующие насос и плиту, ожидают друг друга в блоках MATCHcметкамиPUMP(насос) иPLATE(плита). Если и насос, и плита прибыли, то имитируется задержка на их начальную сборку. После того, как прибудут все три заказа в блокGATHER, блокADVANCEимитирует пробную подгонку трех компонентов изделия друг к другу. Затем три заказа снова разделяются для окончательной отделки. БлокASSEMBLE(сборка)cметкойBUILDвызывает отсрочку окончательной сборки, пока не поступят все компоненты.
В таблице TRANSITсобирается распределение времени выполнения заказов. Единица модельного времени 1c.
Программа:
В результате моделирования получена следующая статистика по устройствам.
Гистограмма времени сборки насосов показана на рис. 4.13.
Рис. 4.13
- Предисловие
- Введение
- Глава 1. Модели массового обслуживания
- 1.1. Системы массового обслуживания и их характеристики
- 1.2. Системыcодним устройством обслуживания
- 1.3. Основы дискретно-событийного моделированияCmo
- 1.4. Многоканальные системы массового обслуживания
- Переменная vаr1, экспоненциальное распределение
- Глава 2. Вероятностные сети систем массового обслуживания
- 2.1. Общие сведения о сетях
- 2.2. Операционный анализ вероятностных сетей
- 2.3. Операционные зависимости
- 2.4. Анализ узких мест в сети
- Глава 3. Вероятностное моделирование
- 3.1. Метод статистических испытаний
- 3.2. Моделирование дискретных случайных величин
- 3.3. Моделирование непрерывных случайных величин
- 3.4. Сбор статистических данных для получения оценок характеристик случайных величин
- 3.5. Определение количества реализаций при моделировании случайных величин
- Глава 4. Система моделированияgpss
- 4.1. Объекты
- 4.2. Часы модельного времени
- 4.3. Типы операторов
- 4.4. Внесение транзактов в модель. БлокGenerate
- 4.5. Удаление транзактов из модели. БлокTerminate
- 4.6. Элементы, отображающие одноканальные обслуживающие устройства
- 4.7. Реализация задержки во времени. БлокAdvance
- 4.8. Сбор статистики об ожидании. БлокиQueue,depart
- 4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
- 4.10. Моделирование многоканальных устройств
- 4.11. Примеры построенияGpss-моделей
- 4.12. Переменные
- 4.13. Определение функции вGpss
- 4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
- Примеры фрагментов gpss-моделейcиспользованием сча и параметров гранзактов
- 4.15. Изменение приоритета транзактов. БлокPriority
- 4.16. Организация обслуживанияcпрерыванием. Блоки preempt и return
- 4.17. Сохраняемые величины
- 4.18. Проверка числовых выражений. БлокTest
- 4.19. Определение и использование таблиц
- 4.20. Косвенная адресация
- 4.21. Обработка транзактов, принадлежащих одному семейству
- 4.22. Управление процессом моделирования в системеGpss
- 4.23. Списки пользователей
- 4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
- 4.25. Организация вывода временных рядов изGpss-модели
- 4.26. Краткая характеристика языкаPlus
- 4.27. КомандыGpssWorId
- 4.28. Диалоговые возможностиGpssWorld
- 4.29. Отличия междуGpssWorldиGpss/pc
- Глава 5. Моделирование вычислительных и операционных систем
- 5.1. Операционные системы компьютеров
- 5.2. Сети и системы передачи данных
- 5.3. Проблемы моделирования компьютеров и сетей
- Глава 6. Основы моделирования процессов
- 6.1. Производственные процессы
- 6.2. Распределительные процессы
- 6.3. Процессы обслуживания клиентов
- 6.4. Процессы управления разработками проектов
- Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
- Задание 2 [10]. Моделирование контроля и настройки телевизоров
- Задание 3. Моделирование работы кафе
- Задание 4. Моделирование работы обрабатывающего цеха
- Задание 5. Моделирование работы обрабатывающего цеха
- Задание 6. Моделирование работы обрабатывающего цеха
- Задание 7. Моделирование работыCmo
- Задание 8. Моделирование функций
- Задание 9 [10]. Моделирование системы обслуживания
- Задание 10 [16]. Моделирование системы автоматизации проектирования
- Задание 11 [16]. Моделирование работы транспортного цеха
- Задание 12 [16]. Моделирование системы передачи разговора
- Задание 13 [16]. Моделирование системы передачи данных
- Задание 14 [16]. Моделирование узла коммутации сообщений
- Задание 15 [16]. Моделирование процесса сборки
- Задание 16 [16]. Моделирование работы цеха
- Задание 17 [16]. Моделирование системы управления производством
- Задание 18. Моделирование производственного процесса
- Задание 19. Моделирование работы заправочной станции
- Задание 20. Моделированиеработы станции технического обслуживания
- Задание 21. Моделирование работы станции скорой помощи
- Задание 22. Моделирование работы госпиталя
- Задание 23. Моделирование работы маршрутных такси
- Задание 24. Моделирование работы печатной системы
- Задание 25. Моделирование процесса сборки пк
- Глава8. Проектирование имитационных моделей c помощью интерактивной системы имитационного моделирования
- 8.1. Структура интерактивной системы имитационного моделирования
- 8.2. Построение концептуальной схемы модели
- 8.3. Параметрическая настройка модели
- 8.4. Генератор формул
- 8.5. Управление экспериментом
- 8.6. Запуск эксперимента и обработка результатов моделирования
- 8.7. Управление проектами и общей настройкой системы
- 8.8. Пример построения модели средствамиIss2000
- Глава 9. Технология имитационного моделирования
- 9.1. Имитационные проекты
- 9.2. Организация экспериментов
- 9.3. Проблемы организации имитационных экспериментов
- 9.4. Оценка точности результатов моделирования
- 9.5. Факторный план
- 9.6. Дисперсионный анализAnovAв планировании экспериментов
- 9.7. Библиотечная процедураAnova
- 9.8. Технология проведение дисперсионного анализа в системеGpssWorld
- 9.9. Особенности планирования экспериментов
- 9.10. Нахождение экстремальных значений на поверхности отклика
- 9.11. Организация экспериментов вGpssWorId
- 9.L2. Выбор наилучшего варианта структуры системы
- Глава 10. Примеры принятия решенийcпомощью имитационного моделирования
- 10.1. Моделирование производственного участка
- 10.2. Моделирование технологического процесса ремонта и замены оборудования
- Приложение Системные сча
- Сча транзактов
- Сча блоков:
- Сча одноканальных устройств:
- Сча очередей
- Сча таблиц
- Сча ячеек и матриц ячеек сохраняемых величин:
- Сча вычислительных объектов
- Список литературы
- Срдержание
- Глава 5. Моделирование вычислительных и операционных систем 132
- Глава 10. Примеры принятия решений c помощью имитационного моделирования 201