Агентно-ориентированная организация процесса проектирования
Концепция агента
Многоагентные системы и их место в управлении и разделении знаний в САПР
Литература

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

С целью иллюстрации конкретных путей решения проблем в распределенных средах будут показаны результаты исследований при разработке среды проектирования структурированных объектов (Design of Structured Objects - DESO).

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

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

Агентно-ориентированная организация процесса проектирования

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

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

Утверждение 2. Многоуровневый процесс проектирования развивается сверху вниз, т.е. от синтеза общих проектных требований на первом уровне к проектным решениям требуемой степени детализации на следующих уровнях. При этом решения, принятые на (k - 1) уровне проектирования (Rik-1), есть дополнительные исходные данные для k-уровня:

dk:{R0,Rik-1}->{Rijk},

где R0 - исходные данные (спецификация).

Утверждение 3. На всех уровнях кроме последнего критерии выбора Ei эффективных вариантов являются эвристическими и их значения последовательно уточняются Ek-1Ek.

Утверждение 4. На каждом уровне проектирования (кроме последнего) выбирается множество эффективных (рациональных в смысле удовлетворения ограничений) вариантов, называемых частичными и развиваемых в последующем:

Фi:{Rik-1}->{Rijk}, j<ξ.

Утверждение 5. Проектирование на каждом уровне распадается на комплекс взаимосвязанных проектных задач (операций), каждой из которых можно сопоставить аспект проектирования.

В соответствии с изложенным контекстная модель процесса проектирования имеет вид, представленный на рис.1 (25 Кб).

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

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

Действие 2. Каждый агент решает локальную задачу оптимизации на основе общего информационного пространства.

Действие 3. Локально оптимальные решения передаются агенту-менеджеру проекта для их согласования.

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

Действие 5. Весь процесс повторяется до достижения глобально согласованного решения.

Что дает рассматриваемая технология? Она позволяет: строить распределенные решатели для сложной задачи; динамически менять архитектуру САПР в зависимости от конкретной задачи; взаимодействовать агентам, работающим над различными аспектами проектирования, на уровне знаний - разделять и обмениваться информацией в процессе проектирования вне зависимости от внутренних форматов ее представления. Технология агентов представляет собой одну из самых важных и впечатляющих концепций 90-х годов в области искусственного интеллекта (ИИ) и информатики [7 - 9], которая кардинально меняет способ концептуализации и построения сложных компьютерных систем. Остановимся более подробно на ее ключевых аспектах.

Концепция агента

Наиболее признанным определением термина "Агент" является программная система, обладающая следующими свойствами [8].

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

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

Идея управления программами на удаленном компьютере не нова. Еще в далеких 60-х она была воплощена, обеспечивая возможность посылки пакетов заданий с мини-компьютеров на большую машину и получения результатов вычислений. Позднее, в 70-х, вычисляемые программы передавались по сетям мини-компьютеров, обеспечивая вычисления в реальном времени. Сейчас эта идея лежит в основе технологии мобильных агентов и агентов-маршрутизаторов, контекст которых составляют мобильные сценарии поведения, запрограммированные на одном из скрипт-языков [13 - 15].

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

Другая точка зрения ассоциируется с областью распределенного искуственного интеллекта (РИИ), где термин "Агент" имеет более узкое и специфическое значение, чем упомянутое выше. В соответствии с ним, "Агент" - это компьютерная система, которая в дополнение к выше перечисленным свойствам либо сформулирована, либо реализована с использованием концепций, свойственных человеку. Например, в искуственном интеллекте (ИИ) понятие агента часто связывают с такими понятиями, как знания, убеждения, намерения, обязательства (knowledge, belief, intention and obligation) [16]. Некоторые исследователи идут дальше и рассматривают эмоциональных агентов [17 - 19].

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

Многоагентные системы и их место в управлении и разделении знаний в САПР

Какими же свойствами должны обладать агенты, чтобы обеспечить надежное взаимодействие в рамках многоагентной системы? Еще буквально несколько лет назад для большинства специалистов в области ИИ было очевидно, что началась эра совместного (коллективного) использования знаний [20 - 22]. Онтологии, разработанные группами специалистов с общими интересами в области инжиниринга и других конкретных областях знаний, должны были обеспечить развитие САПР, в которых точно представленные знания гарантируют надежное взаимодействие как проектировщиков, так и программных компонент САПР [23 - 25].

