Стандарты, обеспечивающие интерфейсы пользователей с операционной средой
Задачи взаимодействия пользователей с операционной средой. Мобильность информационных систем включает унификацию и сохранение технологии взаимодействия и всех деталей интерфейса пользователей с приложениями при изменении аппаратных и операционных платформ— мобильность пользователей. Тем самым пользователь не должен переучиваться при переносе определенных прикладных программ и данных на иные платформы и сохраняет опыт и технологию взаимодействия с ними. В результате сокращаются затраты на освоение новых платформ и предотвращаются многие ошибки при использовании приложений [14,15,8].
Парк терминалов для пользователей информационных систем непрерывно совершенствуется по своим функциональным характеристикам и аппаратным реализациям. Для сохранения применяемых операционных систем, прикладных программ и баз данных и обеспечения возможности их переноса на иные платформы необходимо выделение и унификация интерфейсных компонентов, организующих их взаимодействие с различными аппаратно-программными реализациями терминалов. Эти интерфейсные компоненты должны согласовывать терминальные методы доступа к функциональным приложениям разнородных средств распределенных информационных систем, отличающихся между собой и использующих различные принципы отображения информации. Для этого необходима унификация концепции, архитектуры, функций и методов визуализации пользовательского интерфейса.Задача обеспечения мобильности пользовательского интерфейса включает стандартизацию:
— визуализации и непосредственного взаимодействия пользователей с различными типами терминалов;
— интерфейсов прикладных программных средств, обеспечивающих визуализацию, с операционной системой;
— интерфейсов программных средств визуализации с приложениями;
— интерфейсов прикладных программных средств и баз данных
с операционной системой (API).
Программные средства визуализации и взаимодействия с пользователями по отношению к операционной системе выступают как прикладные программы и их интерфейсы с ней должны соответствовать стандартам API POSIX и в частности стандарту IEEE 1003.4 для систем реального времени. Стандартизация визуализации и непосредственного взаимодействия пользователей с различными типами терминалов затруднена широким спектром функционального назначения и особенностей отображаемой информации и классов информационных систем. Однако при переносе на иные платформы программ и данных определенного назначения их визуализация должна сохраняться на уровне стандартов де-факто. Наибольшие успехи достигнуты в международной стандартизации архитектуры интерфейсов программных средств визуализации с операционными системами. Применение этих стандартов значительно облегчает переносимость пользовательского интерфейса и приложений на иные платформы. Основная совокупность стандартов поддерживает графические пользовательские интерфейсы (Graphical User Interfaces - GUI). По своему функциональному назначению GUI является альтернативой вводу данных через командную строку. Ключевой проблемой остается выработка единой методологии создания программ графических систем [15,16,17,18].
Графический пользовательский интерфейс делает компьютер более легким и удобным для использования. Для этого он должен быть "дружественным" по отношению к пользователю, предусматривать возможные нужды и функции определенного класса пользователей, предостерегать их от ошибок при работе и защищать от разрушения системы. Он позволяет заменить командное управление с учетом сложного синтаксиса операционной системы, на манипулирование окнами и элементами изображения (иконами) пользовательских интерфейсов. Интерфейс с пользователем должен быть логичным и согласованным, не создавать неожиданные или тупиковые ситуации при любых действиях пользователей в соответствии с инструкциями, иметь соответствующие учебники и руководства для помощи при работе и для предотвращения ошибок. При переносе GUI на иные платформы должна полностью сохраняться визуализация на экране дисплея и функциональные возможности взаимодействия пользователя с графической системой.
Основой GUI являются наборы графических элементов и допустимых операций над ними, меню и области окон для прокрутки изображений. Прикладной программный интерфейс (API) реализует программно-языковые функции для взаимодействия разработчиков приложений с графическими интерфейсами. Для этого программист выбирает и компонует наборы элементов и функций (окон, меню, операций над изображениями, икон), необходимых для создания конкретных информационных систем. Для поддержки экономного и эффективного переноса программных средств, обеспечивающих отображение различных графических образов, применяются стандарты де-факто и де-юре. Стандарты де-факто созданы несколькими рабочими группами фирм и IEEE и имеют целью унифицировать непосредственное формирование изображения на экране дисплея, управление окнами и графическими образами.
Проектирование интерфейсов пользователей состоит в разработке интегрированного набора средств, помогающих разработчику в создании и управлении различными интерфейсами пользователей. Основу пользовательского интерфейса составляют наборы графических элементов и действий над ними, представляемые как меню и системы окон для манипулирования с изображениями. При этом ставится задача отделить процесс создания интерфейса пользователей от разработки прикладных программ, которые не должны связываться с конечными пользователями напрямую.Основные особенности современного интерфейса с пользователями состоят в следующем [19,20,21]:
— наличие механизмов управления окнами;
— использование готовых графических символов (икон) для отображения управляемых объектов;
— непосредственное манипулирование графическими объектами и окнами посредством "мыши";
— объектно- и проблемно-ориентированное проектирование диалоговых систем.
Для реализации интерфейсов создаются и используются библиотеки технологических интерактивных программ, позволяющих использовать устройства ввода команд управления и графических элементов при наличии обратной связи, отображающей на дисплее результаты манипулирования ими. Для этого разрабатываются модели, методы и языки проектирования интерфейсов пользователей, которые должны соответствовать проблемной области информационной системы. Их можно отнести к компонентам языков четвертого поколения. Разработка систем построения и управления интерфейсами пользователей ведется многими фирмами послойно с частичным учетом стандартов открытых систем и постепенной выработкой ряда стандартов де-факто.
Модели графического пользовательского интерфейса. Разработан ряд моделей графического пользовательского интерфейса, из которых ниже рассматриваются три. Первая —концептуальная модель может быть детализирована введением пяти уровней взаимодействия пользователей с информационными системами: физического; концептуального; лингвистического; визуального; функционального.
Физический уровень определяет состав технических средств и общетехнические требования к ним, например, расположение клавиш на клавиатуре, характеристики устройств автоматического ввода информации, характеристики мониторов. Физический уровень взаимодействия соответствует нижнему уровню интерфейса пользователя в концептуальной модели ИС.
Концептуальный уровень определяет способ отображения состояния среды, с которой взаимодействует пользователь. Он базируется на некотором представлении объектов среды через объекты интерфейса, связываемые между собой в программной среде. Лингвистический уровень определяет все, что связано с обработкой текстовой информации: сообщения программной среды, ввод текстовых команд пользователя, редактирование текста и т.д. Возможности интерфейса в использовании различных языков, а также то, как он использует свои языковые возможности, — все это относится к лингвистическому уровню взаимодействия.
Визуальный уровень конкретизирует отображение концептуальных объектов. Способ отображения концептуальных объектов, их взаиморасположение, возможности пользователя в управлении этим отображением, удобство восприятия и т.п. — все это относится к визуальным аспектам. Концептуальный, лингвистический и визуальный уровни относятся к двум уровням программных средств среды (уровню операционных систем и уровню программных средств общего назначения).
Функциональный уровень рассматривает взаимодействие пользователя с системой при решении прикладных задач, то есть типы воздействия пользователя на систему через функции пользовательского интерфейса и способы представления результатов в ответ на эти воздействия. Функциональный уровень относится к верхнему уровню концептуальной модели, на котором представлены прикладные программы ИС.
Вторая модель, реализующая графические пользовательские интерфейсы, представляет собой многоуровневую совокупность компонентов, в которой верхний уровень занимают прикладные программы, а нижние уровни — операционная система и процессор (рис.4.2). Модель начинается с компонентов связи с прикладными программами, содержащих множество точек, через которые пользователь контактирует с системой и элементами, такими как меню и иконы. Основные уровни модели не предназначены для выполнения функциональных или программных операций. Они используются только для выбора графических интерфейсов. В дополнении к прикладным программам, операционной системе и процессору, эта модель между ними имеетпять базовых уровней.
Объектная модель располагается на высшем уровне GUI, но может быть не единственной. Объектная модель отражает реакции и взаимодействие приложений с внешней средой и между собой. Она определяет характер реализуемых прикладных функций, их использование, управление и построение объектов.
Прикладные программные интерфейсы (API) выполняют программно-языковые функции для связи пользовательских приложений с GUI. Программист может специфицировать функции (окна, меню, процессы отображения, иконы), которые необходимы для соответствующих прикладных программ. API включает средства, используемые разработчиками программ при создании GUI для конкретных приложений.
Ядро графического пользовательского интерфейса сосредоточивает экранные функции и элементы. В таких системах, как OpenLook и Motif— это полное средство обеспечения пользовательского интерфейса. В системе Microsoft Windows в ядре содержится только часть функцийGUI. Оконная система выделяется в некоторых случаях для повышения гибкости развития всего GUI. Так, например, Х Windows первоначально создавалась только как оконная система, а не весь графический пользовательский интерфейс. Однако системы функционально быстро развиваются, и оконные системы сливаются с ядром GUI.
Модели изображения формируются для различных пользовательских интерфейсов с помощью графических средств, в том числе Х Windows. Для унификации интерфейсов могут применяться международные стандарты GKS (ISO 7942), PHIGS (ISO 9592) и другие.
Реализации представленной этой многоуровневой модели графических пользовательских интерфейсов весьма разнообразны и, в той или иной степени, ориентированы на аппаратные и операционные платформы. Однако общие тенденции состоят в стремлении обеспечить их,
по возможности, широкую мобильность между платформами с учетом применения международных стандартов и некоторых стандартов де-факто. При этом важнейшей задачей остается сохранение всей совокупности функций, доступных пользователю, унификация технологии и процедур его взаимодействия с приложениями при любых платформах.
Третья модель отражает общий методологический подход к реализации интерфейсов пользователя и выбору объектов стандартизации. Все компоненты пользовательского интерфейса должны поддерживаться операционными системами станций клиентов и серверов. Эта модель интерфейсов пользователя подразумевает разделение функциональных компонентов приложений на клиентские и серверные части независимо от какой-либо определенной архитектуры среды распределенной обработки данных.
В распределенных информационных системах с архитектурой клиент-сервер пользователи непосредственно взаимодействуют с клиентской частью системы, управляющей запуском и режимами работы прикладных программ. Серверные части прикладных программ обеспечивают доступ к данным и вычислительным ресурсам серверов. Система предоставляет пользователю формы документов и наборы процедур, которые он может выполнять. Эти функции обеспечиваются прикладными программами. Для реализации такого взаимодействия компоненты клиентской части среды, относящиеся к группе функций пользовательского интерфейса, обеспечивают средства работы с документами (текстами), механизмы управления окнами, готовые примитивы символов (алфавитно-цифровые и графические примитивы) для формирования нужных объектов, непосредственное манипулирование объектами на экране. Наконец, физический уровень взаимодействия пользователя с системой обеспечивают устройства ввода-вывода информации, входящие в состав автоматизированных рабочих мест. Таким образом, средства, поддерживающие функции интерфейсов пользователя, размещаются на трех уровнях ИС: уровне прикладных программ, уровне программных средств среды, уровне технических средств среды.
Система международных стандартов графических пользовательских интерфейсов. Особенностью пользовательского интерфейса как архитектурного компонента среды ИС является необходимость высокой согласованности всех функциональных элементов интерфейса. В связи с этим организации по стандартизации и промышленные консорциумы разрабатывают спецификации пользовательского интерфейса в виде гармонизированных профилей на основе базовых стандартов. Однако, на настоящий момент не существует подобного рода спецификации, которая охватывала бы все аспекты пользовательского интерфейса. Традиционно такие профили описывают либо структуру графического оконного интерфейса в целом, либо архитектуру построения распределенных приложений. Для построения профилей интерфейсов пользователя должны использоваться базовые стандарты, относящиеся к следующимклассам объектов стандартизации:
— типовые формы документов и процедуры работы с ними;
— элементы взаимодействия пользователя с алфавитно-цифровым интерфейсом;
— элементы взаимодействия пользователя с графическим интерфейсом;
— структура распределенных приложений в части средств, поддерживающих интерфейсы пользователя.
Типовые формы документов и процедуры работы с ними, рассматриваемые как объекты стандартизации, относятся к функциональному уровню взаимодействия пользователей с информационными системами. Объектами стандартизации, соответствующими процедурам из этого перечня являются элементы интерфейса пользователя, определяющие возможность начала соответствующей операции, ее ход и результат. Должна быть предусмотрена идентификация ошибочных действий и стандартизирована форма сообщения об ошибках. В связи с жестким регламентом выполнения процедур, средства настройки интерфейса пользователя на большинстве АРМов этих систем должны быть весьма ограничены либо отсутствовать.
Для информационно-аналитических и административно-вспомогательных систем в настоящее время типовые процедуры не определены.В этих документах должны быть описаны:
— соответствие между элементами интерфейсов пользователя (экранными формами) и типовыми процедурами;
— последовательность допустимых операций и переходы между экранными формами;
— форма идентификации ошибочных действий и/или ситуаций;
— формы входных и выходных документов.
Большинство приложений, использующих алфавитно-цифровой интерфейс, предоставляют либо вариант интерфейса, разработанного специально в составе приложения, либо интерфейс, который может быть сконструирован при помощи средства разработки этого приложения. Существуют фирменные стандарты, определяющие построение алфавитно-цифровых интерфейсов.
Деятельность в области графических систем возглавляется и координируется 24-м подкомитетом ISO/IEC JTC1/SC24 при активном участии NIST, IEEE и ряда крупных программистских фирм. При создании графических стандартов используется принцип виртуальных ресурсов и разделения графической системы на несколько уровней (см. выше). Уровни могут использовать информацию нижних уровней и взаимодействовать с другими подсистемами посредством стандартизированных программных интерфейсов, а также с помощью стандартизированных файлов или протоколов. Для этого выделены три направления стандартизации:
— базисные графические системы;
— интерфейсы виртуальных устройств;
— форматы обмена графическими данными.
Стандарты базисных систем направлены на унификацию визуализации графических объектов. Интерфейсы виртуальных устройств разделяют аппаратно-зависимую и аппаратно-независимую части графических систем. При этом важную роль сыграло развитие растровых дисплеев и принтеров. Первоначально растровые файлы содержали только статические изображения. Появились проекты стандартов на форматы динамических (анимационных) изображений.Намеждународном уровне упорядочена система непосредственного графического взаимодействия пользователей с базовыми средствами манипулирования графическими образами, которые стандартизированы де-юре ISO:
1. ISO 9040:1990. СОИ. ВОС. Услуги виртуального терминала. Базовый класс.
2. ISO 9041:1990. СОИ. ВОС. Протокол виртуального терминала. Базовый класс.
3. ISO 7942:1985. СОИ. МГ. Функциональное описание ядра графической системы (GKS). Приложение 1:1991.
4. ISO 8651-1-4:1988. СОИ. МГ. Языковые связи ядра графической системы (GKS). Ч.1:Фортран. Ч.2:Паскаль. Ч.З: Ада.Ч.4: Си.
5. ISO 8805:1988. СОИ. МГ. Функциональное описание трехмерного ядра графической системы (GKS-3D).
6. ISO 8806-1-4:1991. СОИ. МГ. Языковые связи трехмерного ядра графической системы (GKS-3D). 4.1: Фортран. 4.2: Паскаль. 4.3: Ада. 4.4: Си.
7. ISO 8632-1-4:1992. СОИ. МГ. Метафайл для хранения и передачи информации, описывающей изображение (CGM). 4.1: Функциональные требования. Дополнение 1:1990. 4.2: Символьное кодирование. Дополнение 1:1990. 4.3: Двоичное кодирование. Дополнение 1:1990. 4.4: Кодирование открытого текста. Дополнение 1:1990.
8. ISO 9281-1,2:1990. ИТ. Методы кодирования изображения. 4.1: Обозначение. 4.2: Процедуры для регистрации.
9. ISO 9282-1:1988. ИТ. Кодированные представления изображений. 4.1: Принципы кодирования для представления изображения в 7- и 8-битной среде.
10. ISO 9592-1-3:1989. СОИ. МГ. Иерархическая интерактивная графическая система программиста (PHIGS). 4.1: Функциональное описание. 4.2: Формат архивного файла. 4.3: Открыто-текстовое кодирование архивного файла.
11. ISO 9593-1-4:1990. СОИ. МГ. Языковые связи иерархической интерактивной графической системы программиста (PHIGS). 4.1: Фортран. 4.2: Расширенный Паскаль. 4. 3: Ада. 4.4: Си.
12. ISO 9636-1-6:1991. ИТ. МГ. Методы сопряжения для диалогов с графическими устройствами. Функциональные требования. 4.1: Обзор, профили и согласованность. 4.2: Контроль. 4.3: Вывод. 4.4: Сегменты. 4.5: Ввод и отображение. 4.6: Растр.
13. ISO 9638-1-4:1991. ИТ. МГ. Методы интерфейса для диалогов с графическими устройствами. Языки библиотек CGI. 4.1: Фортран. 4.2: Паскаль. 4.3: Ада. 4.4: Си.
14. ISO 9973:1988. ТО. СОИ. Процедуры для регистрации графических элементов.
15. IEEE-X Window — стандарт де-факто. Многооконная графическая система.
16. ISO 11072:1992. ИТ. МГ. Компьютерная графика справочная модель.
17. ISO 13719-1,2,3:1995. Среда интеграции инструментальных средств (РСТЕ) на рабочих станциях — ориентированы на приложения разработчика программного обеспечения.
Услуги, регламентируемые представленной группой стандартов виртуальных терминалов и графики (GUI), определяют способы взаимодействия прикладных интерактивных систем, ориентированных на терминальную связь, в терминах передачи и манипулирования абстрагированными графическими образами. В базовой эталонной модели ВОС виртуальные терминалы и графика организуются на прикладном уровне и используют сервис представительского уровня. Базовый класс GUI организует образы, состоящие из блочно-символьных графических элементов, организованных в одно-, двух- / или трехмерные структуры.Услуги базового класса виртуальных терминалов позволяют [15,17,13]
— устанавливать соединение между двумя пользователями; -
— запрашивать и согласовывать подмножества услуг и сервисных параметров;
— передавать и манипулировать структурированными данными, независимо от способа внутреннего представления их информации, используемого каждым пользователем GUI;
— управлять целостностью взаимодействия с пользователемGUI;
— завершать взаимодействие пользователей согласованно и односторонне.
Стандарты GUI регламентируютпроцедуры управления диалогом на основе механизма права доступа и ряда правил упорядочения примитивов услуг. Для согласования параметров образуется ассоциация — соединение между прикладными объектами. Стандарты предусматривают операции двух типов: синхронные и асинхронные. Синхронные обеспечивают попеременный, взаимоисключающий обмен со стороны различных объектов, а асинхронные — назначают определенным объектам право доступа на все время их существования.
Семантика диалогов пользователей определяется в стандартах в терминах манипуляции над абстрактными объектами и типов самих объектов, к которым имеют доступ оба пользователя. Они совместно используют концептуальную область взаимодействия. Для описания операций сервиса GUI используются абстрактные объекты: концептуальная область взаимодействия и интерпретатор команд. Концептуальная область взаимодействия содержит память данных: одного или нескольких дисплейных объектов; управления, сигнализации и статуса; управления доступом; описаний дисплейных объектов, дополнительных устройств, объектов управления и т.п.
Для обеспечения мобильности прикладных программ и данных их взаимодействие с пользователями целесообразно организовывать по принципам и моделям, заложенным в международных стандартах графических систем. Однако развитие программных средств графических систем происходит очень динамично. В результате разработка стандартов де-юре в этой области не поспевает за реальной практикой совершенствования функциональных возможностей диалога пользователей и аппаратных графических устройств. Это приводит кпоявлению и массовому использованию в этой области стандартов де-факто [15,22,9]. Их формализация на международном уровне может быть не всегда целесообразна, так как ограничено время их существования вследствие интенсивного развития функций и изменения аппаратуры диалоговых средств.
СтандартISO 9040 абстрактным образом определяет внешние услуги базового класса виртуального терминала (ВТ) внутри прикладного уровня ВОС путем задания модели взаимодействия между пользователями этих услуг и связанных с ними событий, в зависимости от параметров, содержащихся в каждом примитиве и взаимосвязи последовательностей примитивов. Услуги обеспечиваются с использованием общего прикладного сервисного элемента, а также услуг уровня представления и могут использоваться пользователем. Услуги ВТ применяются для реализации интерактивных прикладных процессов, требующих обмена информацией с пользователем и ориентированных на терминал, т.е. для передачи и манипуляции графических образов, состоящих из дискретных графических элементов, организованных в одно-, двух- или трехмерную структуру, которые могут иметь атрибуты, задающие способ их отображения. Стандарт определяет синхронный и асинхронный режим работы, профили и функциональную среду ВТ. В приложении А определены два рекомендуемых профиля: для асинхронного и синхронного режима работы. В остальных приложениях содержатся некоторые профили ВТ, а также дополнительная информация о стандарте.
СтандартISO 9041 конкретизирует процедуры передачи данных и управляющей информации, ориентированные на соединение, между протокольными автоматами, реализующими функции поставщика услуг базового класса виртуального терминала (ВТ), определенные в ISO 9040. Процедуры определены в терминах: взаимодействий между протокольными автоматами, осуществляемых элементами ВТ, и взаимодействий протокольного автомата с поставщиком услуг уровня представления путем обмена сервисными примитивами. Определены две категории систем ВТ: простые и способные к форматированию. Обе разновидности систем обеспечивают позначное взаимодействие пользователей, однако различаются возможностями удаленной системы обрабатывать данные, вводимые пользователями. Установлена структура протокольного блока данных, определены три подмножества процедур и способы согласования необходимого подмножества. Заданы аттестационные требования. В обязательных приложениях приведены таблицы переходов состояний для протокольного автомата ВТ и дан список стандартизованных имен, идентифицирующих объекты данного стандарта. Информационного приложение содержит примеры кодирования протокольных блоков данных в ASNI.
СтандартISO 7942 определяет набор функций для программирования машинной графики — Систему графического ядра (GKS). GKS [16] является основой графической системы для приложений, которые создают двумерное машинное изображение на устройствах вывода построчной или растровой графики. Она поддерживает вывод и интерактивный режим путем обеспечения основных функций вывода и сегментации изображения, позволяет сохранять и динамически модифицировать изображение. Основой GKS является концепция графической рабочей станции, являющейся абстракцией физического устройства и состоящей из ряда устройств ввода и единственного устройства вывода. Несколько станций могут использоваться одновременно. Функции управления GKS обеспечивают работу с несколькими логическими рабочими станциями. Для построения изображений в системе используется три системы координат: мировая; нормированная и система координат устройства. Прикладной программист использует мировую систему координат, GKS переводит данные в нормированную систему, а устройство вывода выдает их на отображение в системе координат устройства. Поддержан вывод с изменением атрибутов шести примитивов: ломаная линия; набор маркеров; заполненная область; текст; массив ячеек и обобщенный графический примитив. Стандарт охватывает конструкции и библиотечные вызовы двумерного изображения, в принципе, любого вида. Прикладные программы позволяют адаптировать режимы GKS на рабочую станцию для расширения ее возможностей. Стандарт включает функции, для хранения и передачи внешнего графического файла. GKS определяет языково-независимое ядро графической системы. Для включения в язык программирования, GKS имеет встроенный языковозависимый уровень. N 1ST лицензирован комплект аттестационных тестов для GKS и организована сертификация соответствия ему графических систем. Разработано несколько десятков пакетов, реализующих стандарт на различных языках программирования и на различных аппаратных платформах.
СтандартISO 8651-1-4 из четырех частей формализует внесение в языки программирования Фортран, Паскаль, Ада, Си ядра графической системы (GKS), которое встраивается на языковозависимом уровне, подчиняясь требованиям данного языка.
СтандартISO 8805 определяет набор функций для программирования машинной графики трехмерного ядра графической системы (GKS-3D). GKS-3D является основной графической системой для приложений, создающих трехмерные изображения на устройствах. графического вывода.
Стандарт из четырех частей ISO 8806-1-4формализует внесение в языки программирования Фортран, Паскаль, Ада, Си трехмерного ядра графической системы (GKS-3D), которое встраивается на языковом зависимом уровне, подчиняясь требованиям данного языка. Привязка графического стандарта к языку программирования определяет отображение абстрактных типов данных, используемых в описании стандарта, на реальные типы данных конкретного базового языка. Привязка определяет также представление абстрактных имен функций и списков параметров средствами конкретного языка программирования с учетом всех налагаемых ограничений.