[an error occurred while processing this directive]
Are you carrying your computer? Let your computer carry you for a change
Wouldn't it be great if you could tell your computer WHAT you wanted it to do, and it would go ahead an do it for you. Wouldn't it be great if you didn't have to hold its hand, and tell it HOW to do it? That's the promise of software agents - software that acts on your behalf.
Well, a software agent is nothing more than a computer program. However, the software acts in an intelligent manner, making assumptions based on preferences you've defined, or that it has learned by analysing your behaviour. You specify a goal ('find me pictures of dolphins'), and it searches for you. You tell it to do something ('regularly defragment my drives and scan for viruses') and it might perform these tasks when the screen saver is active, or late at night when you're not using the computer. By delegating tasks to the agent, your life is made easier.
That's the catch. There are so many predictions about agents out there, but very few concrete examples (and even fewer you can download and use yourself). There isn't one super-agent that can perform all tasks. Instead, agents are usually specialists. You might see a user-interface agent pop up in Microsoft Office, asking if you need assistance. You might have an agent that searches for information on the Internet for you. You won't normally find an agent that does both.
Start by picking up a copy of a book on software agents (a good book, not 'Agent for Dummies'). Secondly, pick a narrow enough topic (a specialized task) and start writing. There's no ideal language for agents, but C++ or Java is probably a good start. I'd recommend a book like Intelligent Java Applications by Mark Watson.
Agents don't have to work in isolation. They can communicate with other software agents. For more information on communicative software agents, check out the Simple Agent Communication Protocol (SACP).
As part of a postgraduate research subject, I prepared an analysis of mobile agents and process migration. This report is available online, and may be redistributed under the terms and conditions of the OpenContent License (OPL).