http://harvest.cs.colorado.edu/
this provides a ton of infrastructure for implementing robots on top of, in
the form of gatherers and or brokers.
harvest sites cooperate so that once (with caching) a set of data (ftp,
http, gopher, wais, etc.) has been "harvested" (or gathered), the global
harvest database can reuse the gathered info without re-harvesting
(re-gathering) from the target data site.
this is "responsible"* robots that dont load up data sites with redundant
automated downloading and cooperative robots, via brokering.
* or ethical:
http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/Agents/eichmann.ethical/eichmann.html
see http://harvest.cs.colorado.edu/harvest/technical.html for more.
for a linear robot cooperation, harvest provides Summary Object Interchange
Format (SOIF), http://harvest.cs.colorado.edu/Harvest/brokers/soifhelp.html
arbitrary extensions to SOIF are on the object, object-attribute model.
for nonlinear robot cooperation or interaction, brokers can be defined
arbitrarily.
i'm presently working on an associative AI which i had developed as a
standalone program, but am stripping my lame gathering and brokering code
for the sophistication of harvest.
-john