Государственный стандарт РФ ГОСТ Р ИСО 9040-96 "Информационная технология. Взаимосвязь открытых систем. Служба виртуальных терминалов базового класса" (утв. постановлением Государственного комитета РФ по стандартизации и метрологии от 23 мая 1996 г. N 328 стр. 21

20.3.3.2 Определение информационного содержимого ОУОП
Содержимое ОУОП - это массив записей, называемых ЗОП. Эти записи идентифицируются для создания и обновления при помощи координат z и f поля, которое они определяют (см. 13.1.3).
Каждая ЗОП составлена из нескольких элементов, как определено в 20.3.3.3, называемых компонентами ЗОП.
В целях обновления ОУОП параметр "данные объекта ВТ" (см. 31.1) принимает форму
Z F последовательность из
<идентификатор-компонента-ЗОП значение-компонента-ЗОП>,
где Z и F идентифицируют ЗОП и компоненты ЗОП, а возможные значения определены в 20.3.3.3.
Примечание - Сам ОУОП идентифицируется параметром услуги "идентификатор объекта ВТ" (см. 31.1).
20.3.3.3 Определение содержимого ЗОП: компоненты ЗОП
Содержимое одной ЗОП обычно состоит из следующих компонентов, некоторые из которых сами являются составными; если поле не существует, т.е. параметр "состояние поля" имеет значение "несуществует" (см. подпункт а), другие компоненты ЗОП могут рассматриваться как несуществующие или имеющие значения "пусто".
Примечание - Если определенные значения z находятся ниже значения параметра "окно-обновления-Z", любые ЗОП, относящиеся к этим значениям z концептуально не разрешены, но, поскольку любое обновление таких ЗОП бесполезно для ОО, то необязательно сохранять их содержимое (кроме как, возможно, по локальным причинам).
а) состояние поля - принимает значение из множества "активное", "неактивное", "несуществующее" (см. 20.3.3.5);
b) область поля - значением является последовательность из 4-кортежных элементов , где каждый 4-кортежный элемент определяет элемент поля (см. 13.1.3). Порядок элементов поля в области поля определяет порядок элементов поля для вычисления размерности K для поля (см. 13.1.3.1);
c) атрибуты поля - каждому вторичному атрибуту соответствует один компонент ЗОП. Значением является или допустимое значение для вторичного атрибута, или "нуль";
d) следующее поле - целое значение координаты f или "пусто" (см. 20.3.3.4);
e) предыдущее поле - целое значение координаты f или "пусто" (см. 20.3.3.4);
f) П-способ - способ передачи для поля, принимает одно из следующих значений:
- передача всего этого поля;
- передача всего этого поля, если какая-либо часть его была изменена;
- передача тех частей этого поля, если они есть, которые были изменены;
- не передавать ничего из этого поля;
- использовать глобальное значение способа передачи, т.е. как задано в ОУСП (см. 20.3.7);
g) список управления вводом - последовательность (возможно пустая) управления вводом (см. 20.3.3.6). Каждая часть каждого управления вводом (т.е. список объектов устройств, список ЗИВП, список ЭМВП) образует отдельный компонент ЗОП и может отдельно обновляться.
20.3.3.4 Путь обхода множества полей
Если множество полей определяется множеством ЗОП, нормальный путь для перемещения по множеству полей может быть явно определен при помощи компонент ЗОП "следующее поле" и "предьщущее поле". Этот путь называется "путем обхода". Делается различие между путями обхода вперед и назад; они могут отличаться, т.е. поле, просматриваемое при движении назад от конкретного поля, может отличаться от того, от которого это поле достигается при движении вперед.
Каждый из этих компонент есть целое, рассматриваемое как значение координаты размерности F.
Если какой-либо компонент имеет значение "пусто", то эта часть пути обхода неявно определяется из размерности F. Эти связи влияют на выполнение операций "следующее поле" и "предыдущее поле" над логическим указателем (см. 19.1.3.2.2).
Если компоненты "следующее поле" или "предыдущее поле" не "пусто", а имеют значение, при котором в текущий момент отсутствует "активное" или "неактивное" поле, т.е. значение "состояние поля" явно или неявно - "несуществующее", то поле является последним в путях обхода вперед или назад, соответственно. Для того, чтобы вызвать это условие, можно использовать значение 0, обычно недопустимое значение для координаты f.
Если путь обхода из поля неявно определен из размерности F (компоненты "следующее поле" и/или "предыдущее поле" имеют значение "пусто"), произойдет переход к следующему "активному" или "неактивному" полю в соответствующем направлении по F; если такого поля нет, то поле рассматривается как последнее в пути.
Если встречается "неактивное" поле, в пути обхода (вперед или назад это поле будет пропущено (при явном или неявном обходе) и будет сделана попытка найти последующее поле из значения "следующее"/"предыдущее" для этого поля. Если "активное" поле не может быть найдено, поле, предыдущее "неактивному" полю, будет рассматриваться как последнее поле пути.
Если поле исключено (значение компонента "состояние поля" становится "несуществующее"), любой путь обхода к этому полю нарушается; память для указателей исключенного поля не сохраняется и повторное связывание не выполняется.
Примечания
1 Поскольку в компонентах "следующее поле" и "предыдущее поле" отсутствует координата z, множество полей, в котором может быть задан путь этим способом, целиком содержится внутри одного массива Y.
2 Чтобы исключить разрушение пути обхода, когда поле исключается, значение компонента "состояние поля" может быть установлено в "неактивное.
20.3.3.5 Использование ОУОП для создания, модификации и исключения полей
Состояние поля определяется значением компонента ЗОП "состояние поля". Если это значение - "активное" или "неактивное", то поле существует; если значение "несуществующее", то поля нет.
Когда начинает использоваться ФСВТ, первоначальное состояние ОУОП таково, что все ЗОП концептуально существуют со значением "несуществующее" компонента "состояние поля".
Поле создается посредством обновления его ЗОП (см. 20.3.3.2) требуемыми значениями и включения в компонент "состояние поля" значения "активное" или "неактивное" (другие компоненты ЗОП не могут иметь непустые значения, если значение компонента "состояние поля" - "несуществующее").
Характеристики существующего поля могут модифицироваться при помощи обновления соответствующих значений компонент ЗОП в их ЗОП, включая смену значения компонента "состояние поля" между "активное" и "неактивное".
Поле исключается при помощи обновления значения компонента "состояние поля" его ЗОП на "несуществующее"; другим компонентам ЗОП автоматически присваиваются значения "пусто" и они не могут быть впоследствии восстановлены.
Если любой вторичный атрибут, включая "репертуар знаков", имел явное значение или значение "нуль" параметра "атрибуты поля", то это значение заменяет любое предыдущее значение (или "нуль") этого атрибута в ЗОП. Другие значения атрибутов в ЗОП не изменяются посредством обновления ЗОП.
20.3.3.6 Определение списка управления вводом в ЗОП
Этот компонент - последовательность из одного или более элементов "управление вводом" (см. ниже), или может быть "пустой" (пустая последовательность). Последовательность имеет смысл только для индексации при помощи значения ОУК при завершении (см. 20.3.6.1). Элементы "управление вводом" позволяют применять инструкции ввода и реакции на ввод к полю и связывать их с подмножествами объектов устройств, поставленных в соответствие ОО. Если значение равно "пусто", то использование поля управляется только правилом доступа ОО (см. также 19.3).
Каждый элемент "управление вводом" есть множество из следующих частей, каждая из которых может быть составной:
а) список объектов устройств - это последовательность имен объектов устройств, или может быть "пустой" (пустая последовательность). Последовательность имеет смысл только для индексации при помощи значения ОУК при завершении (см. 20.3.6.2). Объекты устройств из списка могут вводить данные в поле в соответствии со списком ЗИВП. Значение "пусто" неявно включает все те объекты устройств, которые связаны с ОО посредством параметра ФСВТ "ОО устройства".
Объект устройства может появляться в списке объектов устройств в нескольких элементах "управление вводом". Таким образом применяемая комбинация ограничений или разрешений соответствует определению в элементах регистра ОУИВП (см. В.18.7).
Если есть какой-либо непустой список объектов устройств, соответствующий полю, тогда любой объект устройства, который не находится в списке, не может вводить данные в это поле.
Примечание - Список может включать объекты устройств, явно не связанные с ОО, которому соответствует этот ОУОП.
b) список ЗИВП - множество идентификаторов ЗИВП, или может быть "пустым" (пустая последовательность). Каждый элемент списка - пара <имя ОУИВП, индекс>, где "имя ОУИВП" - это имя ОУ типа ОУИВП, (см. 20.3.4), а индекс - это целое, адресующее запись в этом ОУ. Значение "пусто" означает, что нет ограничений на ввод в поле из объектов устройств, входящих в список объектов устройств. Если индекс не идентифицирует существующую запись в ОУИВП или, если ОУИВП не существует, тогда список ЗИВП игнорируется. Если это справедливо для всех элементов, то это эквивалентно значению "пусто" для списка ЗИВП.
c) список ЗМВП - последовательность идентификаторов ЗМВП, или может быть "пустой" (пустая последовательность). Каждый элемент списка - пара <имя ОУМВП, индекс>, где имя ОУМВП - имя ОУ типа ОУМВП (см. 20.3.5), а индекс - целое, адресующее запись в этом ОУ. Последовательность важна только в том, что она индексируется посредством значения ОУК при завершении (см. 20.3.4.2). Если индекс не идентифицирует существующую запись в ОУМВП или если ОУМВП не существует, то список ЗМВП игнорируется. Если это справедливо для всех элементов, то это эквивалентно значению "пусто" для списка ЗМВП.