Concurrency and Communication in Transaction Logic

In previous work, we developed Transaction Logic (or T R), which deals with state changes in deductive databases. T R provides a logical framework in which elementary database updates and queries can be combined into complex database transactions. T R accounts not only for the updates themselves, but also for important related problems, such as the order of update operations, non-determinism, and transaction failure and rollback. In the present paper, we propose Concurrent Transaction Logic (or CT R), which extends Transaction Logic with connectives for modeling the concurrent execution of complex processes. Concurrent processes in CT R execute in an interleaved fashion and can communicate and synchronize themselves. Like classical logic, CT R has a \Horn" fragment that has both a procedural and a declarative semantics, in which users can program and execute database transactions. CT R is thus a deductive database language that integrates concurrency, communication, and updates. All this is accomplished in a completely logical framework, including a natural model theory and a proof theory. Moreover, this framework is exible enough to accommodate many di erent semantics for updates and deductive databases. For instance, not only can updates insert and delete tuples, they can also insert and delete null values, rules, or arbitrary logical formulas. Likewise, not only can databases have a classical semantics, they can also have the well-founded semantics, the stable-model semantics, etc. Finally, the proof theory for CT R has an e cient SLD-style proof procedure. As in the sequential version of the logic, this proof procedure not only nds proofs, it also executes concurrent transactions, nds their execution schedules, and updates the database. A main result is that the proof theory is sound and complete for the model theory. Appears in Proceedings of the Joint International Conference and Symposium on Logic Programming (JICSLP), September 2{6 1996 Bonn, Germany, pages 142{156. MIT Press. This and related papers and software are available at the following web page: http://www.cs.toronto.edu/~bonner/transaction-logic.html Work supported in part by an Operating Grant from the Natural Sciences and Engineering Research Council of Canada. Supported in part by the NSF Grant IRI-9404629.

[1]  Michael Kifer,et al.  Transaction Logic Programming , 1993, ICLP.

[2]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[3]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[4]  David Peleg,et al.  Communication in Concurrent Dynamic Logic , 1987, J. Comput. Syst. Sci..

[5]  Michael Kifer,et al.  Logical foundations of object-oriented and frame-based languages , 1995, JACM.

[6]  José Meseguer,et al.  Multiparadigm Logic Programming , 1992, ALP.

[7]  Dale Miller The pi-Calculus as a Theory in Linear Logic: Preliminary Results , 1992, ELP.

[8]  José Meseguer,et al.  A logical theory of concurrent objects and its realization in the Maude language , 1993 .

[9]  V. S. Subrahmanian,et al.  Theory of Generalized Annotated Logic Programming and its Applications , 1992, J. Log. Program..

[10]  Ehud Shapiro,et al.  The family of concurrent logic programming languages , 1989, CSUR.

[11]  Steve Rozen,et al.  LabFlow-1: A Database Benchmark for High-Throughput Workflow Management , 1996, EDBT.

[12]  Michael Kifer,et al.  Applications of Transaction Logic to Knowledge Representation , 1994, ICTL.

[13]  Philip A. Bernstein,et al.  Concurrency Control and Recovery in Database Systems , 1987 .

[14]  David Harel,et al.  Process Logic: Expressiveness, Decidability, Completeness , 1980, FOCS.

[15]  Anthony J. Bonner,et al.  Machine analysis of acoustical signals , 1983, Pattern Recognit..

[16]  Michael Kifer,et al.  HILOG: A Foundation for Higher-Order Logic Programming , 1993, J. Log. Program..

[17]  Nathan Goodman,et al.  Requirements for a Deductive Query Language in the MapBase Genome-Mapping Database , 1993, Workshop on Programming with Logic Databases , ILPS.

[18]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[19]  Michael Kifer,et al.  Database Programming in Transaction Logic , 1993, DBPL.

[20]  Michael Kifer,et al.  Transaction Logic Programming (or, A Logic of Procedural and Declarative Knowledge) , 1995 .

[21]  V. S. Subrahmanian,et al.  Paraconsistent Logic Programming , 1987, FSTTCS.

[22]  David Peleg,et al.  Concurrent dynamic logic , 1985, STOC '85.

[23]  Michael Kifer,et al.  An Overview of Transaction Logic , 1994, Theor. Comput. Sci..

[24]  Raymond Reiter,et al.  Formalizing Database Evolution in the Situation Calculus , 1992, FGCS.

[25]  Anthony J. Bonner Hypothetical Datalog: Complexity and Expressibility , 1990, Theor. Comput. Sci..

[26]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .