On rules, procedure, caching and views in data base systems
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Behavior of database production rules: termination, confluence, and observable determinism
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Practical data breakpoints: design and implementation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Extensible file systems in spring
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Interposition agents: transparently interposing user code at the system interface
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Lightweight recoverable virtual memory
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Extending traces with OAT: an object attribute trace package for Tcl/Tk
TCLTK'97 Proceedings of the 5th conference on Annual Tcl/Tk Workshop 1997 - Volume 5
Programming the internet from the server-side with Tcl and Audience1TM
TCLTK'96 Proceedings of the 4th conference on USENIX Tcl/Tk Workshop, 1996 - Volume 4
Hi-index | 0.00 |
Traces are code attachments to variables that cause designated blocks of code to be executed on reads or writes to the given variable. Traces have numerous uses, including rules ("on 〈condition〉 do 〈action〉" statements), autoloading and initialization based on data access, transparent remote data access, paging and swapping, and persistence. Traces are usually limited to ad-hoc, hard-coded composition, making it difficult to placemultiple traces on the same variable. Multiple traces are useful for putting a rule on a persistent variable, or several rules on a variable. This paper presents a design for a low-level mechanism for reasoning about and configuring multiple traces on a single variable. Although the work is based on a prototype using a modified version of Tcl's trace command, this mechanism easily applies to any language or library capable of implementing traps. This includes systems such as data breakpoints[WLG93] in C and overloadable get() and set() methods in prototype-based object-oriented systems. The specifics of the prototype are presented, including a facility for writing persistent Tcl scripts. The prototype requires Tcl7.x with Tk3.x or later and may be downloaded from ftp://ginsberg.cs.berkeley.edu/pub/ asah/dmt/tcl-proto.tar.gz