Обзор системы DESO и некоторые приложения

На протяжении конца 80-х, начала 90-х годов в лаборатории интегрированных систем автоматизации Санкт-Петербургского института информатики и автоматизации РАН на основе модели многоуровневой организации процесса проектирования и на примере гибких производственных систем (ГПС) велись разработки прототипов инженерных систем, решающих задачи автоматизации следующих стадий инжиниринга:

  • спецификации требований;
  • конфигурационного проектирования;
  • размещения оборудования;
  • имитации и оценки производительности;
  • стоимостного анализа.

Рис. 1. Функциональная структура системы DESO

Первоначально компоненты разрабатывались с использованием различных платформ и механизмов взаимодействия подсистем [1]. С 1994 г. в рамках гранта Миннауки проводится разработка базовой версии системы DESO, решающей задачи конфигурационного проектирования и ориентированной на интеграцию различных компонент в рамках концепции параллельного проектирования и технологии агентов (рис. 1).

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

Система DESO являлась своего рода полигоном, на котором отрабатывались технические решения по реализации концепции многоагентных систем и распределенного объектного программирования. Каждая подсистема ориентирована на решение задачи проектирования ГПС с различных точек зрения. В процессе взаимодействия подсистем формируется проект ГПС под заданную программу выпуска изделий в условиях ограничений.

Важно отметить необходимость разделения подсистемами общей модели объекта проектирования (design model) для учета взаимосвязанных ограничений на элементы декомпозирования проекта. Эта модель строится на основе разделяемых онтологий, согласованных терминов и их содержания. Следует отметить, что она существенно отличается от представлений объекта в традиционных САПР (имеются в виду файлы данных), включая содержательный аспект информации, который и служит базой разделения знаний.


Рис. 2. Трехуровневая архитектура автономного интеллектуального агента

В чем же ограничения общей модели проектирования, разделяемой всеми компонентами? В крупномасштабных распределенных средах проектирования индивидуальные средства проектировщиков носят, как правило, высоко специализированный характер с целью повышения эффективности решения конкретной задачи. Следовательно, каждое средство имеет свои собственные внутренние модели представления. Добавим сюда необходимость внесения постоянных изменений в проект. В процессе параллельного проектирования эти изменения должны отрабатываться в реальном времени и тогда получим, что какая-либо единая база данных о проекте сразу становится узким местом такой архитектуры. В этом случае представление концептуальных знаний в виде множества взаимодействующих автономных агентов, обладающих локальными БЗ о задачах и аспектах проектирования, выглядит наиболее естественно и эта технология была положена в основу системной интеграции [2 -4].

Для программирования агентов был выбран шаблон агента, построенный на основе 3-х уровневой структуры (рис. 2). На уровне ментальных состояний агента базовый класс IntelligentAgent обеспечивает механизмы управления знаниями, правилами обязательств, возможностями, представлениями и решениями. На уровне поведения агента класс ReactiveAgent обеспечивает вычисление правил обязательств и поиска решений на основе модели удовлетворения ограничений. На уровне коммуникаций класс CommunicationAgent содержит средства взаимодействия агента с другими компонентами системы. Специфические расширения и возможности добавляются использованием стандартных механизмов наследования.

Федеративная архитектура и роль фасилитаторов в интеграции компонент DESO

Поддержка моделей взаимодействия, основанных на концепции языка взаимодействия агентов (Knowledge Query and Manipulation Language - KQML), требует соответствующих соглашений между всеми подсистемами [5-7]. Поэтому первый вопрос, который возникает в процессе сопряжения гетерогенных компонент, связан с введением в архитектуру дополнительного уровня или класса агентов, ответственного за преобразование форматов сообщений.


Рис. 3. Фрагмент архитектуры DESO с использованием фасилитаторов

Для поддержки обработки описанного выше контекста сообщений между подсистемами могут быть использованы специальные коммуникационные агенты (фасилитаторы), которые анализируют содержание сообщения при их селективной маршрутизации тем агентам, которые обладают соответствующими знаниями или интересами (рис. 3). Коммуникационные агенты (фасилитаторы, медиаторы или информационные агенты [8]) представляют собой агенты, которые располагаются между процессами отправителем и получателем сообщения и выполняют действия по стандартизации интерфейса, интеграции информации из различных источников, преобразованию запросов и ответов.

