Designing an Autonomous and Interactive Agent Architecture

자율성 및 상호작용성을 위한 에이전트 아키텍처 설계

  • 박원영 (삼성SDS 첨단SW공학센터 SW Reuse팀) ;
  • 박수용 (서강대학교 컴퓨터학과)
  • Published : 2003.10.01

Abstract

As the next significant software abstraction, software agents have generated lots of excitements in recent years because of its promise as a new paradigm for conceptualizing, designing, and implementing software systems. This promise is particularly attractive for creating software that operates in environments that are distributed, open, and complex, such as the Internet. The effort of developing agent systems have, however, suffered from lack of generalized agent architecture because of various properties of an agent and nonexistence of a standard agent architecture. An agent architecture is an important criterion in order to not only identify agents in their domain but also determine the software architecture of the system. The major contribution of the work described here is an object-oriented design of an agent architecture that addresses fundamental properties, which are autonomy and interaction. Object-oriented design method is used for identifying the internal modules of an agent architecture and organizing correlation between the modules are identified.

최근 몇 년간 소프트웨어 에이전트가 소프트웨어 공학의 새로운 추상화 단위로서 연구되고 있다. 자율성, 적응성, 협력성 등의 속성을 갖는 에이전트는 특히 분산 시스템, 오픈 시스템, 복잡한(complex) 시스템 등의 영역에서 시스템을 구성하는 새로운 추상화 단위로서 이해되고 있다. 그러나 에이전트에 관한 개념과 특성에 관한 연구가 꾸준히 진행되고 있음에도 불구하고, 에이전트의 다양한 속성과 에이전트 아키텍처에 대한 표준화의 부재로 인해 현재까지 일반화된 에이전트 아키텍처가 제시되지 않고 있다. 에이전트 아키텍처는 시스템의 분석과 설계 시 에이전트 추출의 기준을 제시하고, 전체 소프트웨어 아키텍처를 결정하는 중요한 요소가 된다. 또한 규정된 에이전트 아키텍처는 재사용 가능한 산출물로서 세부 기능을 확장할 수 있는 구조적 틀을 제공하고 개발 공정 전체를 효율적으로 이끌 수 있다. 본 논문에서는 이 같은 연구의 필요성을 바탕으로 객체 지향 설계 방법을 이용하여, 자율성 및 상호작용성을 위한 에이전트 아키텍처 설계 방안을 제시하고자 한다. 자율성과 상호작용성을 에이전트의 일반적인 속성으로 규정하고, 객체 지향 설계 방법을 이용하여 에이전트 아키텍처 설계 방안을 제시한다.

Keywords

