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. [.ps.gz] [Slides of the talk]