Использование фасилитаторов становится особенно важным в условиях интеграции новых информационных систем с существующими, которые не имеют необходимой степени гибкости в преобразовании входных/выходных форматов. Агенты взаимодействуют с использованием фасилитаторов, которые выполняют преобразования специфических внутренних форматов представления знаний из/в стандартный формат обмена знаниями (Knowledge Interchange Format - KIF) [9]. Таким образом, каждый агент выполняет логический вывод в своих внутренних терминах, а получает и передает информацию другим агентам в необходимой им для понимания форме посредством фасилитаторов.

Каждый фасилитатор отвечает за обеспечение интерфейса между локальным объединением агентов (в рамках подсистемы) и удаленными агентами и преследует тем самым 4 основных цели: (1) обеспечивает надежный механизм передачи сообщений, (2) маршрутизирует сообщения по назначению, (3) преобразует приходящие сообщения в формат представления адресата, и (4) осуществляет мониторинг агентов. Для выполнения второй функции иногда используется специальный Сервер Имен Агентов (agent name server - ANS), который поддерживает регистр агентов, их физическое расположение и перечень предоставляемых ими услуг.

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

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

Постоянный прогресс информационных технологий, с одной стороны, и постоянные модификации и рост сложности проектируемых технических систем, с другой, приводят к необходимости рассматривать САПР как архитектуру, обеспечивающую проектировщикам возможность добавления новых свойств и компонент. Использование технологии распределенных объектов на сегодняшний день может рассматриваться как необходимое, но, по-видимому, не достаточное условие повторного использования компонент. С нашей точки зрения наиболее приемлемые решения лежат в использовании агентно-ориентированной архитектуры в качестве каркаса САПР, в котором агенты обеспечивают динамическое связывание и взаимодействие, используя стандартные интерфейсы и форматы данных. В работе [10], например, рассматривается 3-х уровневая архитектура, внешний слой оптимизирован под пользователя и коммуникацию между компонентами, концептуальный слой - под семантическую полноту, внутренний слой - под производительность.


Рис. 4. Агентно-ориентированная многоуровневая архитектура многокомпонентной САПР

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

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

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

Внутренний уровень включает:

  • агенты поиска (Matchmakers - MM), обеспечивающие поиск любого агента, объявившего о предоставляемых услугах через механизм "белых страниц";
  • серверы доменов (Domain Managers - DM), которые отслеживают регистр свойств логической группы агентов, поддерживают "белые страницы" и адресацию агентов. На этом уровне могут использоваться механизмы распределенных объектов, например, OMG Naming and Security Services and the Mobile Agent Facility;
  • серверы контекста (Context Managers - CM), которые взаимодействуют с пользовательским интерфейсом и прикладными агентами, отслеживая общее состояние системы;
  • виртуальные агенты (proxies), обеспечивающие возможности связи и совместимости между прикладными доменами.

Агенты информационного уровня инкапсулируют функции поиска и индексации данных, извлечения данных из гетерогенных источников и их передачи клиентам. Сюда относятся агенты локализации данных, агенты доступа к данным и мониторы данных (data locators, data accessors, data monitors).

Заключение

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

Накопленный в процессе разработки и использования прототипа в задачах концептуального проектирования производственных систем опыт показал, что агенты, взаимодействующие на уровне знаний являются перспективной технологией разработки сложных САПР, обеспечивают возможности гибкой интеграции компонент и использования существующих программных систем [11-14]. Инженерные подсистемы инкапсулируются агентами и обеспечивают при необходимости возможность удаленного вызова в качестве сетевых услуг. Достоинства системы обусловливаются следующими ее характеристиками:

  • построение на основе технологий распределенных объектов и агентов, поддерживающих интеграцию компонент;
  • поддержка архитектур и доступа к удаленным объектам (CORBA, DCOM, ActiveX и Java);
  • использование семантики сообщений на уровне знаний при организации взаимодействия на основе спецификации KQML;
  • предоставление и использование регистров уникальных имен агентов и оказываемых ими услуг, в качестве функциональной спецификации системы;
  • поддержка разработки агентов базовой функциональности с возможностью ее расширения.

Общий вывод, который можно сделать на основе опыта разработки системы DESO, сводится к тому, что взаимодействие приложений (агентов) на уровне знаний дает большие преимущества в построении сложных многокомпонентных программных CАПР, особенно использующих уже существующие компоненты. Это дает возможность вместо объединения кода инкапсулировать модули и использовать удаленный вызов в случае необходимости в их услугах. В дальнейшем этот подход может быть использован в тех случаях, когда затруднена локальная инсталляция или сопровождение приложений, обеспечивая их использование на удаленных серверах. Многие инженерные приложения подпадают под это определение, что облегчит их применение в малых организациях.