Однако оказалось, что предсказание - это сложное дело. Какие же выводы можно сделать на сегодняшний день? Во-первых, усилия по разработке методов разделения знаний не оказали пока существенного влияния на разработку приложений, как на то можно было расчитывать. Это отнюдь не значит, что исследования приостановлены, наоборот, как показал симпозиум 1996 г. "Banff Knowledge Acquisition" интерес к проблеме повторного использования знаний на основе онтологий продолжает расти. Однако у этого подхода в последние годы появился мощный конкурент в виде WWW-технологии. Теперь уже не извлечение знаний (knowledge acquisition) является "узким местом" в задачах разработки систем, основанных на знаниях (СОЗ), проблемой становится выделение семантики знаний, сконцентрированных в сетях предприятий (Intranet) и глобальных сетях (Internet) и свободно доступных посредством WWW. Показательным в этом отношении является переход отдельных ученых с проблем разработки онтологий на разработку методов автоматической структуризации и извлечения информации, включая задачи "data mining" [26].

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

И, наконец, третий аспект проблемы. Прогресс в разработке стандартов совместимости компонент в системах распределенного объектного программирования (Distributed Object Computing) ничуть не устраняет необходимости их взаимодействия на уровне знаний. Стандартизация коммуникационных протоколов (HTTP, TCP/IP, POP), распределенных объектов (CORBA, DCOM) и методов их интеграции (Netscape ONE, OpenDoc, ActiveX, Java Beans) обеспечивают средства создания компонент САПР со встроенными возможностями интеграции и взаимодействия. Но на сегодняшний день также очевидна и необходимость разработки методологии и стандартов на уровне знаний, позволяющих гарантировать точное представление операционной семантики компонент [28 - 33].

Решение этих проблем лежит, на наш взгляд в интеграции преимуществ концепций агентов (программных, мобильных или интеллектуальных) и распределенного объектного программирования.

(ОКОНЧАНИЕ СЛЕДУЕТ)


