Project Overview

An agent in TACOMA is a piece of code that can be installed and executed on a remote computer. Such an agent may explicitly migrate to other hosts in the network during execution.

The TACOMA project focuses on operating system support for agents and how agents can be used to solve problems traditionally addressed by other distributed computing paradigms, e.g. the client/server model. We have implemented a series of prototype systems to support agents:

  • TACOMA Version 1.0.1 is based on UNIX and Tcl-TCP. Agents can be written in Tcl/TK. This system provides the core TACOMA abstractions, but lacks vital security features.

  • TACOMA Version 1.1 is based on UNIX and TCP. Agents can be written in Tcl/TK or in C, and support for other languages is in progress. This version also provides some vital security mechanisms.

  • TACOMA Version 1.2 is based on UNIX and TCP. The system supports agents written in a variety of programming languages (C, Tcl/Tk, Perl, Python, and Scheme). TACOMA 1.2 is implemented in C.
We are currently focusing on fault-tolerance, security, applicability and management issues. The TACOMA platform has also been ported to new operating system architectures, in particular Windows NT, Windows CE and the PalmOS. Several TACOMA applications are under construction. One example is a wide-area network weather monitoring system accessible over the internet. This distributed application is StormCast. We are also investigating whether agents can be useful in extensible file system architectures.

The TACOMA project is a collaboration between the Department of Computer Science, University of Tromsø, Norway, the Department of Computer Science, Cornell University, Ithaca, New York, USA and the Department of Computer Science, University of California, San Diego, USA.