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

(См. 13.1.1 и 19.1.1.3.) Размерности окна обновления являются отражением возможности буферизации реализации службы ВТ.
Хотя наиболее удобные терминалы не требуют наличия виртуального терминала более чем с одной неограниченной размерностью, настоящий стандарт не ограничивает ВТ иметь только одну неограниченную размерность. Действительно, появляются терминалы, обеспечивающие "прокрутку" в двух размерностях. Следовательно, базовый класс ВТ является совершенно общим, позволяя любому или всем из трех размерностей быть неограниченным в любой комбинации вместе с соответствующим окном обновления, определенным для любой или всех размерностей. Наиболее вероятно, что эта совершенно общая возможность будет ограничена в реализациях базового класса ВТ, которые должны быть отображены на конкретные реальные терминалы в подмножество, которое может обеспечиваться реальным терминалом (терминалами).
B.4 Семантика объектов управления
(См. раздел 14.) Если ОУ по умолчанию определяются для объектов устройств в зарегистрированных профилях ФСВТ, семантика ОУ по умолчанию определяется в профиле ФСВТ. Профили ФСВТ являются лучшим местом определения семантики в качестве требований ясного понимания обеспечиваемых специфических устройств. Примерами семантики, которая может быть определена, являются:
- ВКЛЮЧЕНО/ВЫКЛЮЧЕНО;
- СИГНАЛ ТРЕВОГИ - условие, требующее внимания;
- СИГНАЛ СОСТОЯНИЯ - изменение состояния устройства;
- ПРЕРЫВАНИЕ - возможное отображение на функциональную клавишу или клавишу "внимание". Определения зарегистрированных профилей ФСВТ могут также содержать подробное описание, включающее любую необходимую деталь семантики дополнительных ОУ, соответствующих объектам устройств, или другие требования.
В.5 Эхоконтроль
(См. 20.3.2) Эхоконтроль не оказывает прямого воздействия на протокол ВТ. Он включен в настоящий стандарт, чтобы позволить одному пользователю ВТ передать равноправному пользователю ВТ "образ поведения", которому этот равноправный пользователь ВТ должен следовать для эхоконтроля входных символов, предназначенных для обновления "входного" ОО. Если пользователь ВТ не следует этой модели, это не является нарушением протокола. Как осуществлять эхоконтроль обновлений на локальном устройстве отображения, также находится в ведении пользователя ВТ. Кроме того, нет никаких временных связей между управлением доставкой для ОО и эхоконтролем.
В.6 Управление эхоконтролем
(См. 20.3.2) В А-режиме эхоконтроль обновлений, вводимых терминальным пользователем, может выполняться на визуальном устройстве (т.е. локально по отношению к терминальному пользователю) или удаленно (т.е. на противоположном от терминального пользователя конце ассоциации ВТ). Обычно удаленный пользователь управляет тем, когда выполнять эхоконтроль обновлений и как - локально или удаленно. Следовательно, удаленный эхоконтроль не относится к службе ВТ, так как он может быть обработан удаленным пользователем ВТ вне ФСВТ. На рисунке В.1 показан локальный и удаленный эхоконтроль.
1325 × 644 пикс.     Открыть в новом окне
Однако, чтобы удаленный пользователь ВТ мог управлять локальным эхоконтролем, служба ВТ обеспечивает средства взаимодействия, необходимые для сообщения процессу пользователя ВТ на локальном конце ассоциации ВТ, когда выполнять эхоконтроль, а когда нет, т.е. служба ВТ обеспечивает простое переключение. Заметим, это не означает, что служба ВТ вовлекается в локально выполняемый эхоконтроль обновлений; в действительности, служба ВТ просто обеспечивает переключение, чтобы сообщить локальному процессу пользователя ВТ о том, должен ли он выполнять эхоконтроль входных обновлений. Фактический эхоконтроль входных обновлений является заботой локального пользователя ВТ и не требует привлечения службы ВТ.
Такое управление эхоконтролем над службой ВТ обеспечивается ОУ эхоконтролем; этот ОУ представляет собой переключатель, который удаленный пользователь ВТ может включать или выключать (с помощью службы ВТ) для управления локальным эхоконтролем. ОУ эхоконтролем содержит булевую переменную, посредством которой сообщает локальному пользователю ВТ, требуется или нет выполнять эхоконтроль входных обновлений; существует локальная булевая переменная, которая сообщает, должен ли выполняться эхоконтроль обновлений немедленно (т.е. эхоконтроль разблокирован) на устройстве вывода или они должны быть поставлены в очередь, чтобы вьшолнить эхоконтроль позже после его разблокирования. См. В.7 для алгоритма управления эхоконтролем.
В.7 Алгоритм управления эхоконтролем
(См. 20.3.2) Если значение булевой переменной ОУ эхоконтролем - "истина", то процесс локального пользователя ВТ выполняет эхоконтроль обновлений от устройства обновления объекта на визуальном устройстве объекта; если значение - "ложь", эхоконтроль обновлений не выполняется.
Если ОУ эхоконтролем определен и его значение - "истина", то необходимо координировать вывод эхоконтроля на визуальном устройстве с нормальным выводом на это визуальное устройство от равноправного пользователя ВТ. Чтобы достичь это, предполагается, что пользователь ВТ содержит другую булевую переменную, называемую переменной блокировки, исходное значение которой - "разблокировано".
Если значение - "блокировано", обновления, эхоконтроль которых должен быть выполнен, ставятся в очередь, пока это значение не изменится на "разблокировано". Когда значение становится "разблокировано", обновления, эхоконтроль которых должен быть выполнен, отображаются на визуальном устройстве. Эта булевая переменная устанавливается в "блокировано", только если очередь обновлений (очередь обновлений, ожидающих эхоконтроль) пуста и существует вывод (от запроса VT-DATA, предназначенный для рассматриваемого ОО), ожидающий доставки; он остается заблокированным, пока пользователь ВТ не окончит обработку VT-DATA с присутствующим параметром "эхоконтроль". Когда значение переменной блокировки -"разблокировано", а очередь обновлений для эхоконтроля и нормальная очередь вывода не пустые, очередь обновлений для эхоконтроля должна иметь преимущество.
Если булевская переменная ОУ эхоконтролем - "ложно", то обновления в очередь не заносятся и значение булевой переменной должно быть установлено в "разблокировано"; если значение булевой переменной ОУ эхоконтролем изменилось с "истины" на "ложно", очередь обновлений, ожидающих эхоконтроля (если она существует), должна быть исключена.
B.8 Условия завершения
(См. 23.4) Условия завершения, заданные параметрами ФСВТ "завершение", не оказывают прямого воздействия на протокол ВТ.
Они включены в качестве согласуемых параметров ФСВТ услуги, чтобы предоставить пользователю ВТ возможность передать равноправному пользователю ВТ "образ поведения", которому нужно следовать при определенных событиях, заданных условиями завершения. Поскольку условия завершения прямого воздействия на протокол не оказывают, не является нарушением протокола ВТ, если пользователь ВТ не ведет себя в соответствии с заданным "образом поведения". Если при использовании С-режим на двух концах ассоциации ВТ требуются разные условия завершения, то необходимо определить два отдельных объекта устройств, назначенных одному и тому же ОО, т.е. по одному объекту устройства на каждое множество условий завершения.
В.9 Синхронизация доставки обновлений
(См. 23.4) Управление доставкой ограничивается правилами доступа и обеспечивает синхронизацию доставки обновлений таким образом, чтобы объекты (ОУ и ОО) с одинаковым правилом доступа могли быть эффективно сгруппированы вместе (т.е. все обновления ОО и ОУ становятся доступными одновременно равноправному пользователю ВТ). Свойство группирования наиболее эффективно с "карантинным" управлением доставкой. Например, группирование может быть использовано для обработки функциональных клавиш в услуге ВТ посредством определения ОУ "функциональной клавишой" (т.е. ОУ "завершением"), который "сгруппирован" с ОО таким образом, что данные, записанные в оба объекта, одновременно становятся доступными (синхронизируются) посредством использования услуги VT-DELIVER. Нормальные данные (внесенные до нажатия функциональной клавиши) записываются в ОО при помощи услуги VT-DATA; при нажатии функциональной клавиши идентификатор события условия завершения (т.е. код, указывающий, что такая-то клавиша была нажата) записывается в ОУ при помощи VT-DATA, а затем инициируется VT-DELIVER, чтобы обновления обоих объектов сделать доступными одновременно. Альтернативно, примитив VT-DATA, направленный к ОУ "функциональной клавишей" с характеристикой "триггер", исключает необходимость явной VT-DELIVER (но не обеспечивает средство подтверждения приема).
Этот технический прием обработки функциональных клавиш может быть также использован со многими другими управляющими действиями, например, световое перо, мышь, клавиша "ввод" и др. Эти управляющие действия представляют собой атомарные события, называемые событиями условий завершения.
Эти атомарные события являются локально определяемыми событиями, такими как введенный "знак", нажатая функциональная клавиша, установленный флаг. Каждый элемент списка "событий завершения" имеет форму <событие, идентификатор события>, где "идентификатор события" вводится в ОУ "завершением", когда происходит событие и имеет непулевое значение. ОУ завершением является необязательным ОУ, сгруппированным вместе с ОО, и используется для передачи равноправному пользователю ВТ "кода причины" ("идентификатор события"), указывающий причину обновлений присоединенного ОО.
Условия завершения задают для заданного правила доступа условия, при которых (или события, по которым) пользователь ВТ должен инициировать VT-DELIVER, чтобы сделать обновления доступными равноправному пользователе ВТ. Условия завершения могут быть использованы в обоих режимах операции. Условия завершения позволяют пользователю ВТ посредством согласования информировать равноправного пользователя ВТ о том, что ввод, породивший события, должен привести к доставке входных данных.
Событие завершения может соответствовать допустимому знаку из репертуара знаков, определенного для ОО, в таком случае, кроме объявления о событии завершения, знак должен быть введен в ОО перед доставкой данных. Таким образом, событие, которое также является знаком репертуара, вызывает обновление ОО, необязательное обновление (т.е. "идентификатор события") ОУ завершением и VT-DELIVER (или эквивалентный "триггер"),
В дополнение к событиям завершения, явно объявленным в списке событий завершения для устройства, события завершения могут быть вызваны тайм-аутом (тайм-аут завершения устройства) или превышением заданного числа обновлений (длина завершения для устройства). По истечении тайм-аута все отложенные обновления объектов с одинаковыми полномочиями доступа, как для ОО, заданного в ОО устройства, доставляются и тайм-аут сбрасывается. Если отложенное обновление отсутствуют, тайм-аут сбрасывается и никакие другие действия не выполняются (даже если был определен идентификатор события).
Когда достигается заданное количество информации обновления, обновления доставляются равноправному пользователю ВТ.
B.10 Многократное согласование
(См. 30.3) МС предоставляет мощные функциональные возможности. В фазе "действие согласования" с точки зрения непротиворечивости, проверяемой поставщиком услуг, использование этих средств не ограничено. Однако, если пользователь ВТ пытается перейти в фазу "обработка данных" с новой ФСВТ, поставщик услуг выполняет проверку непротиворечивости проекта ФСВТ. Чтобы успешно использовать средство МС, пользователю настоятельно рекомендуется работать с деревом параметров ФСВТ способом "сверху-вниз", систематически с каждой ветвью, пока не будут достигнуты листья параметров ФСВТ. Существуют зависимые друг от друга группы параметров ФСВТ. Эти зависимости необязательно имеют структуру дерева, а формируют собственную сеть. Пользователь должен учитывать это обстоятельство.
B.11 Семантика объектов отображения
(См. 13.1.1) В общем случае ОО представляет собой образ того, что отображается на экране, т.е. элементы структуры ОО соответствуют знакоместам реального устройства, размерность X соответствует горизонтальной строке, размерность Y - странице, размерность Z - документу, вторичные атрибуты - атрибутам воспроизведения, а указатель отображения - курсору. Однако некоторые профили ФСВТ могут использовать структуру ОО совершенно другим способом (например, размерность X может содержать строку байтов, которая должна передаваться непосредственно реальному устройству или может соответствовать столбцу этого реального устройства). Следует также заметить, что для реализаций, обеспечивающих несколько ОО, необходимо обрабатывать несколько указателей отображения. Там, где требуется управлять курсором отдельно от указателя отображения одного или обоих ОО, это можно осуществить при помощи ОУ, известного пользователям ВТ или зарегистрированного посредством профиля ФСВТ. Все эти проблемы должны быть решены разработчиком, поскольку они не определены в этом стандарте.
В.12 Репертуары
(См. 18.2.4) В самом общем случае определение репертуара состоит из множества "отображаемых" графических элементов блоков знаков и множества "управляющих" элементов, которые могут иметь или не иметь отображаемые представления. К этим двум видам множеств относятся соответственно множество графических знаков и множество управляющих знаков в ИСО 2022. ИСО 2022 и регистр ИСО множеств кодированных знаков, используемых с управляющими последовательностями, применяются в качестве источника для указателей множества знаков. Для базового класса ВТ репертуар будет состоять только из множества (множеств) графических знаков, поскольку модель ВТ ориентирована на действия с "отображаемыми" знаками. Однако этот способ указания репертуаров, базируемый на использовании ИСО 2022, не препятствует включению в репертуары множеств "управляющих" знаков там, где это необходимо.
Когда одно или несколько множеств управляющих знаков включены в репертуар, кодированные знаки из этих множеств рассматриваются как допустимые значения компонента "текст" параметра "обновление объекта ВТ" (31.1.3) для обновления компонента первичных атрибутов содержимого графических элементов блоков знаков ОО. Каждый такой кодированный знак занимает один элемент массива в ОО. Этим ограничивается воздействие таких управляющих знаков на ОО; в частности, нет специального действия над указателем, и содержимое всех других элементов массива не изменяется. Необходимо отметить, что использование между двумя кодированными графическими знаками не формирует составной знак, эта последовательность займет три элемента массива (если допустимо, см. В.13).
В.13 Использование в репертуарах дополнительных управляющих знаков ГОСТ 34.301
(См. 18.2.4) Множество управляющих знаков С1 определяется в ГОСТ 34.301, а указанная там же инициирующая управляющая последовательность С1 - в соответствии с механизмом ИСО 2022.
Множество С1 включает пять элементов: CS1, DCS, OSC, АРС и ST. Они используются в ГОСТ 34.301 для построения параметризованных "управляющих последовательностей" или для ограничения размеров "управляющих строк". Эти дополнительные управляющие функции могут быть сложными (и могут требовать несколько кодовых комбинаций (т.е. байтов) для передачи на уровне кодирования). Пользователь, пытающийся включить эти управляющие функции, должен иметь в виду, что служба ВТ не заботится о семантике использования этих элементов множества С1. Он рассматривает эти элементы множества С1, любые байты параметра или кодовые комбинации содержимого строк, а последний (функциональный) байт или ограничитель строки, как отдельные сохраняемые объекты, занимающие элементы массива в ОО. Действие граничных условий ОО должно рассматриваться пользователем, например, границы могут препятствовать вводу полной последовательности или строки.
Подобная проблема может возникнуть при использовании SS2 и SS3. Хотя они не имеют формальных параметров (в том смысле, в каком имеют формальные параметры управляющие последовательности в ГОСТ 34.301), их обычно используют для изменения смысла последующих кодовых комбинаций (способом, зависящим от текущих вызванных множеств кодовых знаков в контексте, в котором интерпретируется поток кодовых комбинаций). Этот смысл неизвестен службе ВТ, a SS2 и SS3 могут занимать один отдельный элемент массива ОО. Может возникнуть трудность, если следующий кодированный знак не сможет быть введен в ОО из-за проблем с границами ОО. Аналогичная ситуация возникает при использовании определенных управляющих знаков видеотекста, которые, принимают форму управляющих знаков С1, но имеют последующие параметры из одной, двух или более кодовых комбинаций.
В.14 Параметры ФСВТ "назначение шрифта"
(См. 18.3) В настоящем стандарте управление шрифтами при помощи параметров ФСВТ "назначение шрифта" и "назначение шрифта устройства" рассматривается как имеющие второстепенное значение по отношению к управлению репертуаром при помощи параметров ФСВТ "назначение репертуара" и "назначение репертуара устройства". Если это нужно пользователю ВТ, управление шрифтом, т.е. стиль изображения, может применяться на уровне ОО или ОУ. Назначение шрифта, в общем случае, имеет смысл, только если был назначен репертуар на том же или более раннем уровне.
В настоящее время не существует стандартов ИСО для шрифтов. Следовательно, использование этих параметров остается открытым для договоренности между пользователями или определения в профилях ФСВТ.
В.15 Конечный эффект
(См. раздел 24) "Конечный эффект" определен в 3.3.29. Если эта функция применяется, например, к последовательности обновлений ОО, то она может состоять в удалении любых изменений знака, хранящегося в конкретном элементе массива, которые становятся ненужными из-за более поздних изменений в последовательности обновлений того же самого элемента, т.е. там, где они восстанавливают исходное содержимое элемента.
Одной из причин применения "конечного эффекта" является сокращение количества передаваемых данных; другой причиной ее использования может быть сокращение числа взаимодействий или количества требуемой памяти. Таким образом, это может приносить пользу в любой из двух открытых систем, имеющих отношение к передаче данных.
Однако "конечный эффект" является необязательной функцией; она допускается, только когда используется опция "карантинное управление доставкой", и тогда она является обязательной.
В.16 Средства прерываний