13.1.1.1 Указатель отображения
Бывает простым или расширенным. Простая версия применяется, когда не используются блоки. Расширенная версия применяется, когда блоки используются. Простой указатель отображения состоит из множества (одного, двух или трех) значений координат, которое идентифицирует определенный элемент массива или может идентифицировать позицию непосредственно за границей массива X, где отсутствует элемент массива (см. 19.1.1.1). Расширенный указатель отображения состоит из множества значений координат (p, q, b, z), где q и z используются, только если определены соответственно размерности Y и Z. Он (обычно) идентифицирует элемент массива, как определено в 13.1.2. При инициализации ФСВТ начальное значение для любого указателя равно 1 для всех значений применяемых координат.
13.1.1.2 Модальные атрибуты
Множество модальных атрибутов состоит из значений для каждого из вторичных атрибутов (см. 13.2). Это значение или "нуль", или явное значение для атрибута из множества значений, согласованных для этого атрибута. Эти значения используются, как определено в 19.2. При инициализации ФСВТ начальные значения для всех атрибутов равны "нулю".
13.1.1.3 Глобальные атрибуты
Множество глобальных атрибутов состоит из значений для каждого из вторичных атрибутов (см. 13.2), за исключением репертуара знаков. Каждое значение или "нуль", или явное значение атрибута из множества значений, согласованных для этого атрибута. Эти значения используются, как определено в 19.2. При инициализации ФСВТ начальные значения для каждого из атрибутов равны "нулю".
13.1.2 Определение блока
Блок - это прямоугольная-подобласть массива Y, специфическая для этого массива Y. Он имеет начало, определяемое значением координат (x, y), ширину в X и глубину в Y, обозначаемые как Dx, Dy соответственно. Любое ребро блока может совпадать с любым ребром массива Y, но не может выходить за границы X и Y. Dx и Dy должны быть положительными и ненулевыми. Когда используется параметр "возможность определения блоков", тогда размерность X, если она определена, и размерность Y должны быть ограничены.
Если размерность Y не определена для ОО, то массив Y и все блоки имеют неявную глубину одного массива X, и все ссылки на размерность Y должны быть соответственно исправлены.
Блок устанавливает адресацию подобласти массива Y, которая содержит некоторое подмножество элементов массива Y. Содержащиеся внутри блока элементы массива адресуются с помощью значений координат p и q, которые интерпретируются как относительные к началу блока. Координаты р и q подчиняются ограничениям адресации, согласованным для размерностей X и Y соответственно неструктурированных ОО.
Подмножество массива X, которое содержится внутри блока, называется подмассивом X или массивом Р.
В каждом массиве Y может быть определено несколько блоков. Максимальное число представляет собой значение согласуемого параметра ОО и может быть неограниченным. Структура блока массива Y независима от структуры блока в любом другом массиве Y. Блоки массива н адресуются с помощью псевдоразмерности, называемой В-размерностыо, где b используется для обозначения значения координаты.
На рисунке 4 представлена концепция блока.
Адрес блока - это значение (b, z), адрес подмассива X массива Р в блоке - это (q, b, z), а адрес элемента массива внутри блока - (p, q, b, z), где q и z используются, только если размерности Y и Z соответственно определены. Адрес (р, q, b, z) идентифицирует элемент массива (х, у, z), где
,
и - начало блока (b, z).
Расширенные адреса, т.е. включающие координату блока, упорядочиваются с помощью расширения алгоритма упорядочивания в 13.1.1. Адрес (р, q, b, z) меньше (предшествует), чем (р', q', b', z'), если
или z
или z=z' и b
или z=z', b=b' и y
или z=z', b=b', y=y' и x
Блоки могут перекрываться. Поэтому элемент массива Y может адресоваться и быть обновленным при помощи более одного механизма адресации блоков, но он имеет единственные значения первичных и вторичных атрибутов. См. также 13.1.3.
Если блоки используются для ОО, то всегда применяется расширенная адресация, и элемент массива не может быть адресован (или обновлен) с помощью расширенной адресации, если он не содержится по крайней мере в одном блоке. См. также 13.1.4 и 19.3.
В 19.1.2 и 19.2.1.5 определены операции создания и удаления блоков, а также другие операции обновления, использующие блоки.
Примечания
1 Создание и удаление одного или нескольких блоков не влияет на содержимое любого элемента массива, который был получен в результате самого последнего обновления при помощи какого-либо механизма (см. 19.2.1.5).
2 В отличие от полей в модель информации определения блоков явная память не включается (см. 13.1.3).
13.1.3 Определение поля
Поле есть логическая подобласть массива Y. Оно представляет собой адресуемую область с одномерной-адресацией, которая не зависит от фактической формы поля в терминах его структуры в основном ОО. Если используется параметр "возможность определения полей", размерность X, если она определена, и размерность Y должны быть ограничены. Для полей доступны дополнительные возможности атрибутов.
Каждое поле образовано из последовательности одной или нескольких неперекрывающихся прямоугольных подобластей определенного массива Y, называющихся элементами поля; эти элементы определяются так же, как блоки, но формально отличаются от блоков (они не появляются в размерности B для массива Y. Логическое упорядочивание элементов поля устанавливается путем определения поля, а не расположением в массиве Y. См. также 13.1.3.1.
1322 × 1134 пикс.   Открыть в новом окне |
Поле может принимать любую форму внутри границ массива Y, но не может перекрывать другое поле. Поле может перекрывать один или несколько блоков. Таким образом к элементу массива Y можно адресоваться и его обновлять с помощью механизмов адресации одного поля или одного или нескольких механизмов адресации блоков, но он имеет единственные значения для первичных и вторичных атрибутов.
В массиве Y может быть создано несколько полей. Максимальное число представляет собой значение согласуемого параметра ОО и может быть неограничено. Структура поля в массиве Y независима от структуры полей в любом другом массиве Y. Поля массива Y адресуются с помощью псевдоразмерности, называемой размерностью F, где f используется для обозначения значения координаты. Каждое значение f может потенциально адресовать одно полное поле, хотя оно содержит несколько элементов (но в какой-либо определенный момент времени поле может быть "несуществующим", см. 20.3.3.5).
"Логическая" адресация элементов массива внутри поля указывается при помощи псевдоразмерности К, где k используется для обозначения значения координаты в этой размерности. См. также 13.1.3.1.
На рисунке 5 представлена концепция поля.
Поля адресуются с помощью логического указателя (см. 13.1.4). Адрес поля имеет значение (f, z), а адрес элемента массива в поле - значение (k, f, z), где z используется, только если определена размерность Z. Относительная координата k интерпретируется таким образом, что значение 1 (минимум) адресует начальную позицию первого элемента поля в определении поля. Максимальное значение k равно общему числу элементов массива, содержащихся во всех элементах этого поля. (Поле не может быть "неограниченным").
Примечания
1 Координата z логического указателя независима от указателя отображения основного ОО. Поэтому, когда происходит смена логической адресации на адресацию блока или адресацию основного ОО, значения соответствующих указателей сохраняются.
Логические адреса упорядочены следующим образом
адрес (k, f, z) меньше (предшествует), чем (k', f', z'), если
или z
или z=z' и f
или z=z', f=f' и k
2 Наличие явных связей в пути обхода (см. 20.3.3.4) не влияет на упорядочивание, как определено вышепредставленным алгоритмом и как его используют операции, которые ссылаются на такое упорядочивание.
Связь между значениями координаты k и координатами (x, y) элементов массива, которые содержатся в поле, определена в 13.1.3.1.
Определения полей содержатся в ОУОП, соответствующему ОО (см. 14.2 и 20.3.3). Поля создаются, модифицируются и удаляются операциями обновления на ОУОП (см. 20.3.3.5). Определенное значение (z, f) может иметь или не иметь соответствующее определенное поле в любой конкретный момент времени.
Операции обновления, использующие поля, определены в разделе 19.
Кроме обычного управления доступом, определяемого правилом доступа к ОО, терминальным пользователем ВТ могут применяться другие правила для управления обновлениями при помощи типов ОУИВП и ОУМВП ОУ (см. 19.3 и раздел 20).
Когда для ОО выбран параметр "возможность определения поля", доступ к ОО для обновления, помимо логического указателя (13.1.4), зависит от значения параметра ФСВТ "внешний доступ к полям" (18.2.2), см. также 19.3.