Mobile agents, programs that move within a system performing a set of tasks, are an active field of research. The focus of current research, however, is on the development of execution platforms and applications for mobile agents and not on methodologies for building agents. Creating mobile agents can be tedious and susceptible to errors. We propose a framework where the agent is composed using a welldefined set of categories of software components. Building systems from software components has already proven useful in the context of large software systems, increasing the productivity of the development process and the reliability of the resulting system by reusing proven components. We claim that the same holds true for the construction of...