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