In this chapter we propose a software architecture for mobile agent toolkits and describe our Tracy toolkit as a reference implementation of this architecture. Agent toolkits mainly consist of a software system that forms an agency, which is responsible to host mobile and stationary software agents. In contrast to most architectures developed so far, which already define a large set of services for agent migration, communication, and security, we propose to employ a kernel-based approach. The kernel only provides fundamental concepts common to all agent toolkits and abstracts from any of these services. In particular, although Tracy was developed as a mobile agent toolkit, its kernel abstracts from all issues related to agent mobility, delegating this to an optional service implementation. This makes it possible to replace Tracy’s migration service with another implementation and even to have two different migration services in parallel. Service implementations are developed as plugins that can be started and stopped during run-time. We have already developed almost a dozen plugins for agent migration, communication, authentication and authorization, and security solutions, only to name a few. We believe that this architecture is a useful foundation for research on agentrelated topics as it allows research groups to implement their own results as a service which can be used by other groups running an agent system based on the same architecture.
|Title of host publication||Software Agent-Based Applications, Platforms and Development Kits|
|Editors||Rainer Unland, Matthias Klusch, Monique Calisti|
|Place of Publication||Basel Switzerland|
|Number of pages||25|
|Publication status||Published - 2005|