4.20. Косвенная адресация
Ранее были рассмотрены прямые способы адресации, когда:
1) номер объекта задается константой
2)номер объекта задается СЧА
Адресация может быть относительной и по отношению к самому блоку. Это осуществляется при помощи записи *+/-п. Например,
TRANSFER ,*+2
В этом случае сам блок TRANSFER является ориентировочным блоком. Транзакт пытается войти во второй, относительно блокаTRANSFER, блок.
Подобные ссылки не зависят от свойств транзакта, обрабатываемого в данный момент времени. Использование прямой адресации может привести к введению большого числа дополнительных блоков только для того, чтобы записать номера объектов в СЧА, т.е. к увеличению объема модели. Существенным образом сократить объем модели и использовать зависимость номеров объектов от свойств транзактов позволяет косвенная адресация.
Общий формат косвенной адресации:
CЧA*CЧAj или CЧA*CЧA<имя>
Там, где допустимо использование СЧА, обычно могут использоваться и CЧA*CЧA.
При использовании косвенной адресации параметр P может опускаться.
Пример 4.46
SEIZE P*X1
Занять устройство, номер которого содержится в параметре транзакта, А номер параметра определяется значением ячейкиX1.
SAVEVALUE l,X*P2
Поместить в ячейку cномером 1 значение, содержащееся в ячейке, номер которой определяется параметром 2.
Пример 4.47
В данной модели предполагается, что через некоторый узел сети проходят информационные сообщения грех типов, причем каждый из них характеризуется своим распределением числа символов. В модели первый параметр транзакта содержит тип сообщения, А второй параметр – число символов сообщения.
При использовании косвенной адресации при обращении к устройствам, МКУ или функциям через параметры приходится применять числовые значения имен. Транслятор GPSS/PCна этапе компиляции сам присваивает именам числовые значения, однако, при этом пользователь не контролирует такое присвоение. Для того, чтобы не возникали конфликты между числовыми значениями имен, присвоенных транслятором, и именами, заданных пользователем, необходимо использовать простое правило: в модели использовать имена либо только числовые, либо только символьные.
Назначение именам числовых значений осуществляется cпомощью оператораEQU (аналог#define в языке программирования Си).
Пример 4.48
Необходимо занять МКУ, номер которого определяется в первом параметре транзакта. По логике функционирования модели занимаетсяодин из двух МКУ: SECTION_A илиSECTION_B.
Пример 4.49
Рассмотрим приход клиентов в банк и их обслуживание кассирами. Время прихода клиентов задается функцией распределения ARRIVE. Для обслуживания открыто семь окошек кассиров, к каждому из них может образовываться очередь. Во время прихода клиента в банк, если хотя бы один кассир свободен, клиент сразу же подходит к этому кассиру. В противном случае он присоединяется к любой кратчайшей очереди на текущий момент. Порядок обслуживания клиентов из очереди –FIFO.
Обслуживание в кассе разделяется на пять видов операций, частота появления которых и среднее время обслуживания задаются функцией MEAN.
В модели cнесколькими очередями могут возникнуть одновременные события прихода клиента и конца обслуживания кассиром. Если событие «приход» будет рассмотрено ранее события «конец обслуживания», то устройство в момент проверки будет считаться занятым и вновь прибывший клиент не сможет занять кассира. Поэтому необходимо обеспечить приоритетность в обработке события «освобождения кассира». Это можно сделатьcпомощью задания уровня приоритета (блокPRIORITY 1)между блокамиGENERATEиADVANCE.
Для реализации поиска свободного кассира используется блок TEST E, помеченный меткойNEXT, который проверяет, свободен ли кассир. Максимальный номер кассира запоминается в параметре гранзактаP5. По этому же параметру образуется цикл для проверки всех устройств (блокLOOP). Номер первого свободного кассира запоминается в параметре транзактаP3, и транзакт передается на обслуживание. Если все устройства заняты, то транзакт переходит к следующему блоку послеLOOP. т.е. к блокуTEST, помеченному меткойSIT. Этот блок сравнивает длины очередей для всех устройств. Первоначально для сравнения в параметрP2 транзакта помещается число 1000. Аналогично организуется цикл по всем очередямcпомощью параметраP1 транзакта. Первоначально туда помещается максимальный номер очереди. Если длина следующей просматриваемой очереди меньше предыдущей, то запоминается номер очереди в параметреP3и ее длина в параметреP2 транзакта. После просмотра всех очередей (перехода к следующему блоку послеLOOP) в этих параметрах окажется номер минимальной очереди и ее длина, соответственно.
Приведем текст соответствующей программы.
Отчет с результатами моделирования:
Гистограмма времени пребывания в системе приведена на рис.4.12
Рис. 4.12
Косвенная адресация является мощным инструментом языка GPSS, позволяющим существенно сократить размер модели и во многих случаях уложиться в ограничения для бесплатно распространяемых студенческих версий языкаGPSS(в модели должно быть до 150 блоков).
- Предисловие
- Введение
- Глава 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