автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Инструментальные средства построения знание-ориентированных систем

кандидата физико-математических наук
Намиот, Дмитрий Евгеньевич
город
Москва
год
1990
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Инструментальные средства построения знание-ориентированных систем»

Автореферат диссертации по теме "Инструментальные средства построения знание-ориентированных систем"

МОСКОВСКИЙ ОРДЕНА ЛЕНИНА, ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени М. Е ЛОМОНОСОВА

Научно-исследовательский вычислительный центр

на правах рукописи

НА1ЛЮТ Дмитрий Евгеньевич

УДК 681. 32

ИНСТРУМЕНТАЛЬНЫЕ.СРЕДСТВА ПОСТРОЕНИЯ ЗНАНИЕ-ОРИЕНТИРОВАННЫХ СИСТЕМ

05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

МОСКВА - 1990

Работа выполнена в Научно-исследовательском вычислительном центре Московского государственного университета им. М. В. Ломоносова

Научный руководитель : - кандидат физико-математических наук

с. н. с. В. А. Сухомлин Официальные оппоненты : - доктор технических наук профессор Г. Д. Чинин - кандидат физико-математических наук доцент Е Н. Пильщков Ведущая организация : Институт проблем информатики Академии наук СССР

Защита состоится -с20« о. ъ^е. и 1990 г. в часов

на заседании специализированного совета К 053. 05.84 в МГУ по адресу : 119899, Москва, ГСП, Ленинские горы, Научно-исследовательский вычислительный центр, конференц-зал.

С диссертацией можно ознакомиться в библиотек Научно-исследовательского центра МГУ.

Автореферат разослан

МУХ р гя 1990 Г.

Ученый секретарь специализированного совета канд. физ. -матем. наук

—Г""5 • }

( )

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность работы. В настоящее время с методами и средствами искусственного интеллекта связывается формирование одной из ведущих технологий научно-технического прогресса, направленной на автоматизацию интеллектуальной деятельности человека. Данное направление из стадии теоретических исследований все более уверенно переходит на рельсы широкого практического внедрения. В связи с его актуальностью развитие методов и средств искусственного интеллекта в индустриально развитых странах получает статус национальных программ. Интенсивность развития данной области делает необходимым переход к промышленным методам создания знание-ориентированных систем (т.е. систем, основанных на использовании знаний), что обусловливает все большее значение работ, связанных с технологией построения и использования таких систем и, в частности, с созданием инструментальных средств (ИС) автоматизации их проектирования. Таким образом задача создания инструментальных средств поддержки жизненного цикла различных классов знание-ориентированных систем, в дальнейшем называемых системами искусственного интеллекта (ИИ), представляет собой актуальную проблему, имеющую важное научно-прикладное значение. Именно этой актуальной проблематике г посвящена тема диссертационной работы.

Цель исследования. Целями диссертационной работы являлись :

- исследование и разработка комплекса ИС для аатоматизашг- создания знание-ориентированных программных систем в области проектирования моделей сложных управлягщих систем;

- создание указанного выше комплекса ИС в операционном окружении МЕК "Эльбрус";

- развитие принципов построения рассмотренного комплекса ИС с целью создания мобильных средств проектирования систем ИИ.

Основными задачами диссертации, в частности, являлись :

1) исследование и разработка лингвистических средств для создания систем ИИ;

2) разработка принципов построения гибридных ИС для автоматизации проектирования систем ИИ, т. е. ИС, включающих как традиционные средства программирования, так и средства представлений и обработки знаний;

3) разработка интегрированного комплекса (семейства) ИС с открытой архитектурой, обеспечивающего развитые лингвистические и технологические средства проектирования систем ИИ;

4) разработка методов построения, алгоритмов и структур данных комплекса ИС, а также его реализация в среде общесистемного программного обеспечения (ОСПО) МВД "Эльбрус";

б) разработка и реализация на МВК "Эльбрус" с использованием созданного по теме диссертации комплекса ИС системы спецификаций требований, предназначенной для автоматизации начальных этапов проектирования сложных управляющих систем;

6) развитие предложенного подхода и создание мобильных ИС для автоматизации проектирования систем ИИ на персональных ЭВМ. Научная новизна.

1. Исследованы вопросы создания интегрированных технологических средств автоматизации проектирования систем Ш.

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

