Организация структуры технических
и программных средств распределённой интегрированной среды ГАММА для
проектирования систем управления
А.Г. Александров,
в.н.с., д.ф.-м.н., проф., alex7@ipu.rssi.ru,
ИПУ РАН, г. Москва,
Л.С. Михайлова,
зав. каф., к.т.н., доц., mikhaylovaluba@mail.ru,
ЭПИ МИСиС, г. Электросталь,
М.Ф. Степанов,
проф., д.т.н., mfs@sstu.ru,
СГТУ, г. Саратов
Рассматриваются вопросы организации распределённых
вычислений в рамках многофункциональной системы ГАММА, обладающей:
1) возможностями решения типовых задач на основе известных процедур их
решения, задаваемых в виде последовательности действий на входном языке ГАММА;
2) способностью решения непроцедурно поставленных задач на основе
формализованного структурированного представления знаний о методах решения
задач теории автоматического управления.
Problems of organization of the distributed
computations are considered within the framework of the multifunctional system
the GAMMA possessing: 1) possibilities of a solution of standard tasks on the
basis of the known procedures of their solution assigned as sequence of
operations on the source language the GAMMA; 2) ability of a solution the nonprocedurally
defined tasks on the basis of the formalized structured representation of knowledge
of methods of problem solving of the theory of automatic control.
Рассматриваются
вопросы организации распределённых вычислений в рамках многофункциональной
системы ГАММА [1], обладающей: 1) возможностями решения типовых задач на
основе известных процедур их решения, задаваемых в виде последовательности
действий на входном языке ГАММА; 2) способностью решения непроцедурно поставленных
задач на основе формализованного структурированного представления знаний о методах
решения задач теории автоматического управления. Соответственно, с функциональной
точки зрения в структуре системы ГАММА выделяются: 1) подсистема решения типовых
задач; 2) подсистема решения непроцедурно поставленных задач; 3) интерфейсная
часть, учитывающая категорию пользователя; 4) средства расширения классов
решаемых задач. При этом: 1) подсистема решения типовых задач базируется на
интерпретаторе языка ГАММА; 2) для решения непроцедурно поставленных задач
используются компоненты системы ИНСТРУМЕНТ-3м-И [2].
Различие
в предметах исследования пользователей системы ГАММА обусловило создание для
каждой категории пользователей (Пользователи-проектировщики
(инженеры-проектировщики), Исследователи-эксперты
(научные работники), Разработчики пакетов
расширения (научные работники, студенты вузов)) соответствующих пользовательских
сред (Среда инженера, среда исследователя,
среда разработчика). Однако, несмотря на имеющее существенное отличие в
целях, преследуемых пользователями указанных категорий, собственно средства
решения задач системы ГАММА, тем не менее, сводятся к средствам подсистемы
решения типовых задач и средствам подсистемы решения непроцедурно поставленных
задач. Непрерывное развитие теории управления, инициируемое растущими требованиями
практики, а также и её внутренними потребностями самой науки, обусловили
необходимость развития и совершенствования средств автоматизации решения задач.
На этом пути встаёт известная проблема необходимости поддержания уже выпущенных
версий программных продуктов на общем фоне, т.е. параллельно с ведением новых
разработок. Совместить указанные работы одним и тем же исполнителям не удаётся.
Многообразие различных по интерфейсу, возможностям и решаемым задачам
пользовательских сред системы ГАММА лишь обостряет указанную проблему. В связи
с этим было принято решение отделить интерфейсную часть пользовательских сред,
реализуемую далее в виде клиентских приложений, от подсистем организации
вычислительного процесса, размещаемых на соответствующих серверах в организации
– разработчике системы ГАММА. Это позволяет решить большую часть указанных
проблем: клиентские приложения становятся независящими от непрерывно
развивающегося функционального наполнения благодаря отсутствию исполнительной
подсистемы и средствам автоматической генерации экранных форм визуализации
данных [3], функциональные возможности всех вариантов реализации системы ГАММА
могут быть модернизированы разработчиком без необходимости вносить изменения в
клиентские приложения, а, следовательно, извещать пользователей о
нововведениях, разрабатывать средства автоматического внесения изменений.
С
учётом вышеизложенного многофункциональная система ГАММА представляет собой
распределённую информационную систему автоматического решения задач [4],
обобщённая структурная схема которой приведена на рисунке 1. Приведённая на
рисунке 2 схема иллюстрирует порядок взаимодействия компонентов системы ГАММА.
На рисунке 3 приведена блок-схема, определяющая процесс расширения классов
решаемых задач системы ГАММА.
В
среде исследователя имеются средства расширения возможностей системы как по
решению типовых, так и по решению непроцедурно поставленных задач. Расширение
классов решаемых типовых задач осуществляется посредством разработки программ
их решения на языке ГАММА. Расширение классов решения непроцедурно поставленных
задач осуществляется посредством расширения используемого планирующей подсистемой
формализованного представления знаний о методах решения задач теории автоматического
управления (ТАУ) в виде многоуровневой модели множества формализованных задач
ТАУ [5]. Исследователь в среде исследователя, используя процедуру конструирования
знаний, создаёт структурные знания (знания о структуре представления знаний),
представляющие собой описание на языке ИНСТРУМЕНТ-П структур предметов, действий
и отношений модели множества формализованных задач проблемной области [5].
Затем структурные знания посредством применения процедур наследования и означивания
используются для построения на их основе элементов модели множества формализованных
задач проблемной области [5].
рис. 1. Укрупнённая
структурная схема распределённой системы автоматического решения задач ГАММА
рис. 2. Схема
взаимодействия компонентов распределённой информационной системы автоматического решения задач ГАММА
Разработчик
пакетов расширений в среде разработчика, используя элементы модели множества формализованных
задач проблемной области, посредством применения процедур наследования и означивания
формирует на проблемно-ориентированном языке ГАММА, порядок действий по решению
задач по известным процедурам. Каждая такая процедура позволяет решать
некоторую задачу проблемной области.
Соответственно
для задания постановки задачи, решаемой посредством такой процедуры, следует выполнить
означивание параметров процедуры именами данных решаемой задачи. Это может
сделать пользователь-разработчик с целью верификации построенной им процедуры,
а также инженер-проектировщик, решая конкретную задачу. Используемые при этом
данные должны быть предварительно занесены в базу данных. Для этого используется
процедура наследования и означивания структур, описывающих предметы и их
компоненты соответствующей модели знаний. Означенные структуры данных получают
статус «факты» и хранятся в базе фактов. Означенные процедуры получают статус
«задачи» и записываются в базу задач. Получение результата решения задачи
осуществляется посредством выполнения действий, предусмотренных процедурой
решения задачи над фактами, выступающими в качестве исходных данных задачи.
рис. 3. Блок-схема процесса
расширения классов решаемых задач системы ГАММА
Инженер-проектировщик
в среде инженера имеет возможность, используя процедуры наследования и означивания,
построить на основе декларативных знаний системы ГАММА-3:
·
данные для своих задач и занести их в базу фактов,
·
формулировки задач, решаемых с помощью известных процедур посредством
означивания аргументов процедур решения типовых задач именами своих данных из
базы фактов;
·
формулировки непроцедурно поставленных задач, заполняя атрибуты задачи
(исходные данные, искомые результаты и требования к результатам) именами своих
данных из базы фактов.
При
этом подсистема визуализации осуществляет автоматическую генерацию экранной
формы в соответствии со структурой отображаемой информации.
рис.
4. Экранная форма визуализации модели объекта управления |
рис. 5. Фрагмент
описания, иллюстрирующий задание математического описания модели предмета для
визуализации в формульном виде посредством записи на LaTeX-подобном языке |
Например,
пусть в базе данных для объекта управления имеются: 1) математическая модели в
виде системы обыкновенных дифференциальных уравнений в форме Коши, 2)
математическая модели в виде системы обыкновенных дифференциальных уравнений в
форме «вход-выход»; 3) характеристики (время регулирования, установившаяся ошибка,
частоты среза и др.); 4) свойства (управляемость, наблюдаемость, устойчивость и
др.). Экранная форма, сгенерированная подсистемой визуализации может иметь вид,
представленный на рисунке 4. При этом используется автоматическая генерация
визуального (формульного) представления математической модели по её описанию на
LaTeX-подобном языке (см. рисунок 5).
Для
задачи, решаемой с помощью известной процедуры из базы действий (процедур),
план её решения выбирается из базы знаний и отправляется на исполнение на
сервер-интерпретатор планов на языке ГАММА. Результаты выполнения операций
процедуры заносятся в базу фактов, откуда они доступны пользователю для визуализации.
Проиллюстрируем
сказанное на примере. Для решения типовой задачи исследования реакции объекта
управления на скачкообразное внешнее воздействие можно, например,
воспользоваться программой, представленной на экранной форме редактора на языке
ГАММА (см. рисунок 6). Результаты решения – представлены на рисунке 7.
рис.
6. Экранная форма редактора кода на языке ГАММА с текстом программы анализа |
рис.
7. Экранная форма результатов решения задачи анализа |
Анализ
приведённой структуры распределённой системы ГАММА позволяет выявить следующие
потенциальные проблемы: 1) одновременная работа большого числа пользователей,
для каждого из которых сервер-посредник открывает сеанс работы, может привести
к существенному снижению производительности; 2) решение задач в непроцедурной
постановке часто оказывается для пользователей более предпочтительным за счёт
скрытия многих технических деталей процесса её решения, что, в свою очередь,
приводит к существенному возрастанию нагрузки на сервер планирования и сервер
баз знаний. Для решения подобных проблем в области информационных технологий
традиционно применяют перенаправление запросов на зеркальные серверы, что,
однако возникает проблема актуальности размещаемой на них информации.
Другой
путь решения указанной проблемы – распараллеливание вычислений.
Наиболее
перспективными для этого являются сервер планирования и сервер приложений,
являющийся, по существу, местом сосредоточения программной реализации всех
проектных операций, используемых как для решения типовых, так и непроцедурно
поставленных задач.
Применение
распараллеливания вычислений как в планирующей подсистеме, построенной на базе
планирующих искусственных нейронных сетей, так и в исполнительной подсистеме, а
также их системная организация в виде выделенных серверов, территориально
размещаемых в организации-разработчике системы ГАММА, позволяет совместить процессы
использования, развития, совершенствования. К тому же это существенно упрощает
организацию клиентского приложения системы ГАММА, снижая его стоимость для конечного
потребителя.
Структурно
модель знаний [5], используемая сервером планирования, имеет многоранговую
структуру взаимодействующих решающих органов с многоуровневым представлением
знаний в пределах каждого решающего органа каждого ранга. При этом каждый
решающий орган решает поставленную перед ним задачу на основе собственного фрагмента
модели знаний, который является относительно небольшим. В свою очередь, решение
задач на каждом уровне представления знаний каждого решающего органа, также
можно выполнять параллельно. Поэтому организация параллельной работы решающих
органов планирующей подсистемы оказывается принципиально решаемой.
С
другой стороны, построение многоуровневой модели представления знаний
общепризнанно является весьма сложной и трудоёмкой работой. Расширение классов
решаемых непроцедурно поставленных задач предусматривает расширение уже
имеющейся в системе многоуровневой модели знаний, что требует учёта
взаимосвязей вновь вводимых понятий и их атрибутов с уже имеющимися в модели, а
также исследования непротиворечивости, полноты по Робинсону. Для многоуровневых
моделей указанные исследования необходимо провести для каждой подмодели, а
также и для всей модели в целом. Как следствие, сложность проблемы расширения
классов решаемых непроцедурно поставленных задач оказывается практически непреодолимой
для небольшого коллектива разработчиков.
Для
решения указанной проблемы существует более простое решение. Исследования
проблемной области теории управления показали наличие в ней фрагментов, относительно
мало связанных с другими фрагментами. При этом связь между фрагментами обычно
сводится к наличию в разных фрагментах одинаковых понятий и их описаний (математических
моделей). При этом методы решения задач в пределах каждого из таких фрагментов
проблемной области являются замкнутыми, а сами фрагменты модели знаний – компактными,
что в рассматриваемом смысле сводится к использованию в планах решения задач
операций только данного фрагмента модели знаний. Построение для каждого такого
фрагмента проблемной области собственной модели знаний оказывается не столь
сложной задачей. При этом модель знаний может быть и одноуровневой в связи с её
небольшими размерами. Соответственно и планирующая подсистема может быть
организована как одноуровневая система, что при небольшом размере модели знаний
в сочетании с реализацией на базе планирующих искусственных нейронных сетей
обеспечивает высокую эффективность. С другой стороны, предлагаемый подход
отнюдь не является панацеей, поскольку теперь перед пользователем, желающим
решить свою задачу в непроцедурной постановке встаёт проблема выбора
подходящего фрагмента модели проблемной области с последующей постановкой
задачи на выбранной модели.
Для
случая непроцедурно поставленных задач подсистема планирования действий
осуществляет абстрагирование от конкретной задачи, заменяя имена конкретных
данных указанием их типов в соответствии с используемой моделью знаний
(фрагмент непроцедурно поставленной задачи на модели знаний «Модель Множества
Формализованных Задач ТАУ № 1» приведен на рис. 8, 9). Для обобщённой формулировки
задачи строится план её решения на языке ИНСТРУМЕНТ-ОП (см. рис. 10), который
затем детализируется посредством подстановки имён данных (фактов) из исходной
постановке задачи пользователя вместо соответствующих типов данных,
фигурирующих в построенном плане её решения.
рис. 8. Фрагмент
постановки задачи (исходные данные) |
рис. 9. Фрагмент
постановки задачи (искомые результаты) |
рис. 10. Фрагмент плана
решения задачи |
Для
пользователя важным является время решения задачи. Вклад исполнительной
подсистемы в общее время решения задачи существенно зависит от вида
представления операции, входящей в план (программу) решения задачи. Если
операция задана в виде программы на входном языке, то время её выполнения
складывается из времени интерпретации текста программы и времени выполнения
программных модулей, реализующих элементарные действия рассматриваемой
операции. Если же операция является элементарной, т.е. реализованной в виде
программного модуля на традиционном языке программирования, то затраты времени
на её интерпретацию исключаются.
рис. 11. Задание реализации действия (операции
модели знаний) как элементарной операции в виде программного модуля a001u из библиотеки mfsEPO.dll |
Таким
образом, одним и путей повышения общей эффективности системы решения задач
является реализация типовых операций в виде элементарных программных модулей. В
связи с этим разработан шаблон программной реализации элементарной операции
языка ГАММА на языке С++. Набор родственных операций компонуется в библиотеку
динамической загрузки, которая подключается к исполнительной подсистеме на
сервере приложений. При этом в модель знаний необходимо внести изменения,
характеризующие вид реализации операции (элементарная, т.е. реализуемая
программным модулем; укрупнённая, задаваемая программой на языке ГАММА). Пример
экранной формы определения реализации элементарной операции приведён на рисунке
11.
Работа
выполнена при финансовой поддержке РФФИ (грант 09-07-00200-а).
Литература
1. Александров А.Г. Система
ГАММА – интегрированная среда проектирования систем управления /
А.Г.Александров, М.Ф. Степанов, Л.С.Михайлова // Системы проектирования,
технологической подготовки производства и управления этапами жизненного цикла
промышленного продукта (CAD/CAM/PDM – 2009). Материалы 9-й международной
конференции. Под ред. Е.И.Артамонова. - М.: Ин-т проблем управления им.
В.А.Трапезникова РАН, 2009
2. Степанов М.Ф. Система
автоматического синтеза систем автоматического управления ИНСТРУМЕНТ-3м-И (САС
САУ ИНСТРУМЕНТ-3м-И). / М.Ф. Степанов. Свидетельство Роспатента об офиц.
регистр. программы для ЭВМ. - № 2003612369. – 2003.
3. Степанов М.Ф. О
подходе к организации средств визуализации данных в новом поколении
средств автоматического решения задач теории управления / М.Ф. Степанов,
А.М. Степанов // Проблемы управления, передачи и обработки информации –
АТМ-ТКИ-50 [Текст]: сб. трудов Международ. науч. конф. / под ред. А.Г.
Александрова и М.Ф. Степанова. Саратов:
Сарат. гос. техн. ун-т, 2009. – С. 148-150
4. Александров А.Г. О
развитии концепции автоматического решения задач теории управления в системе
ГАММА-3 / А.Г.Александров, Л.С.Михайлова, М.Ф.Степанов, Т.М.Брагин,
А.М.Степанов // Мехатроника, автоматизация, управление. 2011. № 9.
5. Степанов М.Ф.
Автоматическое решение формализованных задач теории автоматического управления
/ М.Ф. Степанов. – Саратов: Сарат. гос. техн. ун-т, 2000. – 376 с.