Описанная работа проводилась по проектам Министерства науки и технологий Российской Федерации, выполняемым в 1994-97 гг. в рамках подпрограмм "Перспективные информационные технологии" и "Информатизация России". Выполненные исследования не были бы возможны без участия сотрудников лаборатории интегрированных систем автоматизации Санкт-Петербургского института информатики и автоматизации РАН.


Литература

  1. Sheremetov L.B. Marcos de Comunicaciуn para la Resoluciуn de Problemas Distribuidos en Ingenierнa Concurrente .- UTM, Temas en ciencia y tecnologia, 1997. - V. 1, № 1. - Pp. 3 - 29.
  2. Freeman E.H. An Agent-Oriented Programming Architecture for Multi-Agent Constraint Satisfaction Problems .- 2nd International IEEE Conference on Tools for Artificial Intelligence: Proceedings, 1990. - Pp. 830 - 840.
  3. Serrano D. Constraint-Based Concurrent Design .- Systems Automation: Research & Applications, 1991. - V. 1, № 3. - Pp. 217 - 230.
  4. Smirnov A.V. Conceptual Design for Manufacture in Concurrent Engineering .- Concurrent Engineering: Research and Applications: Proceedings of the II International Conference. - Pittsburgh, Pennsylvania, 1994. - Pp. 461 - 466.
  5. Finin T., Fritzson Richard Don McKay, McEntire R. KQML as an Agent Communication Language .- Proceedings of the Third International Conference on Information and Knowledge Management. - ACM Press, 1994.
  6. Finin T., Labrou Y., Mayfield J. KQML as an Agent Communication Language .- Software Agents / Ed. J.Bradshaw. - Forthcoming: MIT Press, 1995. - Pp. 318 - 326.
  7. Mayfield J., Labrou Y., Finin T. Evaluation of KQML as an Agent Communication Language .- Intelligent Agents: Proceedings of the 1995 Workshop on Agent Theories, Architectures, and languages / Eds. M.Wooldridge, J.P.Muller, M.Tambe, 1996. - Lecture Notes in Artificial Intelligence, Springer-Verlag, V. II.
  8. Wiederhold G. Mediators in the Architecture of Future Information Systems .- IEEE Computer, 1992. - V. 5, № 3. - Pp. 38 - 49.
  9. Genesereth M.R. et al. Knowledge Interchange Format, Version 3.0 Reference Manual. - Computer Science Department: Technical Report Logic-92-1, Stanford University, 1992.
  10. Ford K.M., Bradshaw J.M., Adams-Webber J.R., Agnew N.M. Knowledge acquisition as a constructive modeling activity .- Knowledge Acquisition as Modeling / Eds. K.M.Ford, J.M.Bradshaw. - New York: John Wiley, 1993. - Pp. 9 - 32.
  11. Multi-Paradigm Approach to Cooperative Decision Making / A.V.Smirnov, L.B.Sheremetov, G.V.Romanov, P.A.Turbin .- Concurrent Engineering: Research and Applications: Proceedings of the II International Conference. - Washington: Concurrent Technology Corporation, DC Area, 1995. - Pp. 215 - 222.
  12. Smirnov A.V., Sheremetov L.B., Turbin P.A. Constraint-Based Expert System for the Design of Structured Objects .- Procedings of the International AMSE Conference on System Analysis, Control & Design, Methodologies & Examples (SYS'95). - Brno, Czech Republic, 1995. - V. 2. - Pp. 64 - 71.
  13. DESO: A Constraint-Based Environment Prototype for Cooperative Design of FMS / A.V.Smirnov, A.S.Kulinitch, L.B.Sheremetov, et al. .- Proceedings of the III IASTED International Conference. - Mexico, Cancun: IASTED/ACTA Press, Anaheim-Calgary-Zurich, 1995. - Pp. 384 - 387.
  14. Collaborative Engineering Based on the Web - How Far to Go? / Pawlak A., Cellary W., Smirnov A. et al. .- Advances in Information Technologies: The Business Challenge / Eds. J.-Y.Roger, B.Stanford-Smith, P.T.Kidd. - IOS Press, 1998. - Pp. 434 - 441.