반응적 에이전트 프레임워크를 위한 패턴 언어

A Pattern Language for the Reactive Agent Framework

  • 발행 : 2004.03.01

초록

최근 몇 년간 소프트웨어 에이전트가 소프트웨어 공학의 새로운 추상화 단위로서 연구되고 있다 자율성, 적응성, 협력성 등의 속성을 갖는 에이전트는 특히 분산 시스템, 오픈 시스템, 복잡한 시스템 등의 영역에서 시스템을 구성하는 새로운 추상화 단위로서 이해되고 있다. 그러나 에이전트에 관한 개념과 특성에 관한 연구가 꾸준히 진행되고 있음에도 불구하고, 에이전트 패러다임을 위한 프로그래밍 언어의 실용화는 요원한 상태이다. 이는 에이전트가 갖는 속성이 문제 영역별로 매우 다양해서 이러한 모든 속성을 공통으로 만족시키는 구현 방법에 대한 공통된 의견이 도출되지 못하고 있기 때문이다. 이러한 현실에서 프로그래밍 언어보다 한 단계 상위 계층에 존재하는 프레임워크를 통한 에이전트 개발은 보다 현실적인 대안으로 받아들여지고 있다. 그러나 에이전트 프레임워크를 개발하기 위한 많은 기술들은 개발자간에 공유되고 있지 않아서 동일한 시행착오를 반복하는 경우가 많다. 본 논문에서는 이러한 문제의 해결책으로 객체지향 기술에서 주로 사용되는 패턴 언어를 사용함으로써, 에이전트 프레임워크 개발의 경험과 지식을 개발자간에 공유하고자 한다. 본 논문은 반응적 에이전트 프레임워크의 개발을 위한 패턴 언어를 제안하고 ATAM(1)에 기반 한 검증의 절차를 거쳤다. 이러한 간접 경험의 증가는 반복해서 발생하는 시행착오를 감소시킴으로써 개발자들이 보다 본질적인 문제에 집중할 수 있도록 도와준다. 이는 결국 고품질의 에이전트 프레임워크 개발에 기여할 것으로 기대된다.

Recently software agent has been studied as a new abstraction unit of software engineering. The agent with autonomous, adaptability and cooperation attribute is accepted as a new abstraction unit especially in distributed systems, open systems, and complex systems. However, the progress of agent research has been slow and the realization of agent programming language seems to be far distant. Because the properties of agent are diverse, the opinions of researchers can not converge to one. In this situation, software agent framework is accepted more realistic alternative solution. However the knowledge for its development doesn't have been shared among developers. So they often have to make same errors. We will help sharing of knowledge and experience by using pattern language which has been used in object technology for long times. This paper proposes a reactive agent framework pattern language and validates it based on ATAM[l] The increase of such indirect experience can reduce the waste of resource by preventing the same try and error. So agent framework developers are able to concentrate on more essential issues. Finally quality of software agent framework will be increased.

키워드

참고문헌

  1. Paul Clements, Rick Kazman, Mark Klen. Evaluating Software Architecture. Addison Wesley. 2002
  2. Barbara Gengler. Silicon super-agents, AustralianIT, April 30 2002, see http://australianit.news.com.au/articles/0,7204,4210558%5E15397%5E%5Enbv%5E,00.html
  3. Mohamed E. Fayad. A Framework for Agent Systems. Implementing Application Frameworks, Mohamed E. Fayad, Douglas C. Schmidt, and Ralph E. Johnson, editor. Willey, 1999
  4. The Foundation for Intelligent Physical Agents. See http://www.fipa.org
  5. OMG Agent Platform Special Interest Group. Agent Technology Green Paper Ver, 1.0. See http://www.objs.com/agent/index.html
  6. FIPA-OS. http://fipa-os.sourceforge.net/
  7. JADE, http://sharon.cselt.it/projects/jade/
  8. AGLET, http://www.trl.ibm.co.jp/aglets/
  9. Kent Beck and Ralph Johnson. Patterns generate architectures. In Proceedings ECOOP'94, volume 821 of LNCS, pages 139--149. Springer-Verlag, July 1994
  10. 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
  11. http://fipa-os.sourceforge.net/docs/presentations;fip a-and-fipaos.pdf 8Page
  12. 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
  13. Onn Shehory. Architectural Properties of MultiAgent Systems, tech. report CMU-RI-TR-98-28, Robotics Institute, Carnegie Mellon University, December, 1998
  14. Parnas, D.L., 'Software Aging' in Proceedings of the 16th International Conference on Software Engineering', Sorento Italy, IEEE Press, 279-287, May 16-21/94
  15. Scott W. Ambler. Process Patterns. Building Large-Scale Systems Using Object-Oriented Technology. Cambridge University Press, 1998
  16. Martin Fowler and Kendal Scott. UML Distilled 2nd edition. Addison-Wesley. 1999
  17. Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison-Wesley. 1998
  18. Don Roberts and Ralph Johnson. Patterns for Evolving Frameworks. Pattern Languages of Program Design 3. Robert Martin, Dirk Riehle, and Frank Buschmann, editor. Addison Wesley, 1998
  19. Douglas Schmidt, Michael Stal, Hans Rohnert, and Frank Buschmann. Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects, John Wiley & Sons, 2000D
  20. Kinny, M. George, and A. Rao. A methodology and modelling technique for systems of BDI agents. MAA-MAW'96, LNAI Volume 1038, Springer-Verlag, 1996, pages56-71
  21. Kinny, M., George and A. Rao, A methodology and Modelling technque for Systems of BDI agents, MAA-KAK'96 LNAEI Volume 1938, Springer-Verlay, 1996, Page 56-71
  22. Mary Shaw and David Garlan. Software Architecture: Perspectives on and Emerging Discipline. Prentice Hall, 1996
  23. Alex L.G. Hayzelden and John Bigham. Software Agents for Future Communication. Springer, 1998
  24. Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-Oriented Programming. Proceedings European Conference on Object-Oriented Programming. 1997
  25. Randy L. Ribler, Jeffrey S. Vetter, Huseyin Simitci, and Daniel A. Reed, 'Autopilot: Adaptive Control of Distributed Applications,' Proceedings of the 7th IEEE Symposium on High-Performance Distributed Computing, Chicago, IL, July 1998
  26. Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995
  27. Meyer, B. Applying 'Design by Contract,' Computer 25(10), October 1992, 40-51 https://doi.org/10.1109/2.161279
  28. Computer v.25 no.10 Applying Design by Contract Meyer,B. https://doi.org/10.1109/2.161279