Nerve cells and Ideals and Ideal Programming
Advancing the Science of Software Agent Technology
FIPA, the Foundation for Intelligent Physical Agents, has opted to pull in its horns and become an IEEE Computer Society standards committee, namely the "FIPA Standards Committee."
I've written a very rough draft white paper on issues related to identity, entitled "The Nature of Identity". The four key issues that relate to software agents are identiying the agent itself, identifying resources that the agent wishes to access, indetifying entities that the agent wishes to interact with, and identifying the entity on whose behalf the agent is acting. Certainly there are issues of privacy and security as well.
One of the key distinguishing characteristics between a traditional computer program and a software agent is that a program is focused on performing tasks whereas an agent works towards goals. That's a very important distinction, but it's also very difficult to deeply comprehend, let alone put into practice.
As I've ruminated about the challenges of developing autonomous software agents over the past seven years, the one key obstacle that I keep coming back to is code, specifically, hand-designed, hand-written, hand-tested code. I simply can't imagine widespread development and deployment of reliable and flexible autonomous software agents using hand-designed, hand-written, and hand-tested software. It just ain't going to happen. Yes, people will try to do it anyway. Yes, some elite developers can in fact achieve success in narrowly targeted niches, but developing software agents by hand is very clearly not the way to go. We must drag ourselves out of "The Code Swamp" if we want to be serious about designing, developing, deploying, and maintaining software agent technology. The idea that we are going to manually design software that can cope with truly dynamic environments, is simply not credible.
From a post on Slashdot, I found a reference to an experimental program at Nasa called "Demonstration for Autonomous Rendezvous Technology, or DART". This is a great example of autonomous decision-making by computer software. The Nasa site notes:
The Demonstration for Autonomous Rendezvous Technology, or DART, is a flight demonstrator vehicle designed to test technologies required to locate and rendezvous with other spacecraft. The DART mission is unique in that all of the operations will be autonomous - there will be no astronaut onboard at the controls, only computers programmed to perform functions. Developed by Orbital Sciences Corporation of Dulles, Va., the DART vehicle will be launched on a Pegasus rocket to test rendezvous, close proximity operations and its control
between the vehicle and a stationary satellite in orbit.