[3241] in java-interest

home help back first fref pref prev next nref lref last post

mobile objects, concurrent GUIs, distributed events, SGML

daemon@ATHENA.MIT.EDU (Matthew Fuchs)
Sat Nov 4 03:47:02 1995

From: fuchs@cerc.wvu.edu (Matthew Fuchs)
To: java-interest@java.sun.com
Date: Sat, 4 Nov 1995 01:53:58 -0500 (EST)

People interested in mobile objects, concurrent GUIs (without either
an event loop or threads), distributed event coordination and lexical
scoping, platform independent GUIs and SGML on the Web, especially
those I've exchanged email with from here, will be interested in
looking at my dissertation and related papers, available from my home
page at http://www.cerc.wvu.edu.

Many people have seen more-or-less decipherable "pre-beta" versions,
but I have finally defended and graduated, so it's all there now.
I've appended the abstract for those who aren't sure if they want to
take a look :)

Matthew Fuchs
fuchs@cerc.wvu.edu

This dissertation makes four contributions towards supporting
distributed, multi-user applications over open networks.

Dreme, a distributed dialect of the Scheme language in which all
first-class language objects are mobile in the network.  In
particular, various distributed topologies, such as client/server and
peer-to-peer, can be created by migrating closures with overlapping
scopes around the network, correct inter-process communication being
assured by Scheme's lexical scoping rules and network wide addressing.
Threads of control are passed around through first-class distributed
continuations.

A User Interface toolkit for coordinating events in multi-threaded,
multi-user applications by organizing continuation callbacks into
nested lexical scopes.  Each event has certain attributes, such as
synchronous/asynchronous.  Certain events create new scopes with new
events.  Continuation callbacks allow both synchronous events which
return values to their callers, and asynchronous ones.  Application
needn't be spread throughout the application, as with applications
using an event-loop.

A distributed garbage collection algorithm that collects all cycles
on an open network.  The basic algorithm depends on maintaining the
inverse reference graph (IRG) among network nodes (i.e., if a->b is in
the regular graph, b->a is in the IRG).  A single IRG traversal from
any object determines the status of each object touched.
Communication is decentralized (any object can choose to determine its
status), garbage is touched O(1) times (in the absence of failures),
it is fault-tolerant, and can handle malicious or faulty neighbors.
Each operation uses messages linear in the size of the IRG.
Overlapping operations perform like parallel quick sort.

An approach to using the Standard Generalized Markup Language (SGML)
over the network to support distributed GUIs, intelligent clients, and
mobile agents.  SGML is a meta-grammar for creating domain specific
document markup languages to which a variety of semantics (display,
reading/writing databases, etc.) can be applied. The document, its
grammar, and some semantics, are retrieved over the network.
Applications normally create interfaces directly out of graphic
objects to communicate with the user.  However, if the interface has
some semantics (and is parsable), a computational agent can interpret
the interface and talk directly to the application on behalf of the
human.
-
This message was sent to the java-interest mailing list
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post