Jonathan.Cunningham@tesco.net (Jonathan L Cunningham) writes:
> Date: Wed, 12 Dec 2001 23:52:23 GMT
>
> I've come across a new word today: aglet.
>
> It seems to mean autonomous agent, and seems to be built in to the
> latest versions of Java (which I haven't seen).
>
> It's not striclty pop-related, but I know that Poplog is being
> used for agent research,
For example see
http://www.cs.bham.ac.uk/~axs/cogaff/simagent.html
and talk 2 in this collection
http://www.cs.bham.ac.uk/~axs/misc/talks/
(Also paper by Brian Logan and me, and paper by Jeremy Baxter and
Richard Hepplewhite, both in CACM March 1999)
> so I think it would be of interest to
> this newsgroup if anyone can tell us more about aglets.
Well I tried giving the word to google, and this is what I learnt:
G o o g l e's cache of http://www.trl.ibm.co.jp/aglets/JAAPI-whitepaper.html
What are Aglets?
Aglets are Java objects that can move from one host on the Internet
to another. That is, an aglet that executes on one host can suddenly
halt execution, dispatch to a remote host, and resume execution
there. When the aglet moves, it brings along its program code as
well as its state (data). A build-in security mechanism makes it
safe to host untrusted aglets.
and later:
The aglet represents the next leap forward in the evolution of
executable content on the Internet, introducing program code that
can be transported along with state information. Aglets are Java
objects that can move from one host on the Internet to another. That
is, an aglet that executes on one host can suddenly halt execution,
dispatch to a remote host, and resume execution there. When the
aglet moves, it brings along its program code as well as its data.
Conceptually, the aglet is a mobile agent because it supports the
ideas of autonomous execution and dynamic routing on its itinerary.
I had never heard of them. Must be something wrong with my reading.
So in Pop-11, an aglet might be the string:
'define greet(sender,recipient); [greetings from ^sender to ^recipient] => \
enddefine; greet("aaron", "pop_users");'
which could easily be sent from one pop11 process to another, to be
compiled and run in the second. Obviously there's a risk in allowing
this sort of thing.
To check that this works, take the above string and and give it to
instring, to create a character repeater from the string, and give
the result to pop11_compile, e.g. mark and compile this:
'define greet(sender,recipient); [greetings from ^sender to ^recipient] => \
enddefine; greet("aaron", "pop_users");'.stringin.pop11_compile;
Of course it would be easy to provide abbreviated versions to reduce
transmission load, including, at one extreme, letting pop feed a
long string through gzip at one end and through gunzip at the other
end before execution.
Aaron
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk (ReadATas@please !)
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/ (And free book on Philosophy of AI)
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/freepoplog.html
|