.3. Предложен метод разработки продукционных языков представления и обработки знаний, оснос=«инй на расширении традиционных языков программирования.

4. Разработан и реализован оригинальный динамический язык,ориентиро-

ванный на описание продукционных моделей представления знаний.

5. Разработана знание-ориентированная система спецификаций требований, реализованная на МВК "Эльбрус" и предназначенная для автоматизации проектирования сложных управляющих систем.

6. Разработан комплекс мобильных ИС, основанный на использовании предложенных лингвистических средств и предназначенный для автоматизации проектирования систем ИИ на персональных ЭВМ.

Практическая "внность. На основе выполненных по теме диссертации исследований создан ряд технологических программных систем на ЭВМ разных типов (МВК "Эльбрус", персональных PC-совместимых ЭВМ, ДВК-4), в том числе:

- комплекс ИС в составе систем Проба, Демаз, Топаз для МВК "Эльбрус";

- комплекс мобильных ИС в составе систем Lopas, Expo, Cprod, для персональных ЭВМ.

Данные ИС нашли практическое применение при решении производственных задач и в учебно-научном процессе.

Апробация работы. Результаты, полученные' в работе, изложены в ряде печатных публикаций, докладывались на научных конференциях и семинарах, в частности, на :

- школе-семинаре "Создание программного обеспечения вычислительных комплексов и систем новой архитектуры", Новосибирск, 1988 г.

- школе-семинаре "Проблемы прикладной логики", Иркутск, 1988 г.

- Всесоюзной конференции "Проблемы разработки и внедрения экспертных систем", Москва, 1989 г.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы из 100 наименований и приложения. Объем диссертации составляет 137 страниц основного текст^ и 82 страницы приложения.

- 4 -СОДЕРЖАНИЕ РАБОТЫ

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

Первая глава диссертационной работы является базовой для дальнейшего рассмотрения.

В первом разделе приводится обзор современного состояния и тенденций развития ИС автоматизации разработки интеллектуальных систем.

На основании анализа широкого спектра ИС формулируются наиболее существенные требования для средств поддержи систем ИИ. Такими требованиями являются.;

- необходимость создания интегрированных ИС, предоставляющих пирокий спектр средств поддержки жизненного цикла систем ИИ ;

- разработка инструментария на основе языка представления и обработки знаний, что является наиболее гибким подходом по сравнению с замкнутыми оболочками;

- ИС должны характеризоваться открытой архитектурой, допускающей расширение возможностей ИС в процессе их использования ;

- обеспечение интеграции в создаваемых ИС вместе со средствами представления и обработки знаний традиционных средств разработки программ, с целью предоставления возможности использования накопленного программного задела;

- необходимость, наряду с обеспечением максимальной гибкости и открытости ИС, включения в их состав некоторого набора типовых (стандартных) решений по конструированию целёвых систем, реализуемых, как правило, посредством разработки специализированных технологических оболочек.

Собственно, содержанием диссертации является рассмотрение комплекса (семейства) ИС, спроектированного и разработанного на основе этих принципов.

Во втором разделе описываются состав и принципы построения предлагаемого семейства ИС.

В состав рассматриваемого семейства входят :

- пакеты базового языка программирования Эль-76, реализующие базовые средства языка представления знаний;

- языковая система Проба, реализующая расширение языка Эль-76 до языка представления и обработки знаний ;

- оболочка для разработки экспертных систем продукционного типа Демаз;

- продукционный динамический язык Топаз, в котором в рамках единой языковой среды обобщены средства разработки систем ИИ, и соответствующая ему система программирования.

Обшая идеологи.! предложенного подхода заключается в реализации следующей цепочки шагов по созданию семейства ИС: базовый язык программирования -> проблемное-ориентированное расширение (язык представления знаний) -> оболочка (среда) для пострвения ЭС, ориентированная на данное расширение -> самостоятельная чзыковая система, обобщающая возможности разработанных ИС данного семеяатва.

Все указанные средства базируются на едином концептуальном подходе, обладают преемственностью "снизу - вверх", имеют общий базовый набор семантических классов, операций и конструкций.

Все вышеперечисленные системы являются полностью оригинальными разработками, доведенными до практического использования.

Суммируя результаты первой главы, можно выделить следующие принципы, лежащие в основе предложенной схемы : _

