Техническое задание
Задание на проектирование системы управления базой понятий под Windows
1. Общие требования
Система ЭЗОП (Элементов Задач и ОПределений) представляет собой программную среду для формализации знаний различных предметных областей. Она предназначена для формирования библиотеки формализованных понятий некоторой области знаний, а также для поддержки процесса формализации отдельных понятий и задач этой области знаний с использованием существующей библиотеки понятий. В системе должны быть
предусмотрены средства тестирования и отлаживания формируемых понятий и библиотек, средства поддержки версий.
Основное отличие разрабатываемой системы от систем подобного рода, например системы Ontolingua (см. www.ksl.stanford.edu), состоит в возможности подстраивания языка системы к языку представляемой области знаний по мере пополнения библиотеки понятий понятиями и языковыми шаблонами этой области знаний.
Система ЭЗОП должна обеспечивать загрузку библиотек онтологий системы Ontolingua для работы с ними средствами системы ЭЗОП, а также перевод формализованных в системе ЭЗОП знаний в формат языка системы Ontolingua для обеспечения взаимодействия системы ЭЗОП с другими системами представления знаний. Кроме того, в системе ЭЗОП должен быть обеспечен перевод задач, формализованных средствами ЭЗОП, на язык системы Mathematica для решения этих задач с использованием программных средств системы Mathematica.
Первоначальная версия системы должна работать на персональном компьютере под управлением Windows. Последующие версии должны обеспечивать удаленную многопользовательскую работу с системой в среде интернет.
2. Основные задачи и технология работы с системой
Основная функция системы - формирование формального описания понятия или задачи с использованием библиотеки уже формализованных понятий или фрагментов задач.
В каждый момент времени может быть только одно формируемое понятие, которое называется текущим. Текущее понятие можно дополнять новыми предложениями, редактировать и тестировать, задавая к миру текущего понятия вопросы или просматривая словари текущего понятия.
В процессе формализации понятия или задачи пользователю должен быть обеспечен доступ к словарям шаблонов, к текстам понятий в библиотеке понятий и текстам в архивах.
Текущее понятие можно поместить в библиотеку понятий с сохранением прежнего имени (но в новой версии) или под новым именем. Любое понятие из библиотеки понятий можно сделать текущим или использовать внутри другого понятия.
Система должна обеспечивать процессы просмотра и ведения библиотеки понятий, включая процессы пополнения библиотеки, организации разделов, сортировки, поиска понятий, уничтожения версий понятий при условии, если на них не ссылаются другие понятия.
С каждым понятием связывается имя понятия, внутренний идентификатор, текст понятия, языковые шаблоны и термины, введенные внутри данного понятия, а также внутреннее представление понятия, которое строится по тексту понятия.
Внутреннее представление понятия используется для ответов на вопросы и для контекстной интерпретации новых предложений и проверки их правильности. Внутреннее представление понятия (или задачи) строится из пустого и достраивается по каждому предложению понятия. При построении ответов на вопросы к текущему понятию внутреннее представление понятия может также достраиваться.
Каждое предложение понятия строится из языковых шаблонов, которые могли быть введены в предыдущих предложениях текущего понятия, которые были введены в понятиях, уже используемых в текущем понятии, или находятся в библиотеке понятий доступной в данный момент по умолчанию.
Библиотека понятий доступная в текущий момент работы системы по умолчанию называется средой текущей работы системы. В системе ЭЗОП должны быть средства выбора и настройки библиотеки понятий - среды работы системы.
Для организации взаимодействия системы ЭЗОП с другими системами в системе ЭЗОП должна поддерживаться функция взаимных переводов с языка системы ЭЗОП на языки систем Ontolingua и Mathematica.
3. Требования к интерфейсу
Для пользователя системы формализованное понятие представляется его текстом. При формировании текущего понятия пользователь создает текст этого понятия, используя стандартные средства многооконного редактора и словари.
Таким образом, интерфейс системы ЭЗОП должен выглядеть как стандартный интерфейс многооконного редактора со всеми стандартными функциями, который дополнен возможностями работы со словарями системы, и в котором выделены окна работы с текущим понятием.
В первой версии системы многооконный интерфейс системы реализуется стандартными средствами Windows. В последующих версиях предполагается реализовать интерфейс средствами стандартных браузеров интернет систем.
4. Требования к языку системы
4.1. Общие требования
Язык - это ключевой компонент в каждой области знаний. Он складывается в результате деятельности специалистов, по мере того, как складываются и развиваются понятия данной области знаний. Поэтому язык систем, основанных на знаниях и претендующих на использование или на наполнение знаниями, должен позволять включать новые языковые конструкции, которые появляются в данной области знаний. Это свойство языка систем называется открытостью языка.
Язык ЭЗОП - один из компонентов взаимодействия пользователя с системой ЭЗОП. Этот язык является открытым языком представления знаний и языком программирования задач. Процесс программирования на языке ЭЗОП - это диалог с системой программирования ЭЗОП, в котором специалист формулирует постановки задач проблемной области, используя уже введенные понятия как модули, или вводит новые понятия и их свойства. С точки зрения специалиста по проблеме, пользующегося языком ЭЗОП, средства этого языка служат для выражения определений понятий проблемной области, для выражения доказательств некоторых свойств введенных понятий, для постановок задач и задания запросов к системе представления знаний. Однако выражения на языке ЭЗОП имеют внутреннюю интерпретацию, которая может быть скрыта от пользователя.
4.2. Принципы шаблонного языка
Средства представления знаний должны обеспечить возможность специалистам по конкретным проблемам представлять понятия своей предметной области для автоматизированной обработки, выражать условия задач и вопросы о предметной области, используя введенные понятия.
Выражения языка ЭЗОП строятся с помощью расширяемого набора шаблонов.
Шаблон языка ЭЗОП - это последовательность слов и переменных, зафиксированная в словаре системы. С каждым шаблоном в системе связывается операция, которая может изменить текущее понятие, вызвать вычисление выражений, стоящих вместо переменных, или вызвать обработку запроса к текущему состоянию понятия. Из шаблонов строятся шаблонные выражения языка. Простое шаблонное выражение - это шаблон без переменных. Сложное шаблонное выражение - это шаблон, у которого наместо переменных подставлены уже построенные выражения.
4.3. Словари системы:
- Словарь последовательностей символов конца предложения;
- Словарь последовательностей символов для задания скобок;
- Словарь типов символов языка;
- Словарь шаблонов;
- Словарь понятий.
5. Основные подсистемы
- Многооконный интерфейс-редактор.
- Подсистема работы с библиотекой понятий и словарями.
- Подсистема формирования текущего понятия.
- Модуль представления первого предложения текста текущего понятия в виде списка типизированных слов.
- Модуль грамматического разбора предложения и составления терма ex-выражения.
- Модуль интерпретации ex-выражения и его смысловой допустимости.
- Модуль вычисления (выполнения команды) ex-выражения и пополнения внутреннего представления понятия.
4. Подсистема взаимодействия с системами Ontolingua и Mathematica.
6. Основные выразительные средства представления понятий
Основной тезис, который принимается в подходе представления непроцедурных знаний, состоит в том, что любое непроцедурное знание представляется именованным набором областей (типов) и имен отображений между ними. Этот набор имен называется сигнатурой понятия. Кроме того, в представлении понятия вводятся соотношения (аксиомы), с помощью которых выражается смысл понятия.
К выразительным средствам относятся также:
возможность выделение некоторых элементов в областях;
задание на именах областей отношения область - подобласть.
Выразительные средства расширяются введением понятий:
декартова произведения областей;
области подобластей данной области;
области функций из одной области в другую и т.д.