Transaction Logic Prototype
was developed by
Anthony J. Bonner and
Michael Kifer.
It is an extension of predicate logic that accounts for state changes
in database, logic programs and arbitary logical theories in a clean
and declarative way. Unlike many other logics, Transaction Logic
allows a user to program transactions and has well-defined procedural
and declarative semantics in its "Horn" version.
Papers on Transaction Logic are available
here.
Please also see my
thesis
on the implementation and benchmarking of Transaction Logic.
TR program
This prototype is designed to run on
XSB Prolog,
but with a little adjustment, it can also run on other prolog
interpreters. Versions that run on top of Sicstus Prolog and Quintus
Prolog will soon be provided.
The prototype consists of 10 modules:
Four different prototypes have been developed, each with different
degrees of flexibility and efficiency. The above modules correspond
to what we call prototype 3. The other prototypes will be available
soon. You can download the files via the links. Please also visit the
introduction
page for a guideline before running the program.
The
tutorial
page shows some simple transaction queries(or updates) and transaction
program examples on
simple record database and
counter.
Programs running on XSB Prolog, Quintus Prolog and Sicstus Prolog can be
downloaded here.
At present, however, this page is still under major construction.
Last update at Jun 21, 1996.
This page was created by Samuel Hung /
goku@db.toronto.edu