These properties are made specific in the API that the server exposes to the agents for acquiring data, being visible to users, and moving themselves to other servers. The server provides the agents with access to various kinds of data. It defines what agents are capable of knowing. The server will provide data about whether a user is present at the moment, how busy he is, and what he is doing. This information about machine and user activity will give agents a rich data stream as input.
Agents take in data from their sensors, process it, and present the information to the user.
A variety of actuators for agents can be imagined. The system could be expanded to allow all sorts of other interesting output modalities such as sound or ambient displays, but that is a topic outside the scope of this thesis. The world of the agents is the network of interconnected servers. An agent initially will only know about other agents on its home machine. To learn about agents on another machine, an agent must first either move itself or send out a messenger.