Tracy: an extensible plugin-oriented software architecture for mobile agent toolkits

Peter Braun, Ingo Mueller, Tino Schlegel, Steffen Kern, Volkmar Schau, Wilhelm Rossak

Research output: Chapter in Book/Report/Conference proceedingChapter (Book)Researchpeer-review


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.
Original languageEnglish
Title of host publicationSoftware Agent-Based Applications, Platforms and Development Kits
EditorsRainer Unland, Matthias Klusch, Monique Calisti
Place of PublicationBasel Switzerland
Number of pages25
ISBN (Print)3764373474
Publication statusPublished - 2005
Externally publishedYes

Cite this