1) сочетание использования для представления предметных знаний как традиционных средств программирования (некоторого базового языка высокого уровня), так и его проблемно-ориентированных расширений средствами представления и обработки знаний. Это предопределяет первоначальную разработку расширенного варианта языка программирования и

- б -

создание соответствующей ему реализации, определяющей основу для последующей раскрутки ИС;

2) ориентация в расширении базового языка на реляционные модели данных и соответствующе средства их обработки, что позволяет рассматривать проблемные расширения в нескольких срезах : как язык представления знаний и как язык сверхвысокого уровня. На этом основано использование предлагаемых ИС в качестве языков быстрого прототипирования и макетирования программного обеспечения;

3) создание для построенной таким образом (расширенной) системы программирования технологической оболочки, предоставляющей средства для структуризации, модификации, архивизации знаний; сборки и отладки систем ИИ, в частности, ЭС; использования встроенных процедур логического вывода, а также другие средства поддержки жизненного цикла систем ИИ, объединенные вместе единым проблемно-ориентированным пользовательским интерфейсом;

4) интеграция всех предложенных ранее решений в рамках самостоятельной лингвистической компоненты. Вводимый язык может использоваться и как базовый язык представления знаний и как средство спецификации .оболочек.

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

Во второй главе описаны основные компоненты предложенного семейства ИС.

Раздел 2.1 посвящен описанию языка Проба.

Язык Проба введен как расширение базового языка программирования Эль-76, реализованное с помощью препроцессора. Основная задача системы Проба - дать базовые средства для построения систем ИИ.

Язык Проба ориентирован, в первую очередь, на процедурные

средства представления знаний. Вместе с тем, в язык введены и некоторые средства для декларативного представления знаний. Основными решениями при построении языка являются :

1) введение описаний новых типов данных, таких как множество и отношение (таблица). Множество рассматривается в его обычной трактовке - как произвольная совокупность уникальных элементов. Отношение является аналогом понятия реляционного отношения, т. е. имеет имя, набор атрибутов и множество экземпляров кортежей.

2) Введение для этих новых типов соответствующих им операций :

а) объединения, пересечения,проверки принадлежности элемента и подмножества множеству - для множеств;

б) выборки значения атрибута из кортежа, удовлетворяющего заданному условию, выбора кортежей по условию, модификации значения атрибута, удаления кортежей, проецирования отношения по указанному атрибуту, объединения отношений - для отношений.

Из последнего пункта видно, что язык Проба поддерживает все операции, характерные для реляционных языков и языков манипулирования данными.

3) Введение понятия продукции - основного элемента представления знаний. Продукция вводится как исполняемый структурированный фрагмент, содержащий маску (предусловие), условие (может отсутствовать) и действие. Действие рассматривается как произвольная последовательность операторов языка Проба. В условии, наряду с обычными логическими выражениями могут употребляться введенные в язык кванторы 'существует', 'не существуем', 'существует и единственный', 'существует и не единственный', 'для любого'. Связанные переменные кванторов могут принимать в качестве своих значений значения кортежей и атрибутов кортежей отношений, элементов множеств, элементов обычных векторов. Такая форма записи позволяет максимально приблизить запись программы к форме записи математической постановки задачи.

4) Использование таблиц (отношений) в логической процедурной интерпретации. Это введенные в язык конструкции 'факт', 'высказывание', 'предикат', 'вывод'. Конструкция 'факт' определяет новый кортеж отношения, конструкция 'высказывание' проверяет наличие кортежа в отношении. Конструкции 'предикат' и 'вывод' позволяют смоделировать обработку проблемных данных в духе предикатов языка Пролог.

5) Введение элементов декларативного представления знаний -фреймов, рассматриваемых как абстрактный тип данных. Введение фреймов позволяет иметь собственные декларативные формы представления знаний.

Подчеркнем еще раз, что все перечисленные конструкции органически, с естественным для них синтаксисом встроены в язык Эль-76. Полностью соблюдена преемственность и в отношении семантики. Так, например, для всех описаний языка Проба верны те же саше правила видимости, типы элементов множеств и атрибутов кортежей, в соответствии с идеологией Эль-76, определяются динамически.

Приведем примеры некоторых конструкций языка Проба: _отнош анкета _из фио, должность; _факт ' анкета' (_стр8"Иванов", _стр8"инженер"); _если ' анкета' (_стр8"Петров",_стр8"инженер") _то . . . _все;

