Язык программирования GPSS


Этот язык с 1968 года входит в математическое обеспечение машин фирмы IBM, один из наиболее популярных языков ИМ.

Общие сведения.

GPSS составлен из объектов и операций (логических правил). Объекты делятся на семь классов:

- динамические (ДО);

- аппаратно-ориентированные (АО);

- статические (СО);

- операционные (ОО);

- вычислительные (ВО);

- запоминающие (ЗО);

- группирующие (ГО).

До — элементы потока обслуживания заявки или "транзакты". Они создаются и уничтожаются, с каждым транзактом может быть связано некоторое число "параметров"

АО — соответствуют элементам оборудования, которые управляются ДО.

К ним относятся:

- накопители;

- устройства;

- логические переключатели.

СО:

- очереди;

- таблицы.

ЗО:

ячейки;

матрицы ячеек.

ГО:

- группы;

- списки.

ВО:

- арифметические и булевы переменные;

- функции.

Каждой очереди соответствует перечень транзактов, задержанных ы какой-либо точке системы и запись длительности этих задержек: Tз={t}.

Таблицы могут использоваться для построения распределений выбранных величин.

ОО - блоки – формируют логику системы, давая транзактам указания, куда идти дальше.

Для того чтобы смоделировать систему, необходимо составить её описание в терминах GPSS, затем симулятор генерирует транзакты, продвигает через заданные блоки и выполняет действия соответствующие блокам. Продвижение создаёт блок GENERATE. Каждое продвижение транзакта является событием, которое должно произойти в определённый момент времени. Симулятор регистрирует время наступления каждого события, затем производит обработку событий в правильной хронологической последовательности.

Если транзакты заблокированы, то симулятор продвинет их тогда, когда изменятся блокирующие правила. Симулятор моделирует часы, их показания в любой момент времени называют абсолютным временем. Относительное время показывает текущее время в модели. При помощи специальной операции относительное время может устанавливаться в нуль и последующий счёт времени будет производиться от этой точки. Другой операцией в нуль могут устанавливаться оба значения времени. Все времена в модели изображаются целыми числами. Симулятор рассчитывает схему по принципу ближайшего события. Центральной задачей симулятора является просмотр и проверка всех возможных событий. Транзакты входят в цепи. Существует пять видов цепей:

1) Цепь текущих событий включает в себя те транзакты, планируемое время наступления которых равно или меньше текущего часового.

2) Цепь будущих событий включает в себя транзакты, время которых не дошло для обслуживания.

3) Цепь прерванных событий.

4) Цепь парных транзактов – в текущий момент времени имеют статус парности (ожидают прибытия синхронизирующих транзактов).

5) Цепь пользователя включает транзакты, которые пользователь удалили из цепи текущих транзактов.

Цепь текущих событий организуется в порядке убывания приоритетов транзактов и в порядке очерёдности поступления.

В зависимости от различных условий и требований пользователь система помещает транзакты в те или иные цепи.

Программа на GPSS создаётся в текстовом редакторе в определённом формате. Формат ввода содержит 3 различные поля: поле метки (позиции 5-9), поле операции (позиции 13-23) и поле переменных (позиции 26-80). Поле переменных содержит подполя, которые обозначены A, B, C, D, …,H. Последующие отделяются от предыдущих запятыми. Пропущенное значение в поле переменных выделяется запятыми (кроме конца поля).

Каждый из объектов требует определённого числа ячеек ОЗУ, в которых во время моделирования хранятся атрибуты объекта (АТО). АТО, к которым может обращаться программист, называются стандартными числовыми атрибутами (СЧА). Все СЧА имеют одно- или 2-х буквенные мнемонические обозначения. Мнемонические обозначения указывают на тип СЧА, а целочисленное значение – на конкретный СЧА.

Номера блоков можно определять символическими обозначениями. При этом обозначение должно включать от 3-х до 5-ти знаков, отличных от пробела, первые три из которых должны быть буквами. Эти ограничения необходимы для того, чтобы избежать смешивания атрибутов системы и символов. Дополнительным ограничением является недопустимость таких специальных знаков, как "–", "+", " ² " и т.д.

Если в полях А, В, С блока представлены стандартные числовые атрибуты Nj или Wj, то необходимо, чтобы номер блока был представлен в качестве аргумента. Если этот номер блока определяется символически, то такое представление должно быть отличным от мнемонических обозначений, указанных СЧА (N или W). В префикса символического имени используется знак доллара $. Пользователь может относительную адресацию. В символической записи CROSS±n символ CROSS указывает на нужный блок, а число n–на номер блока, отсчитываемого от номера блока CROSS. При косвенной адресации предполагается, что нужный аргумент представлен некоторым параметром. Последний обозначается *, за которой следует целое число. Например, S*10 соответствует текущему значению накопителя, номер которого задан параметром 10 (буква S - означает накопитель). Косвенная адресация неприменима только для СЧА С1, М1, RNn.



Дата добавления: 2019-02-08; просмотров: 479;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.