We present a toolkit for building event-driven, re-configurable distributed systems. An event-driven application is driven by asynchronous inputs that cause event-handlers to be invoked. A large class of distributed collaborative, testing, monitoring and control applications fit this paradigm - for example, conferencing and conference control applications, distributed control and testing applications and many others. In each case the notion of an "event" varies. In a collaborative system, events are user inputs; in a distributed monitoring and control system, events are changes in transducer inputs; in a distributed testing scenario, events are test outputs, timer alarms and so on. In such systems, it may be useful to have the ability to dynamically extend and re-configure the system. For example, in a collaborative system, different users may be interested in getting notification of different events that may not be known to the system designer a-priori - necessitating dynamic extension while the system is in execution. There are also situations where system design and performance may be enhanced by dynamic re-configuration - that is dynamic re-mapping of the system functionality while the system is in execution. Our goal is to build a system that enables the scripting of such event-driven applications.
[1]
Werner Vogels,et al.
USING SOFTWARE DESIGN PATTERNS TO BUILD DISTRIBUTED ENVIRONMENTALMONITORING APPLICATIONS
,
1997
.
[2]
Joel H. Saltz,et al.
Network-aware mobile programs
,
1997
.
[3]
Robert S. Gray,et al.
Agent Tcl: a Exible and Secure Mobile-agent System
,
1996
.
[4]
Joel H. Saltz,et al.
Sumatra: A Language for Resource-Aware Mobile Programs
,
1996,
Mobile Object Systems.
[5]
Luca Cardelli,et al.
A language with distributed scope
,
1995,
POPL '95.
[6]
Andrew P. Black,et al.
Fine-grained mobility in the Emerald system
,
1987,
TOCS.
[7]
Charles Crowley.
TkReplay: Record and Replay for Tk
,
1995,
Tcl/Tk Workshop.
[8]
Robbert van Renesse,et al.
Reliable Distributed Computing with the Isis Toolkit
,
1994
.