„продукция пример [ _мощн анкета > 0]::

(_для_любой человек _из _отнош анкета) & С анкета_человек. должность-/_стр8"инженер"] ->

печ( анкета_человек. фио) _кон_продукция;

Разработка языка фоба позволила выделить общие принципы построения систем подобного класса. Это дает возможность говорить о це-

лом семействе Проба-подобных систем. Во втором разделе описывается реализация подобного расширения для языка Паскаль, получившего название Lopas (LOGical PAScal).

В качестве основы был выбран язык Turbo Pascal в среде МЗ D0C.

К отличиям Lopas от языка Проба относятся :

- введение правила (продукции) как неисполняемого фрагмента (специальный случай процедуры);

- разделение операций исполнения правила и проверки его выполнимости;

- сохранение отношений на файлах и загрузка их из файлов;

- единое представление итератора.

Последний пункт, а также инициализация отношений определяются, в основном, статичностью языка Паскаль.

Отметим, что одной из важных сфер применения для подобного рода расширений является разработка встроенных систем, когда интеллектуальная компонента есть часть большого комплекса программ.

В разделе 2.3 приводится сравнение статических и динамических языков (на примере языков Паскаль и Эль-7б)~для реализации подобного рода расширений. Сформулированы требования к языкам программирования, позволяющие осуществлять такого рода расширения. Одним из основных требований является введение понятия метки процедуры, понимая под этим возможность запуска процедуры (функции) не по ее имени, а используя ее адрес (указатель процедуры).

Используя предложенный выше метод расширения языков программирования, автором создана продукционная языковая система CPR0D на базе языка С, имеющая свои реализации в нескольких операционных окружениях.

Следующим шагом в построении семейстьа ИС явилась разработка оболочки для построения ЗС. Описанию этой системы, получившей название Демаз (ДЕдуктивная МАшина Знаний), посвящен раздел 2.4.

к

Демаз является языково-ориентированной оболочкой, т.е. оболочкой, ориентированной на использование языка Проба.

Основная идея системы Демаз заключается в предоставлении пользователю готовых архитектурных и программных решений по использованию языка Проба при разработке ЭС.

Демаз представляет собой программную модель специализированной машины - машины дедуктивного вывода. В соответствии с концепциями языка Проба, Демаз поддерживает формализм представления знаний, ориентированный на правила (продукции). Система Демаз обеспечивает:

1) создание, хранение ч модификацию множества продукций

2) создание, хранение и модификацию множества метапродукций

3) описание рабочих областей, в том числе, с использованием агрегативных типов данных таких, как множества, отношения, очереди, стеки, графы

4) задание фактов для описанной рабочей области

5) сборку, хранение и модификацию программ для дедуктивного вычислителя

6) трансляцию и исполнение собранных программ

7) сервисные средства для работы с системой и поддержки созданных с ее помощью ЭС .

Третья глава диссертации посвящена рассмотрению- языка Топаз. Система Топаз (Технология Обработки Продукционных Знаний) является независимой языковой компонентой, интегрирующей идеи, воплощенные в предыдущих компонентах комплекса ИС.

Структура систем, описываемых с помощью языка Топаз, представляются в виде совокупности отдельных фрагментов - единиц представления знаний. Этими единицами (фрагментами) являются продукции (правила). Каждая продукция содержит набор действий, представляющих собой реакцию на определенное состояние система

Для описания состояний системы служат некоторые внешние для

всех правил сущности : объекты. Изменение состояния системы представляется изменением значения соответствующих объектов.

Как следует из вышесказанного, любая система, описанная на языке Топаз состоит из двух множеств .: множества объектов (иначе рабочая область) и множества правил (иначе область правил).

В отличии от языков типа OPS система Топаз не содержит жестко встроенного механизма вывода. Топаз является открытой системой. В языке существует способ выделения группы правил (рабочего множества) , из которой интерпретатор выбирает очередное правило. Используемый в Топаз дедуктивный механизм имеет два режима выбора : последовательный и нормальный. В любом из них в бесконечном цикле просмативается рабочее множество для поиска первого исполнимого правила. После исполнения этого правила для последовательного режима продолжается дальнейший просмотр рабочего множества, а для нормального режима просмотр каждый раз начинается с начала рабочего множества. Для прекращения работы сушэствуют специальные операторы.

