Е. Основные категории и типы объектов GPSS / H .
Транзактный способ реализации квазипараллелизма является развитием процессного способа имитации применительно к моделированию систем, представляемых в виде систем массового обслуживания (СМО). Для указанного класса систем выделяется конечное множество абстрактных элементов, служащих для описания реальных компонентов системы (например: источников заявок на обслуживание накопителей, каналов обслуживания и т.п.), и конечное множество стандартных операций, описывающих связи между элементами. Выделенным множествам компонентов и операций ставится в соответствие множество объектов языка. Модель системы на GPSS/H строится путем объединения объектов в некоторую фиксированную логическую структуру - текстовый модельный файл - МФ. Объекты GPSS/H подразделяются на 7 категорий и 15 типов (табл. 16).
В Таблице 16 в разделе «функции операторов блоков» приведены основные операторы блоков (кратко блоки) – ОБ, реализующие те или иные действия в процессе моделирования.
Каждому объекту соответствуют арифметические или логические атрибуты, описывающие состояние объекта в текущий момент модельного времени. Большинство из атрибутов не доступны для программиста. Атрибуты, к которым в ИМ можно обращаться, называются стандартными числовыми атрибутами (СЧА). Основными объектами GPSS/H являются транзакты и ОБ (блоки).
Таблица 16 Категории и типы объектов
№ кат. | Категория объекта | № типа | Тип объекта | Мнемонич. обозначение | Функции операторов блоков |
Динамическая | Транзакт | Хакт | Создание транзактов: GENERATE, SPLIT Уничтожение транзактов: TERMINATE, | ||
Операционная | ОБ (блок) | ------------ | Объяснены в главе 5 | ||
Аппаратная | Устройства | F (facilities) | Занятие – освобождение SEIZE – RELEASE Захват – возврат PREEMPT – RETURN Доступно - не доступно FAVAIL – FUNAVAIL | ||
Памяти (накопители) | S (storages) | Войти – покинуть ENTER – LEAVE Свободна – занята SAVAIL - SUNAVAIL Ожидание изменения статуса – GATE | |||
Логические ключи | L (logic switch) | Включение, выключение, инверсия LOGIC Ожидание изменения положения L GATE | |||
Вычислительная | Арифметическая переменная | V (variable) | Целочисленное значение VARIABLE Плавающая точка FVARIABLE | ||
Булева переменная | BV | Задается логическими атрибутами СЛА | |||
Функция | FN | Задается пользователем или встроенной функцией | |||
Статистическая | Очереди | Q | Создание очереди – покидание QUEUE – DEPART | ||
Таблицы | T | Создать таблицу TABULATE | |||
Запоминающая | Ячейки | Х | Создание скалярной переменной | ||
Матрицы | М | Создание 2-х размерных матриц | |||
Амперпеременные | & | Создание переменных 5-ти типов | |||
Группирующая | Списки пользователя | С | Включить – исключить LINK - UNLINK | ||
Группы | G | Поместить – удалить JOIN – REMOVE Проверка принадлежности – EXAMINE Определение вида транзакта SCAN |
Транзакты (сообщения) описывают единицы исследуемых потоков (заявки на обслуживание), например: задания пользователей в вычислительной системе; детали, подлежащие обработке в ГПС; автомобили в очереди у бензоколонки; корабли, разгружающиеся в порту и т.п.
Операционная категория включает блоки, которые задают логику функционирования ИМ системы и определяют пути движения транзактов между объектами аппаратной категории. Практически все изменения состояний ИМ (события) системы S происходят в результате входа транзактов в блоки и выполнения блоками своих функций.
Основные функции блоков следующие:
— создание (генерация) и уничтожение транзактов;
— изменение числовых атрибутов объектов;
— задержка транзакта на определенный интервал времени;
— изменение маршрута движения транзакта и др.
Пример. Блок, "создающий" транзакты в модели, обеспечивает поступление заявок в СМО через определенные интервалы времени. Занятие или освобождение заявкой канала обслуживания (или места в накопителе) приводит к изменению состояния канала (накопителя). В модели это осуществляется с помощью изменения СЧА объекта GPSS/H, описывающего состояние канала обслуживания (накопителя). В случае занятости одного из каналов СМО заявка может быть направлена на другой канал. Для этого в модели используется блок изменения маршрута движения транзакта. Блок, осуществляющий задержку транзакта, имитирует процесс обслуживания заявки в течение определенного времени. Выход обслуженной (или потерянной по каким-либо причинам) заявки из СМО в модели имитируется с помощью блока уничтожения транзактов.
Объекты аппаратной категории служат для описания единиц оборудования или ресурсов, имеющих ограниченную ёмкость. Воздействуя на эти объекты, транзакты могут изменять их состояния и влиять на движение других транзактов. Ресурсы включают в себя три типа объектов
- Устройства описывают оборудование, которое в любой момент времени может быть занято только одним транзактом (одноканальные СМО): обрабатывающий центр, терминал, центральный процессор, АЦПУ, кассир и т.д., а также оборудование, на котором обслуживание одной заявки может быть прервано поступлением другой заявки (например, с более высоким приоритетом).
- Памяти (многоканальные устройства) описывают оборудование, которое может использоваться несколькими транзактами одновременно (многоканальные СМО): оперативную память ЭВМ, стоянки автомобилей и т.д.).
- Логические ключи используются для блокировки или изменения движения транзактов в зависимости от ранее наступивших в ИМ событий.
Объекты вычислительной категории описывают связи между элементами СС, задаваемые с помощью аналитических или логических соотношений.Они могут служить для задания вероятностных законов распределения случайных величин в ИМ; для численного или логического описания условий движения транзактов.
Статистические объектыобеспечивают вычисление и представление в стандартном виде для показателей эффективности функционирования СС: средних значений, стандартных отношений, эмпирических функций распределения и т.п.
Запоминающие объекты служат для задания условий моделирования, хранения, накопления и обработки информации, получение которой не предусмотрено стандартными средствами GPSS/H.
Объекты группирующей категории содержат информацию о транзактах, находящихся в модели.
Продвигаясь по модели, транзакты, имитирующие заявки на обслуживание, могут приводить к наступлению таких событий, как: поступление заявки в СМО; занятие (освобождение) места в накопителе; занятие (освобождение) канала обслуживания; прерывание обслуживания заявки с более низким приоритетом; совпадение значений определенных числовых атрибутов двух и более транзактов, называемых синхронизируемыми и т.п. При этом соответствующие транзакты помещаются в один из пяти списков (цепей, в оригинале –chain):
-список текущих событий- СТС (время наступления меньше либо равно текущему модельному времени),
-список будущих событий- СБС (время наступления больше текущего модельного времени);
-список прерываний (транзакты, обслуживание которых прервано);
-список синхронизируемых транзактов (находящихся в состоянии сравнения);
-список пользователя (транзакты, удаленные программистом из списка текущих событий).
Дата добавления: 2021-07-22; просмотров: 357;