Литература

  1. Klein M. Supporting conflict resolution in cooperative design systems.- IEEE Transactions on System, 1991. - Man, Cybernetics, v. 21, # 5, рp. 1379 - 1390.
  2. Frost H.R., Cutkosky M.R. Design for Manufacturability via Agent Interaction.- ASME Design for Manufacturing Conference. - Irvine, CA, 1996, рp. 18 - 22.
  3. Смирнов А.В., Юсупов Р.М. Технология параллельного проектирования: основные принципы и проблемы внедрения.- Автоматизация проектирования, 1997, # 2, с. 50 - 55.
  4. Пономарев В.М., Лескин А.А., Смирнов А.В. Модели автоматизированного синтеза оптимальных технологических комплексов гибких производственных систем.- Методы и системы автоматизации в задачах науки и производства. - М.: Наука, 1986, с. 36 - 49.
  5. Системное проектирование интегрированных производственных комплексов. А.Н.Домарацкий, В.М.Пономарев, А.А.Лескин и др. - Л.: Машиностроение, 1986, 319 с.
  6. Смирнов А.В. Исследование алгоритмической модели технологического синтеза гибких производственных систем.- Проблемы интегральной автоматизации производства. - Л.: Наука, 1988, с. 73 - 85.
  7. Artificial Intelligence (special issue), 1997, V. 94, # 1.
  8. Intelligent Agents - Theories, Architectures, and Languages / Eds. M. Wooldridge, N.R. Jennings. - Springer-Verlag, 1995. - Lecture Notes in Artificial Intelligence, - V. 890, р 289.
  9. Intelligent Agents / Eds. M.Wooldridge, J.P.Mueller, M.Tambe. - Springer-Verlag, 1996. - Lecture Notes in Artificial Intelligence. - V. 1037. 356 p.
  10. Genesereth M.R., Ketchpel S.P. Software agents.- Communications of the ACM, 1994. - V. 37, # 7. - Pp. 48 - 53.
  11. Research Directions in Concurrent Object-Oriented Programming / Eds. G.Agha, P.Wegner, A.Yonezawa. - Cambridge, MA: The MIT Press, 1993.
  12. Bradshaw J.M. An introduction to software agents.- Software Agents / Ed. J.M.Bradshaw. - Cambridge, MA: AAAI/MIT Press, 1996. - Pp. in preparation.
  13. Chess D.M., Harrison C.G., Kershenbaum A. Mobile Agents: Are they a good idea? - IBM Research Report, RC 19887, 1994.
  14. White J.E. Telescript technology: The foundation for the electronic marketplace. - White paper, General Magic, Inc., 2465 Latham Street, Mountain View, CA 94040, 1994.
  15. Murray D. Developing Reactive Software Agents.- AI Expert, 1995. - March. рp. 27 - 29.
  16. Shoham Yoav. Agent-oriented Programming.- Artificial Intelligence, 1993. - V. 60, # 1. рp. 51 - 93.
  17. Bates J. The role of emotion in believable agents.- Communications of the ACM, 1994. - V. 37, # 7, рp. 122 - 125.
  18. Bates J., Bryan Loyall A., Scott Reilly W. An architecture for action, emotion, and social behavior: Technical Report CMU-CS-92-144. - School of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, 1992.
  19. Maes P. Agents that reduce work and information overload.- Communications of the ACM, 1994. - V. 37, # 7, рp. 31 - 40.
  20. Enabling Technology for Knowledge Sharing. R.Neches, R.E.Fikes, T.Finin, T.Gruber, R.Patil, T.Senator, W.R.Swartout .- AI Magazine, 1991. - V. 12, # 3, рp. 16 - 36.
  21. Beyond the repertory grid: New approaches to constructivist knowledge acquisition tool development / J.M.Bradshaw, K.M.Ford, J.R.Adams-Webber, J.H.Boose / Eds. K.M.Ford & J.M.Bradshaw.- Knowledge Acquisition as Modeling. - New York: John Wiley, 1993, рp. 287 - 333.
  22. The DARPA Knowledge Sharing Effort: Progress Report / R.S.Patil, R.E.Fikes, P.F.Patel-Schneider, D.MacKay, T.Finin, T.Gruber, & R.Nechesю- The Annual International Conference on Knowledge Representation: Proceedings of KR'92. - Cambridge, MA, 1992.
  23. Sharable ontologies as a basis for communication and collaboration in conceptual modeling / J.M.Bradshaw, P.D.Holm, J.H.Boose, D.Skuce, T.C.Lethbridge.- Seventh Knowledge Acquisition for Knowledge-Based Systems Workshop: Proceedings. - Banff, Alberta, Canada, 1992, рp. 3.1 - 3.25.
  24. Gruber T.R. The role of common ontology in achieving sharable, reusable knowledge bases.- Principles of Knowledge Representation and Reasoning / Eds. J.A.Allen, R.Fikes, E.Sandewall: Proceedings of the Second International Conference. - San Mateo, CA: Morgan Kaufmann, 1991. - Pp. 601 - 602.
  25. PACT: An experiment in integrating concurrent engineering systems / M.R.Cutkosky, R.S.Engelmore, R.E.M.Fikes, et al.- IEEE Computer, 1993. - V. 26, # 1. - Pp. 28 - 37.
  26. Guha R.V. Meta Content Format .- Apple Computer, 1996.
  27. Orfali R., Harkey D., Edwards J. The Essential Distributed Objects Survival Guide. - New York: John Wiley, 1996.
  28. Daoud F. Reflective Servicers Based on Interactive Agents .- High Speed Networks and Open Distributed Platforms / Eds. V.Tschammer, M.Smirnov: Proceedings of the First International Workshop. - St.Petersburg, Russia, 1995.
  29. Bradshaw J.M. KAoS: An open agent architecture supporting reuse, interoperability, and extensibility.- Knowledge Acquisition for Knowledge-Based Systems / Eds. B.R.Gaines, M.Musen: Proceedings of the Tenth Banff Workshop. - Banff, Alberta, Canada, 1996. - V. 2. - Pp. 48:1 - 48:20.
  30. Gaines B.R., Shaw M.L.G. A networked, open architecture knowledge management system .- Knowledge Acquisition for Knowledge-Based Systems / Eds. B.R.Gaines, M.Musen: Proceedings of the Tenth Banff Workshop. - Banff, Alberta, Canada, 1996. - V. 2. - Pp. 45:1 - 45:22.
  31. Genesereth M.R. An agent-based framework for interoperability .- Software Agents / Ed. J.M.Bradshaw. - Cambridge, MA: AAAI/ MIT Press, 1996. - Pp. in press.
  32. Gennari J.H., Stein A.R., Musen M.A. Reuse for knowledge-based systems and CORBA components .- Knowledge Acquisition for Knowledge-Based Systems / Eds. B.R.Gaines, M.Musen: Proceedings of the Tenth Banff Workshop. - Banff, Alberta, Canada, 1996. - V. 2. - Pp. 46:1 - 46:16.
  33. Kremer R. Toward a multi-user, programmable web concept mapping "shell" to handle multiple formalisms .- Knowledge Acquisition for Knowledge-Based Systems / Eds. B.R.Gaines, M.Musen: Proceedings of the Tenth Banff Workshop. - Banff, Alberta, Canada, 1996. - V. 2. - Pp. 48:1 - 48:20.