References

  1. Frederick P. Brooks, Jr., No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer, pages 10-19, April 1987 https://doi.org/10.1109/MC.1987.1663532
  2. Michael Wooldridge and Paolo Ciancarini. Agent-Oriented Software Engineering: The State of the Art. In Paolo Ciancarini and Michael Wooldridge, editors, Agent-Oriented Software Engineering, Springer-Verlag Lecture Notes in AI Volume 1957, January 2001
  3. Katia P. Sycara. Multiagent Systems. AI Magazine, Vol. 19, No. 2, pages 79-92, 1998
  4. Nicholas R. Jennings. An Agent-Based Approach for Building Complex Software Systems. Communications of the ACM, Vol. 44, No. 4, pages 35-41, April 2001 10.1145/367211.367250
  5. OMG Agent Platform Special Interest Group. Agent Technology Green Paper Ver. 1.0. See http://www.objs.com/agent/index.html
  6. Stan Franklin and Art Graesser. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. In J. Muller, Michael Wooldridge, and Nicholas R. Jennings, editors, Proceedings of ECAI'96 Workshop on Agent Theories, Architectures, and Languages: Intelligent Agents III, Vol. 1193 of LNAI, pages 21-36, Springer-Verlag, 1997 https://doi.org/10.1007/BFb0013570
  7. H. S. Nwana and D. T. Ndumu. A Brief Introduction to Software Agent Technology. In Nicholas R. Jennings and Michael J. Wooldridge, editors, Agent Technology: Foundations, Applications, and Markets, Springer-Verlag, 1998
  8. The Foundation for Intelligent Physical Agents. See http://www.fipa.org
  9. Michael Wooldrige and Nicholas R. Jennings. Pitfalls of Agent-Oriented Development. In K. P. Sycara and Michael Wooldridge, editors, Agents '98: Proceedings of the Second International Conference on Autonomous Agents, ACM Press, May 1998 https://doi.org/10.1145/280765.280867
  10. Yoav Shoham. An Overview of Agent-Oriented Programming. In Jeffrey M. Bradshaw, editor, Software Agents, MIT Press, 1997
  11. Michael Wooldridge. Agent-Based Software Engineering. In IEE Proceedings of Software Engineering 144, pages 26-37, 1997 https://doi.org/10.1049/ip-sen:19971026
  12. Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach, Prentice-Hall, 1995
  13. James Odell. Beyond Object: Unleashing the Power of Adaptive Agents. tutorial at the OOPSLA 2000. See http://www.jamesodell.com/publication.html
  14. Pattie Maes. Artificial Life Meets Entertainment: Lifelike Autonomous Agents. Communications of the ACM, Vol. 38, No. 11, pages 108-114, 1995 https://doi.org/10.1145/219717.219808
  15. Barbara Hayes-Roth. An Architecture for Adaptive Intelligent Systems. Artificial Intelligence, Vol. 72, No. 12, pages 329-365, 1995 10.1016/0004-3702(94)00004-K
  16. James Odell. Agents and Objects: How Do They Differ?. Working Paper V.2.2, 2000. See http://www.jamesodell.com/publications.html
  17. H. Van Dyke Parunak. Go to the Ant: Engineering Principles from Natural Multi-Agent Systems. Annals of Operations Research, 75, pages 69-101, 1997 10.1023/A:1018980001403
  18. Gul A. Agha and Nadeem Jamali. Concurrent Programming for DAI. In Gerhard Weiss, editor, Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence, The MIT Press, 1999
  19. Zahia Guessoum and Jean-Pierre Briot. From Active Objects to Autonomous Agents. IEEE Concurrency, Vol. 7, No. 3, pages 68-76, July-September 1999 https://doi.org/10.1109/4434.788781
  20. Giuliano Armano and Eloisa Vargiu. Implementing Autonomous Reactive Agents by Using Active Objects. In Antonio Corradi, Andrea Omicini, and Agostino Poggi, editors, WOA 2000 - Daglioggetti agli agenti: tendenze evolutive dei sistemi software, Vol. 1195, pages 35-40, Pitagora Editrice Bologna, 2000
  21. Michael Wooldridge. Reasoning about Rational Agents, The MIT Press, 2000
  22. Allen Newell. The Knowledge Level. Artificial Intelligence, Vol. 18, No. 1, pages 87-127, 1982 10.1016/0004-3702(82)90012-1
  23. Randall Davis and Reid Smith. Negotiation as a Metaphor for Distributed Problem Solving. Artificial Intelligence, Vol. 20, No. 1, pages 63-109, 1983 10.1016/0004-3702(83)90015-2
  24. FIPA 97 Part 2 Version 2.0: Agent Communication Language Specification. See http://www.fipa.org/specs/fipa00003/
  25. Jose M. Vidal, Paul A. Buhler, and Michael N. Huhns. Inside an Agent. IEEE Internet Computing, Vol. 5, No. 1, pages 82-86, January/Febrary 2001 https://doi.org/10.1109/4236.895147
  26. Bernhard Bauer. UML Class Diagrams: Revisited in the Context of Agent-Based Systems. In Proceedings of Agent-Oriented Software Engineering(AOSE) 2001, pages 1-8, 2001
  27. James Odell, H. Van Dyke Parunak, Mitch Fleischer, and Sven Breuckner. Modelling Agents and their Environment, 2001. See http://www.jamesodell.com/publications.html
  28. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995
  29. Doug Lea. Concurrent Programming in Java: Design Principles and Patterns 2nd Edition, Addison-Wesley, 2000
  30. Bill Venners. The Event Generator Idiom: How and When to make a Java class observable. Java World, September 1998
  31. Douglas Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, John Wiley & Sons, 2000
  32. M. Huber. JAM: a BDI-Theoretic Mobile Agent Architecture. In Proceeding of International Conference Autonomous Agents, pages 236-243, 1999 https://doi.org/10.1145/301136.301202
  33. Elizabeth A. Kendall, P.V. Murali Krishna, Chirag V. Pathak, and C.B. Suresh. A Framework for Agent Systems. In Mohamed E. Fayad, Douglas C. Schmidt, and Ralph E. Johnson, editors, Implementing Application Frameworks: Object-Oriented Frameworks at Work, John Wiley & Sons, 1999
  34. Joseph P. Bigus and Jennifer Bigus. Constructing Intelligent Agents using Java 2nd Edition, John Wiley & Sons, 2001
  35. Implementing Application Frameworks: Object-Oriented Frameworks at Work A Framework for Agent Systems Elizabeth,A.Kendall;P.V.Murali,Krishna;Chirag,V.Pathak;C.B.Suresh;Mohamed,E.Fayad(ed.);Douglas,C.Schmidt(ed.);Ralph,E.Johnson(ed.)
  36. Constructing Intelligent Agents using Java(2nd Ed.) Bigus and Jennifer Bigus Joseph,P.