Nested Transactions in a Logical Language for Active Rules

Bertram Ludäscher, Wolfgang May, Georg Lausen

Abstract. We present a hierarchically structured transaction-oriented concept for a rule-based active database system. In previous work, we have proposed Statelog as a unified framework for active and deductive rules. Following the need for better structuring capabilities, we introduce procedures as a means to group semantically related rules and to encapsulate their behavior. In addition to executing elementary updates, procedures can be called, thereby defining (sub)transactions which may perform complex computations. A Statelog procedure is a set of ECA-style Datalog rules together with an import/export interface. System-immanent frame and procedure rules ensure both propagation of facts and processing of results of committed subtransactions. Thus, Statelog programs specify a nested transaction model which allows a much more structured and natural modeling of complex transactions than previous approaches. Two equivalent semantics for a Statelog program P are given: (i) a logic programming style semantics by a compilation into a logic program, and (ii) a model-theoretic Kripke-style semantics. While (ii) serves as a conceptual model of active rule behavior and allows to reason about properties of the specified transactions, (i) -- together with the appropriate execution model -- yields an operational semantics and can be used as an implementation of P.

[PDF File] [PDF Slides of the talk] [PS File] [PS Slides of the talk]