Active-U-Datalog: Integrating active rules in a logical update language [chapter]

Elisa Bertino, Barbara Catania, Vincenzo Gervasi, Alessandra Raffaetà
<span title="">1998</span> <i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
Deductive database technology represents an important step towards the goal of developing highly-declarative database programming languages. In order to make deductive databases a practical technology, deductive rules have to be extended to provide a dynamic behavior. In particular, current applications require not only a support for updates and transactions but also the ability to automatically react to the occurrence of particular events. This is possible by integrating typical deductive
more &raquo; ... , whose execution is user-dependent, with active rules, whose execution is event-dependent. Current solutions to this problem are not completely satisfactory. In particular, they often lack a clear semantics, guaranteeing termination, confluence and efficient evaluation. The aim of this paper is to propose a new language for integrating active rules, deductive rules and updates in a uniform logical context. The language we propose is based on the U-Datalog language [9], and extends it with support for active rules, modeled according to the PARK semantics [23] . The resulting language allows the representation of several dynamic aspects, such as transaction execution, reactive behavior and update propagation, in a uniform logical framework, admitting a clear and flexible semantics. 108 Elisa Bertino et al. management of the database, providing more powerful languages for defining data, rules, integrity constraints, and for expressing queries. In order to make deductive databases a practical technology, their formal foundations have to be extended to deal with dynamic aspects, proper of any real database system. Dynamicity concerns at least two different topics: -An update and a transaction language should be provided and typical atomicity, consistency, isolation, and durability (ACID) properties have to be guaranteed [24] . This requirement has led to the definition of several languages integrating logic and updates [1, 2, 9, 10, 15, 16, 31, 32, 35] . In general, all those proposals are based on including special atoms denoting updates in (typically Datalog) rules. The proposed approaches differ for several aspects, such as the semantics assigned to the resulting language (declarative vs. operational), the evaluation techniques, the update position (head vs. body of the rules), the ability to model non-determinism and parallelism, the conflict resolution policy, and the ability to model transactions. -Consistency of the database has to be guaranteed. This is possible by specifying appropriate integrity constraints, to be checked after any database change. In a more advanced setting, one could ask that a semantic-aware database should be able to react correctly to changes to the data it contains, by accordingly updating other data, in order to maintain consistency. Besides maintaining integrity constraints, these capabilities are desirable in order to automatize common procedures (e.g., having an order shipped when the stock is low, or applying a discount when the stock is too high). This need has led to the design of active databases, in which events of various kinds (e.g., a query, an update) may cause the firing of so-called active rules.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1007/bfb0055497</a> <a target="_blank" rel="external noopener" href="">fatcat:ocesboh7ujbfjkvj7zrknhkmka</a> </span>
<a target="_blank" rel="noopener" href="" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> </button> </a>