Подобный подход дополняется наличием операторов для работы с правилами : исполнение правила, проверка выполнимости. Это позволяет рассматривать продукции, включенные в рабочее множество, как метаправила, в действиях которых и определяется исполнение нужных продукций. Достоинством такого подхода является возможность реализации любого механизма вывода. Другой особенностью такого подхода является то, что правило может при необходимости рассматриваться просто как процедура (подпрограмма).

Доминирующей при разработке Топаз являлась задача создания динамической сигнатуры. Под динамикой в языке Топаз понимается следующее. Обычно, в продукционных языках, конструкция 'сопоставление с образом' для заданного объекта связывает значения некоторых переменных со значениями его атрибутов. В языке Топаз предлагается в дополнение к этому еще и выбор (перебор) объектов. Таким образом, имя

объекта, используемого в операции сопоставления, вообще говоря, определяется только в момент исполнения. Этот принцип динамического определения операндов был последовательно распространен и на все другие конструкции языка.

Отметим, что для подобного подхода схемы Rete-алгоритма для хранения и проверки правил будут неприменимы. Для ускорения работы .с правилами в Топаз поддерживается специальная система флагов активности.

Для описания информационных объектов рабочей области поддерживается реляционная модель данных и соответствующий набор операций.

При описании правил в системе Топаз существует известная преемственность с продукциями языка Проба. Каждое правило имеет маску (предусловие), условие (может отсутствовать) и действие.

Условие правила представляет собой комбинацию итераторов и отсечений, разделенных знаком &.

Итератор представляет собой, по семантике, циклическую конструкцию с областью действия от места описания до конца правила. Таким образом итератор определяет некоторый циклический перебор, вырабатывая на каждом шаге цикла определенные значения. Представителями этих значений являются вводимые самим итератором объекты - образцы и локалы. На каждом шаге перебора в итераторе может вырабатываться, в принципе, два значения. Для переменных это имя и значение, для объектов - имя и экземпляр (кортеж), для экземпляров - имя атрибута и значение. Это и объясняет введение двух типов внутренних данных.

Однако действие итераторов не ограничивается только циклической выработкой определенных значений. В Топаз каждый итератор имеет еще и логическое а начете : _истина или _ложь. Поясним это на примере. В Топаз есть итератор "выбор перем. .ной". Он осуществляет циклический перебор всех переменных, выдавая на каждом шаге имя и значение очередной переменной. Но возможна такая ситуация, когда ни одной пере-

менной нет. В этом случае итератор просто выработает значение _ложь. Таким образом, можно сказать что любому итератору в Топаз еще и предшествует квантор "существует". Естественным продолжением этого являются два специальных итератора, которые вырабатывают только логические значения. Это обычное условное выражение ( как и в маске ) и отрицание ("нет решения"). Последнее является истинным, если указанная в нем совокупность условий не выполняется.

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

Представляется, что итераторы в Топаз являются более мощным, выразительным и наглядным средством, нежели способы записи поиска по образцу, скажем в OPS.

Примеры итераторов в условиях правил : (_перем @а ?в) % если множество переменных непусто, то @а -7. имя очередной переменной, ?в - ее значение („объект "анкета" -> ?сотрудник) 7. перебор экземпляров

объекта с именем анкета _не _сущ ( (_перем @а -> ?в)&(?в>2)) 7. не существует переменных

7. со значением больше 2

