4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
Логические ключи (блок LOGIC). Логические ключи используются для моделирования объектов, имеющих всего два положения: «Включен»(set или 1 ) и «Выключен»(reset или 0).
Блок LOGIC используется для включения, выключения или инвертирования положения ключа. Положение ключа можно проверить любым транзактом в любой части модели.
Блок LOGIC имеет такой формат:
LOGIC Х А
Операнд А – номер логического ключа; он может быть именем, положительным целым, СЧА илиCЧA*CЧA.
Когда транзакт входит в блок LOGIC, положение логического ключа, номер которого задан в операндеА, изменяется в зависимости от значения вспомогательного оператора Х следующим образом:
S– логический ключ устанавливается в положение «Включен»;
R– логический ключ устанавливается в положение «Выключен»;
I– логический ключ инвертируется, то есть положение его изменяется на противоположное.
Логический ключ имеет СЧА LS<номер ключа> илиLS$<HMH ключа>, который возвращает значение 1, если ключ в положении «Включен», и 0 – если в положении «Выключен».
Для изменения направления движения сообщений в зависимости от положения логических ключей используются блоки GATE LR иGATE LS
Блоки GATE LR и GATE LS. БлокиGATE LR, GATE LS проверяют положение логического ключа. В операнде В задается номер блока, к которому переходит транзакт, если вспомогательный оператор Х имеет значение «ложь». Если значение логического оператора – «истина», транзакт переходит к следующему по порядку блоку. Если операндВпустой, блокGATE LR (GATE LS) работает в режиме условного вхождения, если заполнен – в режиме безусловного вхождения.
В режиме условного вхождения транзакты могут войти в блокGATE только в том случае, если логический оператор(LRj илиLSj) имеет значение «истина». Если значение логического оператора – «ложь», транзакт помещается в список задержки и не обрабатывается интерпретатором до тех пор, пока значение не станет истинным. Пдинственным исключением являются транзакты, находящиеся в блокеTRANSFER BOTH (илиALL). Когда потом какой-нибудь другой транзакт проходит блокLOGIC, изменяющий состояние соответствующего ключа, и присваивает указанному в блокеGATE логическому оператору значение «истина», все транзакты, находящиеся в списке задержки, активизируются. После этого интерпретатор, просматриваяCTC, получает возможность переместить один или несколько транзактов (включая и те, что находятся в блокеTRANSFER BOTH илиALL) в блокGATE LR (GATE LS), работающий в режиме условного вхождения.
Пример 4.59
Рассмотрим работу телефонной сети, имеющей 50 абонентских линий связи, причем одновременно может быть задействовано не более 10 связей между абонентами. Каждый абонент может соединиться cостальными, если свободны его входная линия связи и входная линия вызываемого абонента. Из 50 линий для организации связи могут использоваться любые две свободных линии. Необходимо промоделировать работу телефонной сети для 1000 вызовов. Интервалы между вызовами и длительность разговора распределены по экспоненциальному закону. Предусматривается, что первые 15 вызовов образуют переходной процесс в сети и эти данные не нужно учитывать при моделировании. Модель этой системы разработал Джеффри Гордон дляGPSS/H. Приведенный текст программы модифицирован дляGPSSWorld.
Программа:
Блок GATE. БлокGATE управляет потоком транзактовcпомощью логических операторов. БлокGATE, как и блокTEST, не изменяет никаких атрибутов транзактов. Он определяет номер следующего блока, к которому должен перейти транзакт из блокаGATE. БлокGATE может задержать транзакт на входе, если не задан альтернативный выход. БлокGATE имеет такой формат:
GATEX A,|B|
Операнд А содержит имя или номер объекта, для которого производится проверка. Операнд А может быть именем, положительным целым числом, СЧА илиCЧA*CЧA.
Операнд Всодержит номер следующего блока для входящего транзакта, если логический оператор имеет значение «ложь». ОперандВможет быть именем, положительным целым числом, СЧА илиCЧA*CЧA. Если операндВопределен, то он должен содержать номер блока, допустимый для текущей модели.
В дополнительном операторе Х задается один из следующих логических операторов:
1. Логические операторы, связанные cустройствами:
NU– устройствоj, заданное в операндеА, свободно;
U– устройствоj, заданное в операндеА, занято (в результате выполнения транзактом блокаSEIZE илиPREEMPT);
NI– устройствоj, заданное в операндеА, не прервано;
I– устройствоj, заданное в операндеА, обслуживает прерывания;
FV– устройствоj, заданное в операндеА, доступно;
FNV– устройствоj, заданное в операндеА, не доступно.
2. Логические операторы, связанные cМКУ:
SE– МКУj, заданное в операндеА, пустое (S[j]=0);
SNE– МКУj, заданное в операндеА, не пустое (S[j]<>0);
SF– МКУj, заданное в операндеА, заполнено (R[t]=0);
SNF– МКУj, заданное в операндеА, не заполнено (R[j]<>0);
SV– МКУj, заданное в операндеА,доступно;
SNV– МКУj, заданное в операндеА, не доступно.
3. Логические операторы, связанные cтранзактами:
M– в блокеj, заданном в операнде А блокаGATE, находится в состоянии синхронизации транзакт, принадлежащий тому же семейству, что и транзакт, который находится в блокеGATE или пытается войти в этот блок;
NM– в блокеj, заданном в операнде А блокаGATE, в состоянии синхронизации нет ни одного транзакта, принадлежащего тому же семейству, что и транзакт, который пытается войти в блокGATE.
4. Логические операторы, связанные cлогическими ключами:
LS– логический ключj, заданный в операндеА, включен;
LR– логический ключj, заданный в операндеА, выключен.
Режимы условного и безусловного входов в блок GATE. БлокGATE, как и блокTEST, может работать в режимах безусловного и условного вхождения.
В режиме безусловного вхождения транзакт никогда не задерживается на входе блокаGATE. Если заданный логический оператор имеет значение «истина», транзакт пытается перейти к следующемуnoномеру блоку. Если логический оператор имеет значение «ложь», го транзакты будут пытаться перейти к блоку, номер которого задан в операндеВблокаGATE. Выбор следующего блока производится один раз в момент вхождения транзакта в блокGATE.
В режиме условного вхождения, если операндВблокаGATE пустой (альтернативный выход не задан), транзакты не смогут войти в блокGATE до тех пор, пока указанный в этом блоке логический оператор не будет иметь значение «истина». Интерпретатор не проверяет значение логических операторов, за исключением операторовMиNM. В режиме условного вхождения задержанные транзакты находятся в списках задержки и, таким образом, исключаются из числа транзактов, обрабатываемых интерпретатором до тех пор, пока соответствующий логический оператор не примет значение «истина».
Пример 4.60
В данном случае транзакт помещается в список задержки, если МКУ LINE1 не доступно в тот момент, когда транзакт пытается войти в блокGATE. Когда МКУ становится доступным, все транзакты выводятся из списка и делают попытку войти в МКУ.
Блоки GATE – очень мощный инструмент, но они могут приводить к значительным затратам компьютерного времени на тщетные попытки транзактов войти в блок. Чтобы уменьшить частоту бесполезных попыток вхождения в блок, можноcпомощью блоковLINK и UNLINK поместить транзакты в СП.
- Предисловие
- Введение
- Глава 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