Система ГАММА – интегрированная среда
проектирования систем управления
А.Г.Александров,
в.н.с., д.ф.-м.н., проф., alex7@ipu.rssi.ru,
Институт проблем управления РАН, г. Москва
М.Ф.Степанов,
проф., д.т.н., доц., mfs@sstu.ru,
Саратовский государственный технический университет, г. Саратов
Л.С.Михайлова,
зав. каф., к.т.н., доц., mikhaylovaluba@mail.ru
Электростальский политехнический институт
МИСиС, г. Электросталь
Аннотация
Излагаются концептуальные
основы системы ГАММА - нового поколения средств автоматического решения задач
проектирования систем управления. Особенности системы ГАММА: решение задач в
автоматическом и автоматизированном режимах; три варианта реализации интерфейса
пользователя (Среда инженера, Среда разработчика, Среда исследователя); использование
трёхуровневого представления знаний о методах решения задач; организация в виде
распределённой информационной системы.
Abstract
System GAMMA - a new generation of the facilities of the automatic
decision of the problems of the control system design. The Particularities of
the system GAMMA: decision of the problems in automatic and automated mode;
three variants to realization of the interface of the user (Environment for
engineer, Environment for developer, Environment for researcher); use three layers
of presentations of the knowledges about methods of the decision of the tasks;
the organization in the manner of portioned information system.
Данная
работа посвящена развитию предложенного в [1] подхода к созданию распределённых
систем автоматического решения задач теории автоматического управления. На
основе анализа состояния проблемы автоматизации построения закона управления
разрабатываемой системы автоматического управления (САУ) выделены две категории
специалистов [1]: высококвалифицированные ученые-исследователи, занимающиеся
разработкой новых методов анализа и синтеза САУ, и инженеры-проектировщики,
занимающиеся разработкой конкретных САУ. Введённая классификация основана на
различии в предметах изучения – алгоритм (последовательность действий) решения
задачи и результат решения задачи ТАУ – закон управления САУ, удовлетворяющий
заданным требованиям. Соответственно, различаются и средства автоматизации
решения задач. Если для исследователей требуются Матлаб-подобные средства,
позволяющие решать задачи по известному алгоритму, задаваемому программой на
проблемно-ориентированном входном языке, то для проектировщиков нужны средства,
позволяющие решать задачи в непроцедурной постановке, что уже требует
привлечения методов искусственного интеллекта и формализации знаний о методах
решения задач проблемной области теории управления. Предложенная концепция
средств автоматизации получила воплощение в ряде программных средств [1], в
которых выделяются «Среда исследователя» и «Среда инженера».
Однако
указанный подход не вполне соответствует сложившейся реальности.
В частности, не учитывался тот факт, что среди общего числа задач,
решаемых инженерами-проектировщиками в «Среде инженера» доля типовых задач,
значительно превосходит долю новых задач, которые они ставят непроцедурно. С
другой стороны, типовые задачи не представляют профессионального интереса для
исследователей, на которых возлагались функции расширения классов решаемых
задач средств автоматизации посредством использования «Среды исследователя».
Наконец, принципиальное различие в системной организации Матлаб-подобных
средств решения типовых задач и интеллектуальных средств автоматического
решения непроцедурно поставленных задач создаёт труднопреодолимые проблемы их
комплексирования в одной системе. Так, в Матлаб-подобных системах данные слабо
структурированы, более того, допускается использование отдельных не связанных
между собой матриц. В системах же автоматического решения непроцедурно
поставленных задач используется формализованное структурированное представление
знаний проблемной области, например, в виде модели множества формализованных
задач теории автоматического управления как, например, в системе
ИНСТРУМЕНТ-3м-И [2], используемое на этапе планирования действий по решению
задачи пользователя. На этапе выполнения построенного плана решения задачи
использованные на этапе планирования структуры знаний наполняются конкретными
значениями, образуя данные текущей решаемой задачи. В результате возможно
осуществить только чисто «механическое» соединение таких средств в едином
комплексе, существенно снижая потенциальный рост функциональных возможностей единой
системы.
В
целом всё это обусловило необходимость дальнейшего развития концепции
автоматического решения задач ТАУ [1] и её реализации в новом поколении средств
автоматического решения задач, создаваемом на основе преемственности систем
«ГАММА-1М» [2], «ГАММА-2РС» [3],[4], «ИНСТРУМЕНТ-3м-И» [5], «МИССАУ» [6] и
получившим обобщённое наименование «Система ГАММА-3».
Принципиальным
отличием системы ГАММА-3 от её предшественников-прародителей является:
- использование трёхуровневого
представления знаний и данных, базирующегося на введении структурных знаний
(знаний о знаниях), разделении декларативных и процедурных знаний, явного
использования процедур конструирования, наследования и означивания знаний и
данных [6];
- системная организация в виде
распределённой информационной системы, в состав которой входят клиентские
приложения, осуществляющие интерактивное взаимодействие с пользователями,
серверные приложения, обеспечивающие единое представление знаний и данных, а
также их обработку в ходе решения задач пользователей [1];
- автоматическая генерация
экранных форм визуализации знаний и данных на основе имеющихся в системе
структурных знаний (знаний о знаниях).
Для
системы «ГАММА-3» можно выделить следующие категории пользователей:
- Разработчики пакетов расширения (научные работники, студенты вузов), которые используют
систему для исследования и программной реализации различных методов решения
инженерных задач. Они обладают хорошими знаниями теории и достаточными навыками
в области программирования. Для них разработана среда разработчика, которая
является средой разработки программ на проблемно-ориентированном языке ГАММА.
- Пользователи-проектировщики. Пользователи этой категории (инженеры), являясь
специалистами в области проектирования конкретных систем, не обладают
достаточно хорошими знаниями методов решения задач, кроме того, программная
реализация этих методов не является их непосредственной задачей. Для таких
пользователей создана среда инженера, которая предоставляет доступ к пакетам
расширения системы, а также позволяет воспользоваться возможностью решения задач
в непроцедурной постановке, используя интеллектуальные средства системы.
- Исследователи-эксперты (научные работники). Они обладают глубокими
знаниями теории и способны формализовать знания проблемной области. Для таких
пользователей создана среда исследователя, предоставляющая возможность
пополнения базы знаний системы и проведения их исследований, используя способности
планирующей подсистемы по решению новых задач.
Среда
разработчика, среда инженера и среда исследователя представляют собой
клиентские приложения распределённой информационной системы автоматического
решения задач «ГАММА-3». Сервер-посредник осуществляет перенаправление запросов
клиентских приложений на серверы баз данных и знаний, сервер приложений, осуществляющий
решение прикладных задач клиентов, используя результаты работы сервера
планирования для непроцедурно поставленных задач.
Исследователь
в среде исследователя, используя процедуру конструирования знаний, создаёт
структурные знания (знания о структуре представления знаний), представляющие
собой описание на языке ИНСТРУМЕНТ-П структур предметов, действий и отношений
модели множества формализованных задач проблемной области [2]. Затем
структурные знания посредством применения процедур наследования и означивания
используются для построения на их основе элементов модели множества формализованных
задач проблемной области [2].
Разработчик
пакетов расширений в среде разработчика, используя элементы модели множества
формализованных задач проблемной области, посредством применения процедур наследования
и означивания формирует на проблемно-ориентированном языке ГАММА, являющемся
развитием языка ИНСТРУМЕНТ+ [2], порядок действий по решению задач по известным
процедурам. Каждая такая процедура позволяет решать некоторую задачу проблемной
области. Однако её описание является параметризованным, т.е. вместо имён данных
в неё указаны типы данных, в качестве которых выступают имена предметов и их
компонентов. Соответственно для задания постановки задачи, решаемой посредством
такой процедуры, следует выполнить означивание параметров процедуры именами
данных решаемой задачи. Это может сделать пользователь-разработчик с целью
верификации построенной им процедуры, а также инженер-проектировщик, решая
конкретную задачу. Используемые при этом данные должны быть предварительно
занесены в базу данных. Для этого используется процедура наследования и означивания
структур, описывающих предметы и их компоненты соответствующей модели знаний.
Означенные структуры данных получают статус «факты» и хранятся в базе фактов.
Означенные процедуры получают статус «задачи» и записываются в базу задач.
Получение результата решения задачи осуществляется посредством выполнения действий,
предусмотренных процедурой решения задачи над фактами, выступающими в качестве
исходных данных задачи.
С
другой стороны, вследствие широкого распространения в учебных заведениях
МАТЛАБ-подобных систем для решения математических задач в среде разработчика
системы «ГАММА-3» используется МАТЛАБ-совместимый язык ГАММА, предназначенный
для предоставления возможности разработчикам пакетов расширения описывать
процедуры решения задач в привычной математической форме. Программы на языке
ГАММА могут быть использованы двояко:
- как самостоятельные
программы, решающие частные задачи проектировщиков, например, как в системе
МАТЛАБ;
- как процедуральное
определение операций, используемых в формализованной модели знаний о методах решения
задач для последующего применения при решении непроцедурно поставленных задач.
Для
языка ГАММА разработан интерпретатор, обеспечивающий выполнение программ в два
этапа:
1.
трансляция исходного текста программы во внутреннее представление;
2.
выполнение (интерпретация) программы, используя построенное внутреннее
представление.
В
связи с различием в характере действий, которые необходимо осуществлять
исполнительной подсистеме при выполнении операций, заданных различным образом
(тексты программ на языке ГАММА, которые необходимо исполнять интерпретатором
языка ГАММА; программные модули, реализованные разработчиком пакетов расширения
на традиционных языках программирования и размещённые в библиотеках
динамической загрузки; операции, реализуемые встроенными в систему «ГАММА-3» программными
модулями), описание подключаемых к системе операций снабжается дополнительной
информацией об особенностях реализации (язык программирования, библиотека динамической
загрузки, имя программного модуля; имя файла с текстом программы на языке ГАММА
и т.д.).
Инженер-проектировщик
в среде инженера имеет возможность, используя процедуры наследования и означивания,
построить на основе декларативных знаний системы «ГАММА-3»:
- данные для своих задач и
занести их в базу фактов,
- формулировки задач, решаемых
с помощью известных процедур посредством означивания аргументов процедур
решения типовых задач именами своих данных из базы фактов;
- формулировки непроцедурно
поставленных задач, заполняя атрибуты задачи (исходные данные, искомые результаты
и требования к результатам) именами своих данных из базы фактов.
Для
задачи, решаемой с помощью известной процедуры из базы действий (процедур),
план её решения выбирается из базы знаний и отправляется на исполнение на
сервер-интерпретатор планов на языке ГАММА. Результаты выполнения операций
процедуры заносятся в базу фактов, откуда они доступны пользователю для
визуализации.
Для
случая непроцедурно поставленных задач подсистема планирования действий
осуществляет абстрагирование от конкретной задачи, заменяя имена конкретных
данных указанием их типов в соответствии с используемой моделью знаний. Для
обобщённой формулировки задачи строится план её решения на языке ИНСТРУМЕНТ-ОП,
который затем детализируется посредством подстановки имён данных (фактов) из
исходной постановки задачи пользователя вместо соответствующих типов данных,
фигурирующих в построенном плане её решения.
Трёхуровневое
представление знаний и данных в системе «ГАММА-3» включает:
- структурные знания (2-й
уровень),
- декларативные и процедурные
знания (1-й уровень),
- данные и задачи
исполнительной подсистемы (0-й уровень).
Знания
2-го уровня предназначены для задания структуры знаний 1-го уровня. Структурные
знания задаются в виде текстовых описаний, которые определяют виды компонентов,
используемых при описании типовых структур декларативных знаний. Так, например,
декларативные знания представляются в виде модели множества формализованных
задач [2], включающей, в частности, предметы, представляющие собой формализацию
понятий предметной области, действия (операции), выполняемые над предметами и
их компонентами, отношения, используемые для определения условий и требований в
постановках задач, задаваемых непроцедурно. В качестве атрибутов предметов в
модели знаний системы "ИНСТРУМЕНТ-3м-И" [4], одной из предшественниц
системы «ГАММА-3», используются свойства, характеристики и формы математических
моделей. Введение новых, изменение видов существующих атрибутов не
предусматривалось, что ограничивало использование системы «ИНСТРУМЕНТ-3м-И» для
автоматизации решения задач в других предметных областях, где атрибуты понятий
отличаются от применяемых в теории автоматического управления. Система
«ГАММА-3» является многофункциональной, что и обусловило необходимость введения
уровня представления структурных знаний в целях исключения ограничений гибкости
при формализации знаний проблемных областей.
По
существу, структурные знания задают терминологию языка, на котором затем
описываются формализованные понятия предметной области. Структурные знания определяют
также состав атрибутов, используемых при описании действий. При этом описания
действий и задач структурно имеют много общего, но и существенно различаются.
Так, например, действия (операции) модели знаний и решаемые задачи имеют почти
одинаковый набор атрибутов, в который, в частности, в моделях знаний системы
ИНСТРУМЕНТ-3м-И входят: условия применимости, исходные данные, искомый
результат, требования к результату. При этом обязательное заполнение всех
атрибутов не требуется. Так, например, описание постановки задачи, как правило,
не включает условия применимости. Однако формируемые при этом текстовые
описания фактически являются шаблоном или, иначе говоря, структурой данных.
Указанная структура данных представляется в виде класса языка С++. При
постановке и решении конкретных задач атрибуты этих структур данных должны быть
заполнены значениями данных решаемой задачи. Заполненный шаблон представляет
собой одну из возможных фактических реализаций соответствующего понятия
предметной области, что уже соответствует нижнему – 0-му уровню представления
данных. Здесь фактически производится порождение экземпляра класса
соответствующего предмета.
В
целях обеспечения гибкости представления данных в системе «ГАММА-3» вводятся
языки описания структур данных и знаний [2] ИНСТРУМЕНТ-П (описание предметов) и
ИНСТРУМЕНТ-Ф (описание фактов). Описание данных (фактов в терминологии системы
ГАММА) даёт необходимое описание, позволяющее автоматически построить экранную
форму, обеспечивающую адекватную визуализацию. Для обеспечения большей гибкости
используется LaTeX-подобный язык описания математических моделей (формул)
компонентов предметов, отображаемых на экранной форме.
Работа
выполнена при финансовой поддержке РФФИ (грант 09-07-00200-а).
Литература
1. Степанов М.Ф.
Автоматическое решение задач теории автоматического управления: проблемы и перспективы
/ М.Ф. Степанов // Аналитическая теория автоматического управления и её
приложения: Сб. трудов 2-й Междунар. науч. конф. / под ред.
В.А. Подчукаева. – Саратов: Сарат. гос. техн. ун-т, 2005. – С. 31 – 39.
2. Степанов М.Ф. Автоматическое
решение формализованных задач теории автоматического управления /
М.Ф. Степанов. – Саратов: Сарат. гос. техн. ун-т, 2000. – 376 с.
3. Александров А.Г. ГАММА-2РС.
Система программ для автоматизации разработки алгоритмов управления. Руководство
пользователя/ А.Г.Александров, Л.С.Михайлова. –
Электросталь: ЭПИ МИСиС, 2006. –
94 с.
4. Александров А.Г. Структура
программного обеспечения для автоматизации разработки алгоритмов автоматического
управления / А.Г.Александров, Р.В.Исаков, Л.С.Михайлова // А и Т. 2005. № 4. С.
176-184.
5. Степанов М.Ф. Система
автоматического синтеза систем автоматического управления ИНСТРУМЕНТ-3м-И (САС
САУ ИНСТРУМЕНТ-3м-И). / М.Ф. Степанов. Свидетельство Роспатента об офиц.
регистр. программы для ЭВМ. - № 2003612369. – 2003.
6. Степанов М.Ф.
Интеллектуальные самоорганизующиеся системы автоматического управления /
М.Ф.Степанов. Саратов: Сарат. гос. техн. ун-т, 2002. – 112 с.