Среди действий, помимо специальных операторов языка Топаз допускаются и общеизвестные конструкции языков программирования : условное ( _если ... _то .'..), цикл, структурное • ( _до имя. ситуации (

Из специальных операторов языка Топаз отметим следующее.

Рабочая область, т. е. все переменные и объекты, может быть в произвольной точке исполнения сохранена в некотором системном стеке. В последующем это состояние рабочей области может быть восстановлено.

Характеристики элементов рабочей области, т.е. значения пере-

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

Заметим, что данные в текстовом файле хранятся в соответствии со строго определенным синтаксисом. Это позволяет создавать такие файлы независимо от программ, например, с помощью текстового редактора. Таким образом можно организовывать своеобразные базы данных для программ в среде Топаз.

В разделе 3.4 содержится сравнительный-анализ языков Проба и Топаз. Язык Топаз обладает большой долей преемственности с языком Проба. Имеющиеся отличия - групповые операции над данными,. динамика в управляющих конструкциях, возможность внешнего хранения данных - указывают направления развития Проба-систем.

В четвертой главе рассматривается круг вопросов, связанных с применением предложенного выше семейства ИС и, прежде всего, с использованием языка фоба. Конкретной задачей, послужившей стимулом для разработки ИС, явился большой проект по созданию технологической системы поддержки полного жизненного цикла разработки сложных систем. В рамках этого проекта была разработана и полностью реализована система спецификации требований (ССТ) к сложным управляющим системам. ССТ обеспечивает поддержку начальных этапов проектирования, начиная от задания общих требований и кончая автоматическим синтезом быстрых прототипов программных комплексов, реализующих математические модели сложных систем.

В диссертационной работе рассматривается подсистема информационно-логического обеспечения требований (Пилот) в составе ССТ.

Ядром всей системы является архив спецификаций : структура (база) данных для хранения введенных требований. Основой для построения архива является модель транслятора языка спецификаций (ЯС). Эта модель есть по сути концептуальная модель данных, фигурирующих в ССТ.

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

1). Документаторы. Комплекс средств, обеспечивающих построение на естественном языке описаний проектируемой системы.

2). Генераторы. Комплекс средств, обеспечивающих генерацию (синтез) :

а) модульного представления программной модели системы

б) прототипа модели проектируемой системы.

3). Анализаторы. Комплекс средств, обеспечивающих логическую проверку требований.

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

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

В качестве отдельной части (подзадачи) информационно-логической обработки требований можно выделить инструмент'слежения за требованиями (ИСТ) - специализированную информационно-поисковую систему, поддерживающую этап представления общих требований - неформально определенных проектных ограничений, используемых, как правило, для формирования технических заданий на проектирование.

Третью часть составляют средства поддержки и сопровождения периода эксплуатации ССТ - набор лингвистических и программных средств, обеспечивающих все виды работ по поддержанию системы.

Для представления модели предметной области служит сеть фрей-

мов. Отдельными фреймами знаний (моделями понятий) являются : процесс, функция, сообщение и т. д. На фреймовой сети вводят несколько классов бинарных отношений, таких как : "состоит из", "исполняется на", "содержит", "использует". Эта классификация используется, во-первых, при построении описаний компонент проектируемой системы на естественном языке (ЕЯ). Структура сети определяет номенклатуру для подрааделов описаний каждого отдельного объекта, а семантический смысл каждого класса определяет текст подраздела Во-вторых, на основе этой классификации вводится система метазнаний для организации логической проверки требований, а на основании самих бинарных отношений формулируются аксиомы, лежащие в основе логической проверки спецификаций.

В разделе 4.3 описаны принципы построения отдельных компонент

ССТ.

Процессоры документирования обеспечивают в любой момент времени выдачу оформленных в формате ЕСЦЦ описаний. Номенклатура описаний соответствует номенклатуре разделов ЯС.

Построение описаний основано на фреймовой модели каждого документа. В эту модель входят :

- титульный лист и аннотация

- номенклатура и содержание разделов

- понятия, включаемые в ссылочную информацию.

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

Генераторы программ обеспечивают для верифицированных спецификаций синтез программ. В составе ССТ имеется два генератора, которые обеспечивают синтез модульного представления (архитектуры) проектируемой системы и ее прототипа. В качестве выходных языков используются два проблемно-ориентированных языка моделирования. В ССТ испо-

ведуется трансформационный подход к синтезу программ. Каждый генератор таким образом представляет собой также продукционную систему.

Отметим, что вместе с текстом программы на соответствующем языке синтезируется также и его описание, которое готовится в виде документа формата ЕСЦЦ.

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

В системе Пилот введены следующие уровни проверки.

1. Проверка полноты. В качестве аксиом выступают правила о необходимости наличия минимально необходимого объема исходной информации.

2. Проверка замкнутости. В соответствии с концептуальной моделью языка спецификаций требований введение одних характеристик предполагает наличие (или введение) других. Аксиомы этого уровня определяют необходимые условия для введения взаимно соответствующих описаний.

3. Проверка непротиворечивости. Аксиомы этого уровня описывают утверждения о структуре взаимно соответствующих описаний.

4. Проверка ошибочности. Вводится набор классов эвристических аксиом, таких как "отношение части к целому", "быть свойством" и др. На основании этих классов сформулированы конкретные правила относительно структуры замкнутых и непротиворечивых описаний.

