What are the exact and agreed-upon characteristics that define a "software
agent system" and can thus be used to distinguish between agent and non-agent
software systems? All sources I have found so far indicate that there is no
such definition. Please help!

Clarification of Question by
safari-ga
on
22 Apr 2002 08:22 PDT

I am in fact trying to differentiate between "software agent" technology
and "personalization" or "user adaptive technology" - in that regard, Mrs. Maes
is the problem, not the solution.

Clarification of Question by
safari-ga
on
22 Apr 2002 08:25 PDT

I am in fact trying to differentiate between "software agent" technology
and "personalization" or "user adaptive technology" - in that regard, Mrs. Maes
is the problem, not the solution.

Thanks for your hints, but using the Maes definition I could e.g. argue that a
mail client (say Outlook Express) is an agent system, as it is autonomous (a
stand-alone program), has sensors (looks for mail), effectors (fetches mail,
notifies me)and does all of that autonomously (I don't need to push a "look for
mail" button). While this could even be an agent system, the criteria would
also apply to my fridge, that (thank god) autonomously delivers cool drinks and
would thus from now on be called my "cooling agent".

I think that software agents must evolve in a some autonomuous mannor, not only
by being customized with a script.
Further software agents are the top of current programs and here is why I
postulate the border is moving:
calculator -> spreadsheet -> scenario / report / chart generator
or
text editor -> word processor -> content processor with your style of writing
or
basic chess program -> with strong moves library -> with knowledge about your
playing style and teacher capabilities
or
web directory / index -> human researcher -> search agent
etc.

From the technical point of view, the term "software agent" seems to be a kind
of buzzword
that can be used on a lot of different algorithmic concepts. That's probably the
reason why
you did not find "the answer" yet.
To get an idea about the meaning take a look at the word "agent": This is latin
and means
"a person who is acting". So the direct translation of "software agent" is
"software that somehow
acts". Not really a clear answer. :)
If you take a look at existing technologies that are called "software agents",
you'll find basically
two concepts:
1. A software that only simulates individual action, but internally works
without setting up
an individual process to solve a certain problem. Examplare: bidding on auctions
at Ebay.
On the Ebay servers, there are obviously no millions of user-specific bidding
processes.
They have a huge database instead and simulate "bidding agents" with that.
Another "passive" agent could be an "information agent" in some search engine
that sends
you mail whenever new pages/articles on a pre-specified topic or search pattern
have been
found. Such a search engine will not gather pages exclusively for *you*, but
will expand
the knowledge base accessible for all users and then will use user-specific list
to make the
agent thing work. Again we do not have millions of user processes, but the
individual
"agents" are simulated.
2. The second type of software is really active for an individual. In this case,
starting an
"agent" means that somewhere some new processes (running programs) appear. In
this
case, the "agent" idea is obvious: The agent is started to solve a specific
problem, and
when this is done (or the agent failed), somehow a feedback is returned and the
(specific)
agent ceases to exist.
I think the differenciation in these two classes is in effect very similar to
your distinction
as added in the comments to your original query. The "real" software agents
might be seen
in category 2, and statistically most of the internet services titulated as
"software agents"
actually belong to category 1.
Personally, I wouldn't take that "software agent" term too seriously. In the New
Economy boom
this buzzword has been used often to hide real technical features, which were
oftenly not
really innovative that times.

Well, I think such agent system are called "intelligent" or "learning" agents.
The question here is: Is the ability to learn or reason necessarily a part of
the definition of an agent (web crawlers, which are often used as examples of
agent systems, do not exhibit intelligent or learning bevavior)? And - if the
characteristics given in my previous reply posting do actually describe an
agent system - which degrees of perception, activities, autonomy are necessary
to determine an agent system? Or is an agent system simply another term for an
encapsulated object oriented system design?

Again, thanks for your comments. First, to clarify "the posting order
situation", my previous posting refers not to daniel's posting, but to
cybergenius64's.
Back to daniel's posting, I agree with what you wrote, and it is actually a
point that I am trying to find arguments for - or be proven wrong in.

Important Disclaimer:
Answers and comments provided on Google Answers are general
information, and are not intended to substitute for
informed professional medical, psychiatric, psychological, tax,
legal, investment, accounting, or other professional
advice. Google does not endorse, and expressly disclaims
liability for any product, manufacturer, distributor,
service or service provider mentioned or any opinion
expressed in answers or comments. Please read carefully the
Google Answers Terms of Service.

If you feel that you have found inappropriate content,
please let us know by emailing us at
answers-support@google.com
with the question ID listed above. Thank you.