Transaction Logic Prototype

Transaction Logic 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