5. Предупреждения. К ним относится информация относительно тех утверждений, которые по структуре языка спецификаций могут быть упомянуты только один раз.

Все уровни проходятся последовательно. Всего проверяется более 120 аксиом. Результаты проверки оформляются в виде документа, оформленного по стандартам ЕСПД.

В разделе 4.4 рассмотрены вопросы использования языка Проба при разработке ССТ.

Как следует из описания принципов построения процессоров Пилот, каждый из них представляет собой продукционную систему. Поэтому применение языка Проба для реализации этих компонент наиболее естественно. Так, например, каждое трансформационное правило выражается продукцией языка Проба.

Применение языка Проба позволило в приемлемые сроки осуществить реализацию сложного проекта, объемом около 60 ООО строк.

В заключении сформулированы основные научные и практические результаты, отраженные в диссертации.

В приложение вынесены вопросы, нашедшие краткое отражение в тексте диссертации. К ним относятся :

- описание метасинтаксического языка, который использовался при определении лингвистических компонент семейства ИС;

- формальные описания синтаксиса и семантики языковых компонент;

- описание семантики и интерфейсов абстрактных типов данных, используемых при реализации вводимых языков.

ЗАКЛЮЧЕНИЕ.

Основные результаты диссертационной работы состоят в следующем:

1. Исследованы архитектура и принципы создания комплекса ИС для реализации систем ИИ, построенного на принципах концептуальной целостности средств, расширяемости, преемственности с накопленным программным обеспечением.

2. Разработан метод расширения традиционных языков программирования высокого уровня для создания продукционных языковых систем. Предложен набор типов данных, операций над ними, лингвистических конструкций для построения продукционных расширений указанных языков.

3. На основе предложенного метода разработаны и реализованы продукционные языковые системы для языков программирования Эль-76, .Паскаль, Си.

4. Разработан оригинальный динамический язык продукционного типа Топаз, предоставляющий базовые средства для построения систем ИЛ

5. Создан комплекс ИС в операционном окружении МВД "Эльбрус" в составе систем Проба, Демаз, Топаз, предназначенных для автоматизации проектирования систем Ш и, в частности, экспертных систем,

6. Разработаны принципы построения и архитектура системы спецификации требований (в части подсистемы информационно-логической обработки спецификаций), представляющей собой инструментарий для поддержки проектирования сложных управляющих систем на этапах разработки спецификаций требований и их быстрого прототипирования. На основе созданного цо теме диссертации комплекса ИС данная система реализована на МВК "Эльбрус" и апробирована на практике.

7. Создан комплекс мобильных ИС, включающий системы Lopas, Expo, Cprod, основанный на предложенных в работе принципах построения продукционных систем и предназначенный для проектирования систем ИИ и, в частности, экспертных систем, на персональных ЭВМ.

Основные результаты диссертации опубликованы в следующих работах :

1. Головачев А.Г., Намиот Д.Е. Процедура семантической V-резо-люции. -М. 1986. -7 с. - Рукопись представлена Моск. авиацион. ИН-том. Деп. В ВИНИТИ АН СССР N 1135-87.

2. Намиот Д. Е. Lopas - инструментальная система представления знаний на основе языка Паскаль//Тезисы докл. Всесоюзной конференции "Проблемы разработки и внедрения экспертных систем" - М. 1989. С. 1213.

3. Вовк Е. Т., Дурин Д. Е , Намиот Д. Е., Сухомлин В. А. Технологи-

ческие средства поддержи этапа спецификаций гребований//Отраслевой научно-технический журнал. Серия системное программирование. 1989. Вып. 1(4). С. 144-150.

4. Намиот Д. Е. Система средств поддержи проектирования интеллектуальных систем на базе МВК "Эльбрус"//Отраслеаой научно-технический журнал. Серия системное программирование. 1989. Вып. 1(4). С. 136-143.

"5. Намиот Д. Е. Продукционно-ориентированный язык программирования Топаз//Математическое обеспечение автоматизированных систем. М.: Изд-во Моск. ун-та. 1989. С. 19-37.

Подписано в печать 6.03.90 г. Л-10730. Формат 60x84/16. Объём 1,5 л.л. Тираж 100 экз. Заказ )е 12. Бесплатно.

Ротапринт ШВЦ МГУ