Mobile agents are programs that migrate from service to service over a network and interact on a user's behalf. Most interestingly, the code can migrate and when it does it should be able to execute on any system that it visits. Java seems to be the leading choice lately as the class files are loaded at runtime.
Mobile agents are independent, flexible, collaborative, persistent, goal-oriented and most importantly: small. They are not a complete program by themselves however, but work with collaboration with other agents hosts and servers.
A very important key is that with the proper use of mobile agents major portions of a system can be rewritten dynamically.
See also DistributedComputing, DistributedComponents?, DistributedAlgorithms?, WhatIsAnAgent, AutonomousAgent
According to the OMG-MAF...
[From MobileAgents]
MobileAgents are agents that prowl the internet on search for information. But what the heck is the "mobile" part about these agents? I understand they actually live in the network by executing complex command on "remote" systems. Is this the birth of a new form of intelligence, the bane of humanity or just glorification of a viruslike parasitaire behaviour?
A list of available MobileAgents: