
"Ted Anderson" <Ted_Anderson@transarc.com> writes:
"Vladimir Z. Nuri" <vznuri@netcom.com> 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 matt@wdi.disney.com http://galt.cs.nyu.edu/students/fuchs Mobile distributed objects, distributed coordination, and lots and lots of languages