Results 1 -
5 of
5
Concurrency and Communication in Transaction Logic
- IN JOINT INTL. CONFERENCE AND SYMPOSIUM ON LOGIC PROGRAMMING
, 1996
"... 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, bu ..."
Abstract
-
Cited by 55 (14 self)
- Add to MetaCart
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 th...
Asynchronous Group Mutual Exclusion
- Distributed Computing
, 1998
"... Mutual exclusion and concurrency are two fundamental and essentially opposite features in distributed systems. However, in some applications such as Computer Supported Cooperative Work (CSCW) we have found it necessary to impose mutual exclusion on dierent groups of processes in accessing a reso ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
Mutual exclusion and concurrency are two fundamental and essentially opposite features in distributed systems. However, in some applications such as Computer Supported Cooperative Work (CSCW) we have found it necessary to impose mutual exclusion on dierent groups of processes in accessing a resource, while allowing processes of the same group to share the resource. To our knowledge, no such design issue has been previously raised in the literature. In this paper we address this issue by presenting a new problem, called Congenial Talking Philosophers, to model group mutual exclusion. We also propose several criteria to evaluate solutions of the problem and to measure their performance. Finally, we provide an ecient and highly concurrent distributed algorithm for the problem in a sharedmemory model where processes communicate by reading from and writing to shared variables. The distributed algorithm meets the proposed criteria, and has performance similar to some naive but...
Transaction Logic Programming (or, A Logic of Procedural and Declarative Knowledge)
, 1995
"... An extension of predicate logic, called Transaction Logic, is proposed, which accounts in a clean and declarative fashion for the phenomenon of state changes in logic programs and databases. Transaction Logic has a natural model theory and a sound and complete proof theory, but unlike many other log ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
An extension of predicate logic, called Transaction Logic, is proposed, which accounts in a clean and declarative fashion for the phenomenon of state changes in logic programs and databases. Transaction Logic has a natural model theory and a sound and complete proof theory, but unlike many other logics, it allows users to program transactions. This is possible because, like classical logic, Transaction Logic has a "Horn" version which has a procedural as well as a declarative semantics. In addition, the semantics leads naturally to features whose amalgamation in a single logic has proved elusive in the past. These features include both hypothetical and committed updates, dynamic constraints on transaction execution, nondeterminism, and bulk updates. Finally, Transaction Logic holds promise as a logical model of hitherto non-logical phenomena, including so-called procedural knowledge in AI, active databases, and the behavior of object-oriented databases, especially methods with side ef...
Workflows, Transactions, and Datalog
- In Proc. ACM Symposium on Principles of Database Systems (PODS’99
, 1999
"... Transaction Datalog (abbreviated T D) is a concurrent programming language that provides process modeling, database access, and advanced transactions. This paper illustrates the use of T D for specifying and simulating workflows, with examples based on the needs of a high-throughput genome laborator ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Transaction Datalog (abbreviated T D) is a concurrent programming language that provides process modeling, database access, and advanced transactions. This paper illustrates the use of T D for specifying and simulating workflows, with examples based on the needs of a high-throughput genome laboratory. In addition to database support, these needs include concurrent access to shared resources, synchronization of work, and networks of cooperating workflows. We also use T D to explore the computational complexity of workflows in data-intensive applications. We show, for instance, that workflows can be vastly more complex than database transactions, largely because concurrent processes can interact and communicate via the database (i:e:, one process can read what another one writes). We then investigate the sources of this complexity, focusing on features for data modeling and process modeling. We show that by carefully controlling these features, the complexity of workflows can be reduced ...
Transaction Datalog: A Compositional Language for Transaction Programming
- In Proceedings of the International Workshop on Database Programming Languages, Estes Park
, 1997
"... . In the classical model of database transactions, large transactions cannot be built out of smaller ones. Instead, transactions are modelled as atomic and isolated units of work. This model has been widely successful in traditional database applications, in which transactions perform only a few sim ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
. In the classical model of database transactions, large transactions cannot be built out of smaller ones. Instead, transactions are modelled as atomic and isolated units of work. This model has been widely successful in traditional database applications, in which transactions perform only a few simple operations on small amounts of simply-structured data. Unfortunately, this model is inappropriate for more complex applications in which transactions must be combined and coordinated to achieve a larger goal. Examples include CAD, office automation, collaborative work, manufacturing control, and workflow management. These applications require new transaction models, new methods of transaction management, and new transaction languages. This paper focuses on the latter issue: languages for specifying non-classical transactions, and combining them into complex processes. In particular, we develop Transaction Datalog, a deductive language that integrates queries, updates, and transaction co...

