145
I
n Chapter 4, we looked at the migrating process, which can be considered to provide mobility
in the logical domain. In this chapter, we revisit logical mobility by considering the mobile
agent, which is an extension of the migrating process.
An agent is a computer program whose execution is contingent upon events and data
conditions in its environment and which is not under continuous, direct control by a human
user. Agents make an interesting topic of study because they draw on and integrate so many
diverse disciplines of computer science, including objects and distributed object architectures,
adaptive learning systems, artificial intelligence (AI), expert systems, genetic algorithms,
distributed processing, distributed algorithms, collaborative ...