Естественно- языковой текстовый редактор

 

Разработчик G2 представляет информацию о разрабатываемом приложении на ограниченном английском языке, и ему предоставлена возможность ссылаться на любую сущность в БЗ многими способами. Например, разработчик может использовать конструкции естественного языка (ЕЯ) для того, чтобы сослаться на сущность следующими способами.

1. По имени: pump-12 (насос-12).

2.С помощью префикса "for" (для) и слова "any" (любой), за которыми следует имя класса. Таким способом обеспечивается ссылка не на одну сущность, а на группу сущностей:

for any pump (для любого насоса)...

Это обеспечивает возможность записывать общие утверждения, например, такие:

for any tank

if the tank is empty

then inform the operator that "The tank ...is empty"

(для любой цистерны, если эта цистерна пуста то информировать оператора, что "цистерна ... пуста").

3. Как на одну из сущностей класса объектов, связанных с другим объектом:

the tank connected to the pump (цистерна, связанная с насосом).

4. Как на объект, ближайший на графической модели к некоторому объекту:

the pump nearest to the tank (насос, ближайший к цистерне).

Несмотря на сложность и богатство синтаксических конструкций G2 для описания знаний, их применение упрощается за счет естественно-языкового подхода. Примером использования естественного языка в G2 для формирования базы знаний может служить следующее типичное правило:

"If the altitude of any aircraft < the safe-flying-altitude of

the aircraft then inform the operator that "Pull up. You are flying too low. Your altitude is [the altitude of the aircraft]"

Упрощение взаимодействия разработчика с системой достигается и за счет оригинального подхода, реализованного в текстовом редакторе.

Интерактивный текстовый редактор G2 позволяет редактировать тексты утверждений, правил, функций, процедур и т. д. Он работает в специальном окне редактирования, которое появляется, как только инициируется создание нового утверждения или редактирование существующего, выбирается любой участок текста, добавляется или редактируется любой другой текст, включая текст, представляющий значение атрибута экземпляра класса. Процесс редактирования все время направляется процедурой грамматического разбора, что гарантирует введение только синтаксически правильных конструкций языка. В окне редактирования появляется динамически изменяемая подсказка, указывающая, какие языковые конструкции можно вводить, начиная с текущей позиции курсора. Есть возможность набирать вводимый текст на клавиатуре или выбирать подходящие шаблоны из подсказки. Кроме того, для упрощения редактирования можно использовать клавиатурные команды или контекстно-зависимое меню операций редактирования. Например, правило, приведенное выше (исключая текст, заключенный в кавычки), может быть введено с помощью 16 нажатий клавиши мышки и введения с клавиатуры трех букв А и одной буквы S.

Так же, как нет необходимости заучивать наизусть грамматические конструкции языка для написания правил и процедур G2, не нужно изучать и язык графических примитивов для построения пиктограмм объектов. Редактор пиктограмм позволяет создавать пиктограммы графическими средствами и автоматически преобразовывать их в текстовые описания. В результате можно видеть, как будет выглядеть пиктограмма, и изменять ее.

Ниже приводится краткий перечень основных возможностей графического интерфейса:

• использование растровой графики наряду с векторной для пиктограмм объектов и фоновых изображений;

• различные типы графиков и удобный интерфейс для их конфигурирования;

• возможность выбора между "слоеной" (перекрывающейся) или "полупрозрачной" (XOR) прорисовкой элементов интерфейса;

• произвольное масштабирование графических элементов;

• разнообразные векторные шрифты;

• поддержка формата Enhanced PostScript при сохранении изображения в файле для последующей печати;

• разнообразные способы работы с меню, текстовыми и графическими редакторами;

• планируемая на основе задаваемых пользователем приоритетов перерисовка отдельных участков экрана, гарантирующая первоочередное обновление наиболее важной информации на графиках, в диаграммах, таблицах и т. п.;

• разнообразные функции обработки клавиатуры и мыши, позволяющие использовать специализированные интерфейсные решения при организации рабочего места оператора;

• поддержка стандарта ISO 8859-5 в части представления символов кириллицы независимо от операционной среды. Эта особенность открывает русскоязычным разработчикам возможность использования русских имен в названиях классов, атрибутов и т. д.

Конечный пользователь может взаимодействовать с G2 различными способами. Так, в G2 разработчик создает разнообразные меню, которые дают конечному пользователю следующие возможности:

• показать (скрыть) рабочее пространство;

• двигать или вращать сущность;

• изменять цвета "икон" и связей;

• выдавать сообщения и т.д.

В добавление к этим средствам взаимодействия G2 предоставляет конечному пользователю следующие средства:

• изображения (displays);

• управляющего воздействия на G2 (end-user controls);

• сообщения;

• управления доступом (access control);

• создания опций меню (user menu choices);

• перевода опций меню.