[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: java: vending machine software (long)



"Ted Anderson" <[email protected]> writes:
> 
> "Vladimir Z. Nuri" <[email protected]> writes:
> > Java seems to be catching on in a big way (only a few months ago,
> 
> These are important ideas.  I found them explored very nicely
> in several papers written by Drexler and Miller (circa 1988!).  They
> are available in the collection "Ecology of Computation (1988)" and
> via the Agorics Home page (http://www.webcom.com/~agorics).
> 
> It seems that with the Web and Java now widely available the technical
> means to implement these ideas are getting visibly closer.
> 
Agorics is a company devoted to commercializing these ideas (Mark
Miller is one of the founders.  They're building a language for this
called Joule with some interesting properties.  Electric Communities
(http://www.communities.com), a "sister" company, has rolled a number
of these ideas into E, an extension of Java for safe, distributed
communications.  

> > when one thinks about this, I think it becomes clear that we are going
> > to see many, many new standards for code communication in the future.
> 
> The most interesting thing I've heard along these lines was described
> in a talk by Matthew Fuchs.   He suggested the idea of using something
> like SGML (of which HTML is a subset) to communicate between smart
> agents.  The idea is to provide a machine understandable equivalent
> of a web form which could be used to send info back and forth.  In
> this application display instructions are not important, what is
> important is the meaning assigned to the keywords.  For example, in
> a simple web page you might use <title>, <body>, <author>, <h1>, etc.
> The browser knows how display these because for simple documents they
> have a well defined meaning, but an automatic document indexer could
> also easily find the title and author.
> 
> Consider an airline reservation system.  It might support a variety of
> commands to answer queries and make reservations.  Clearly once the
> *meaning* is in hand, crafting a way to display it would be easy.  So
> you have a scheme which can be used with equal facility by
> either a human or a machine.  This allows for smooth transition from
> human mediated to automated steps in a larger project (e.g. plan a trip
> visiting these five cities) where some parts have been automated (e.g.
> airline reservations) and other parts have not (say, hotel reservations).
> 
> Further, the system can be built out of layers of objects that give
> meanings to various keywords.  Consider a bunch of keywords and
> associated Java applets that understand dates and times (they know about
> timezones and daylight savings and weekends and so forth).  Another
> level of objects knows how to manage schedules, and still another
> layer knows about travel arrangements.  The system used by a particular
> airline uses all these objects to provide an interface for communicating
> with customers (or their automated agents).
> 
> Java seems ideal suited to be the active lubricant in such a system.

This is a pretty good summation, without the slides.  What I'd add,
though is that I want the smart agents to be our WWW browsers (whose
intelligence I can extend either through local development or by
retrieving software over the Web).  I want the browser to be the
gateway integrating my local environment with the big world out there
and I want it defending my interests.  (I also want to get rid of the
word "browser" because it is too limited.)

If the Web is going to support social interactions and growth to a
zillion nodes, it has to move from a client/server architecture (good
for a browsing human) to a peer-to-peer architecture, like EDI, but
without requiring ISO or ANSI approval to do anything ('cause my agent
will do most of the browsing of the 100 potentially interesting sites
).  We need a "meta-standard" for creating and combining
domain-specific "mini-standards," and let the mini-standards battle it
out in the marketplace.  SGML and IDL are two potential
meta-standards.  Java provides a way to communicate base line
functionality the first time I see a new standard.

At the bottom of my home page are two recent paper submissions on
this.  The first ("Beyond the Write-Only Web") might be particularly
interesting to this group as it talks about how to make a
self-modifying malicious Java applet in the spirit of Ken Thompson's
Turing Award Lecture.

Matthew Fuchs
[email protected]
http://galt.cs.nyu.edu/students/fuchs
Mobile distributed objects, distributed coordination, and lots and
lots of languages