Сложное оборудование объекта управления, большой объем поступающей информации, сложность решаемых задач, короткое время на принятие решений приводят в отдельных случаях к несоответствию возможностей человека требованиям эффективно управлять объектом. Выход из данного положения заключается в создании интеллектуальной системы поддержки операторов (ИСПО) для помощи в оперативном управлении автоматическими системами, контроля за правильностью их работы и прогнозирования развития ситуации на объекте. Высокий уровень автоматизации и интеллектуализации системы позволит снизить нагрузку на оператора, повысить эффективность его действий и увеличить надежность функционирования объекта.
Задачи и структура ИСПО
Для создания ИСПО необходимо интегрировать в единое целое традиционные алгоритмические методы управления сложными объектами и парадигму интеллектуальных технологий. При этом алгоритмические методы используются в том случае, когда знания имеют четкую, формализованную форму, а методы искусственного интеллекта - при решении целого ряда неформализованных задач, возникающих в процессе управления сложными динамическими системами. Такие задачи характеризуются неполнотой, неоднозначностью, неопределенностью исходной информации и используемых правил ее преобразования.
К таким задачам ИСПО можно отнести:
- оценку обстановки (ситуации);
- прогноз поведения объекта в штатном режиме;
- прогноз развития аварийных ситуаций;
- синтез и оценку возможных действий и выбор наилучших и т.д.
Отличительной особенностью интеллектуальных систем является способность к планированию поведения, адаптации и обучению. Для реализации этих возможностей интеллектуальные системы наделяются развитой иерархической структурой управления. При этом выделяется, как минимум, три уровня иерархии: уровень стратегий, уровень задач и уровень компонент (модулей, подсистем). Наиболее высокий уровень, уровень стратегий, определяет очередность, выполнение или приостановку решения задач, а также организует взаимодействие между ними. Если на этом уровне некоторые задачи выбраны для выполнения, то на уровне задач определяется, какие компоненты должны работать для того, чтобы решить ту или иную задачу. Наконец, на самом низком уровне происходит управление работой компонент, которые решают отдельные подзадачи.
В ИСПО роль иерархического механизма управления выполняет интеллектуальный монитор (рис. 1), который:
- управляет функционированием системы;
- определяет, когда и какие задачи должны быть выполнены;
- выполняет функции интеллектуального конфигуратора, реализующего автоматическое построение функциональной схемы обработки информации на уровне отдельных компонент системы, в зависимости от возникающих на объекте задач;
- реализует взаимодействие между компонентами системы, операторами и источниками данных;
- управляет потоками данных;
- согласовывает локальные решения, получаемые локальными подсистемами;
- облегчает взаимодействие оператора с системой, согласовывая оценку и обоснование предлагаемых решений, выяснение других вариантов решения, уточнение или пересмотр ранее принятых решений, оценку решений, предлагаемых оператором, получение справочной информации о происходящих на объекте управления событиях.
Важной частью интеллектуального монитора является ядро, которое выполняет низкоуровневое управление работой системы в целом. При создании ядра необходимо обеспечить его эффективное и предсказуемое функционирование.
Основными функциями ядра являются реализация взаимодействия между компонентами системы при помощи механизма передачи сообщений и диспетчеризация работ в системе с целью обеспечения режима реального времени.
Этапы проектирования ИСПО
Процесс проектирования ИСПО включает следующие основные этапы:
- Проектирование интеллектуального монитора.
- Проектирование информационного взаимодействия ИСПО с внешней средой с целью получения необходимой информации для принятия решений. ИСПО должна уметь понимать входную информацию. Это достигается системными интеллектуальными средствами расшифровки поступающей информации, проверки информации на достоверность, идентификации ситуации, формирования перечня задач, требующих принятия решения.
- Проектирование ИСПО как распределенной системы, что повышает ее живучесть и быстродействие. При этом идея организации распределенной ИСПО состоит в том, что локальные ИСПО обмениваются сведениями о своих целях и другой информацией в процессе выработки общего результата.
- Проектирование базы знаний (БЗ) и машины вывода, отражающих временную логику происходящих событий на объекте и во внешней среде.
- Проектирование подсистемы настройки системы, которая должна обеспечивать взаимодействие лица, принимающего решение с ИСПО. Основной функцией подсистемы настройки является выявление системы предпочтений лица, принимающего решение, при подготовке к работе ИСПО и формализация системы предпочтений для использования в ИСПО.
- Проектирование информационно-поисковой подсистемы, построенной на основе гипертекста. В связи с тем, что оператор при обслуживании сложного объекта обрабатывает большие объемы семантической (понятийной) информации, ему потребуется соответствующая информационная поддержка. Гипертекстовая система в ИСПО по своим функциональным возможностям и структуре должна быть приближена к современным экспертным системам. Кроме БЗ она должна иметь развитый интерфейс с оператором, а также средства, обеспечивающие изменение и модификацию БЗ. При этом в роли "решателя" выступает оператор, работающий с гипертекстом.
- Проектирование подсистемы моделирования. При моделировании работы объекта и состояния внешней среды желательно, чтобы большинство интеллектуальных функций выполнялось автоматически (или автоматизировано). Этого можно достичь благодаря использованию методологии искусственного интеллекта в области имитационного моделирования. При этом в подсистеме моделирования должны быть использованы различные механизмы вывода, интерпретации данных в БЗ с целью получения информации об исследуемом объекте.
- Проектирование интеллектуального пользовательского интерфейса. Взятые в отдельности интерфейсные возможности отдельных подсистем и инструментов ИСПО могут быть достаточно простыми, однако будучи в большом количестве интегрированы в ИСПО, они образуют новое качество сложности. Желательно основой интерфейса оператора и ИСПО сделать следующие возможности:
- ИСПО должна ассистировать оператору при взаимодействии за счет интеллектуальных посредников (агентов), представляющих собой подсистемы, основанные на знаниях, которые обеспечивают взаимодействие с другими агентами, сетевыми ресурсами и пользователем [7];
- процесс информационного взаимодействия операторов с ИСПО должен быть организован в соответствии с различными типами решаемых задач: мониторинг состояния объекта и внешней среды; поддержка принятия решений; отображение нарушений.
- оператор должен видеть сгенерированную ИСПО информацию, наложенную на образы реального мира;
- интерфейс ИСПО должен поддерживать понимание речи и структурированного естественного языка на основе баз знаний;
- должен быть реализован принцип расслоения информации для рассмотрения объекта различными специалистами с различных точек зрения.
Методология построения ИСПО
Для создания высокоэффективных интеллектуальных систем по обработке и использованию знаний в условиях неопределенности необходимо объединение методов искусственного интеллекта и передовых технологий в области разработки программного обеспечения.
Характерной особенностью ИСПО, как интеллектуальной системы, является наличие баз знаний, используемых в различных функциональных блоках системы. Для представления разнообразных типов проблемных сред с наибольшей эффективностью может быть использовано множество различных способов представления знаний [3]. При создании БЗ необходимо осуществить анализ проблемной области для выбора наилучшего сочетания объектно-ориентированного подхода и других моделей представления знаний в функциональных блоках. Например, применение размытой логики в сочетании с объектно-ориентированной технологией может резко снизить количество требуемых правил. Поэтому построение БЗ на основе размытой логики зарекомендовало себя как эффективное средство для сложных объектов с неполной информацией.
При разработке ИСПО возникает ряд сложных проблем:
- В настоящее время не существует законченной теории интеллектуального управления и многие научно-технические задачи в этой области еще только ждут своего решения.
- Процесс заполнения баз знаний является непомерно сложным и долгим.
- Недостаточно высок уровень современных интеллектуальных средств для организации интерфейса между оператором и системой.
- Разработка ИСПО требует больших временных и материальных затрат, согласованной работы больших коллективов разработчиков, что особенно трудно при сложившейся в России экономической ситуации.
Перечисленные проблемы определяют следующие основные принципы построения ИСПО: расширяемость; независимая разработка отдельных компонентов; распределенность.
Для обеспечения этих принципов в основу системы предлагается положить концепцию расширяемого программирования (extensible programming), под которым понимается "возможность конструирования таких иерархий модулей, когда каждый модуль добавляет новую функциональность в систему. Расширяемое программирование подразумевает, что добавление модуля возможно без необходимости вносить какие-либо изменения в существующие модули. Новые модули не только добавляют новые процедуры, но, что более важно, добавляют также новые (расширенные) типы данных" [11].
Для реализации этой концепции предлагается структура системы, основанная на комбинации модели клиент-сервер и объектно-ориентированной модели. Идея модели клиент-сервер состоит в разделении ИСПО на несколько серверов, каждый из которых реализует определенный набор функций. Одно из возможных разделений системы на серверы представлено на рис. 1.
Клиент, которым может быть либо другой компонент системы, либо программа, отрабатывающая управляющее воздействие оператора, запрашивает выполнение функции, посылая серверу сообщение. Интеллектуальный монитор доставляет сообщение серверу. После выполнения требуемой функции интеллектуальный монитор возвращает клиенту результаты в виде другого сообщения.
При использовании клиент-серверного подхода получается система, состоящая из автономных компонентов относительно небольшого размера. Разные серверы могут выполняться на разных компьютерах, что хорошо согласуется с концепцией распределенных вычислений.
Фирма Microsoft разработала технологию создания компонентов, известную как СОМ (Component Object Model) [2]. Компоненты, созданные на основе СОМ, удовлетворяют двум важным требованиям: компоненты СОМ состоят из исполняемого кода и подключаются друг к другу динамически; компоненты СОМ связываются друг с другом при помощи интерфейсов и инкапсулируют детали реализации.
Вследствие этого система, построенная из компонентов, реализованных в соответствии со стандартом СОМ, обладает рядом существенных достоинств:
- Модификация или расширение системы сводится к замене одного из компонентов новой версией. Динамическая компоновка позволяет изменить только сам компонент, не перекомпоновывая всю систему.
- Клиент подсоединяется к компоненту через интерфейс COM. Если компонент модернизируется, но сохраняет свои интерфейсы, то работа системы не нарушается.
- Динамическая компоновка предполагает, что компоненты оттранслированы и скомпонованы, т.е. состоят из исполняемого кода. Таким образом, компоненты СОМ скрывают используемый язык программирования. Это позволяет разрабатывать компоненты независимо разным разработчикам на разных языках программирования.
- Компоненты СОМ прозрачно перемещаемы по сети. Клиент одинаково работает и с удаленными и с локальными компонентами.
Второй составляющей, предлагаемой для реализации концепции расширяемого программирования, является объектно-ориентированная модель. Объектно-ориентированный подход позволяет построить естественную и гибкую модель сложной иерархической системы. При этом иерархический характер сложной системы отражается в виде иерархии классов.
Объекты в системе представляют собой отображения элементов реального мира, которые применяются при решении поставленных перед системой задач. С каждым объектом ассоциируется набор параметров, отражающих существенные свойства объекта.
При объектно-ориентированном подходе внесение изменений в проект на любом этапе жизненного цикла не требует полного пересмотра проекта, а имеет локальный характер. Изменения и дополнения затрагивают лишь необходимые классы и объекты. Для детализации проекта в него вводятся новые классы, которые могут наследовать поведение ранее созданных классов. При объектно-ориентированном подходе возможна быстрая разработка прототипа системы и затем его последовательное расширение до конечного результата.
Основные этапы построения объектно-ориентированной модели системы:
- анализ предметной области и определение классов, их данных и методов;
- построение иерархической структуры классов на основе механизма наследования;
- анализ связей и взаимодействий объектов.
Инструментальные средства для создания ИСПО
Инструментальные средства для создания ИСПО должны поддерживать жизненный цикл приложения, используя:
- объектно-ориентированный подход, графическую среду и структурированный естественный язык, которые обеспечивают быстрое прототипирование приложения;
- объектные библиотеки и функциональные модули, которые содействуют сокращению времени разработки приложения;
- повторное применение объектов и модулей в будущих приложениях;
- машину вывода со средствами для сокращения перебора, реакции на непредвиденные события, богатый набор способов возбуждения правил;
- множественный доступ к централизованной базе знаний и групповую работу с приложением;
- одновременную связь с множеством баз данных и других программных систем;
- взаимодействие с внешним окружением в реальном времени;
- интерактивный редактор, который помогает разработчикам создавать правила, процедуры и модели, используя структурированный естественный язык, а также автоматически выявляет ошибки;
- механизмы поддержки для тестирования и верификации приложения, включая динамическое моделирование для проверки работоспособности по различным сценариям;
- одновременную разработку приложения несколькими группами разработчиков;
- переход на новые платформы без перепрограммирования.
Описанными свойствами, в частности, обладает инструментальная интеллектуальная система реального времени G2 фирмы Gensym (США) [3,10] (рис. 2).
Она сконструирована для эффективной разработки сложных интеллектуальных систем и дает возможность создавать приложения, которые было бы слишком дорого и трудно создавать с помощью традиционного программного обеспечения (например, на языках С или С++).
С помощью G2 интеллектуальная система может работать: на платформах Windows, Unix, VMS; через Internet; с базами данных ORACLE, Sybase, Informix, DBC; с клиентами на Microsoft Visual C++ и Visual Basic; с ведущими сетевыми технологиями.
Заключение
Опыт разработки теоретических основ и практической реализации интеллектуальных систем свидетельствует об их большой перспективности для применения в управлении сложными объектами, где необходимо распознавать и диагностировать, принимать решения, формулировать планы действий, выдвигать и проверять гипотезы, выявлять закономерности и т.д.
Разработка теории и методов построения интеллектуальных систем поддержки принятия обоснованных решений в информационно-управляющих системах на сложных объектах обеспечит решение задач автоматизации процесса генерации решений.
Проектирование сложных иерархических интеллектуальных систем поддержки оператора носит итеративный характер и базируется на проектировании отдельных подсистем и их интеграции в единое целое на основе передовых достижений науки в области искусственного интеллекта и использования современных инструментальных средств создания интеллектуальных приложений.
Литература
- Devedzic V.,Velasevic D. Features of Second-generation Expert Systems. An Extended Overview. Engineering Applications of Artificial Intelligence, 1990, vol.3, № 4, pp. 255-270.
- Роджерсон Д. Основы СОМ. М., Издательский отдел "Русская редакция ТОО "Channel Trading Ltd", 1997.
- Попов Э.В., Фоминых И.Б., Кисель Е.Б., Шапот М.Д. Статические и динамические экспертные системы. М.: Финансы и статистика, 1996.
- Галатенко В., Таранов А. Компонентная объектная модель JavaBeans. - Системы управления базами данных, 1997, №4, с.42-60.
- Крыжановский Г.А., Федоров С.М. Проблемы автоматизации и интеллектуализации процессов управления полетом. - Проблемы безопасности полетов, 1993, №8, с. 32-37.
- Кандрашина Е.Ю., Литвинцева Л.В., Поспелов Д.А. Представление знаний о времени и пространстве в интеллектуальных системах. М.: Наука, 1989.
- Городецкий В.И. Многоагентные системы: современное состояние исследований и перспективы применения. - Новости искусственного интеллекта, 1996, №1, с. 44-59.
- Blackboard Architectures and Applications. Edited by V. Jagannathan, R. Dodhiawala, L.S. Baum. "Academic Press", 1989.
- Трахтенгерц Э.А. Компьютерная поддержка принятия решений. М.: Синтег, 1998.
- Gensym Corp., G2 Regerence Manual, Version 4.0. Cambridge (Mass. USA). 1992.
- Карло Пешио. Никлаус Вирт о культуре разработки ПО. - Открытые системы, 1998, №1, с.41-44.
- Эндрю Вэн Дам. Пользовательские интерфейсы нового поколения. - Открытые системы, 1997, №6, с.34-37.