Abstract
Over the last 15 years, database management systems (DBMSs) have been enhanced by the addition of rule-based programming to obtain active DBMSs. One of the greatest challenges in this area is to formally account for all the aspects of active behavior using a uniform formalism. In this paper, we formalize active relational databases within the framework of the situation calculus by uniformly accounting for them using theories embodying non-Markovian control in the situation calculus. We call these theories active relational theories and use them to capture the dynamics of active databases. Transaction processing and rule execution is modelled as a theorem proving task using active relational theories as background axioms. We show that the major components of an ADBMS, namely the rule sets and the execution models, may be given a clear semantics using active relational theories. More precisely: we represent the rule set as a program written in a suitable version of the situation calculus based language ConGolog; then we extend an existing situation calculus based framework for modelling advanced transaction models to one for modelling the execution models of active behaviors.
Similar content being viewed by others
Notes
The terminology internal versus external action is also used in Lynch et al. (1994), though with a different meaning.
Transactions may be concatenated to form a longer sequence of actions.
We omit the foundational axioms, precondition axioms for external actions, and dependency axioms; they play no role in the sequel of this paper. Furthermore, we assume classical flat transactions as the underlying transaction mechanism (Kiringa 2001).
The ConGolog programs we are referring to in this paper are called well formed. The formal definition of these programs is given in the longer version of this paper (Kiringa 2007).
Readers from Knowledge Representation might get confused by the qualification “Knowledge” in the title of this section. It seems that a title like “Specifying Events” or “Specifying Active Relational Theories” would be a more appropriate title of the section. However, due to Paton (1999), “Knowledge model” is now prevalent in active databases to denote all aspects of active behavior related to events.
For example, in Starburst (Widom and Ceri 1996), r will be considered in the future course of actions only from the time point where it last stopped being considered.
They were first introduced in the HiPAC system (Hsu et al. 1988) and have since been widely used in most ADBMS proposals (Paton 1999). Our presentation is slightly more general than the original one, in which the relationships between coupling modes and execution models, and those between transactions and execution models were not conceptually separated.
This constraint is in fact stricter than a similar constraint found in Hsu et al. (1988), where it is stated that “A cannot be executed before C is evaluated”. The formulation of Hsu et al. (1988), however, does not rule out simultaneous action executions and condition evaluations, a situation that obviously can lead to disastrous behaviors.
Notice that this semantics means that transitions may in fact be big leaps involving many actions. This may prevent some desirable concurrency. We leave this problem out of the scope of this document.
This sentence expresses the so-called confluence property of active rules. This property ensures that whenever a rule program reaches two final database states, then the two states are the same, independently of the order of the execution of non-prioritized rules.
References
Aiken, A., Hellerstein, J. M., & Widom, J. (1995). Static analysis techniques for predicting the behaviour of active database rules. ACM Transaction on Database Systems, 20, 3–41.
Arenas, M., & Bertossi, L. (1998). Hypothetical temporal queries in databases. In A. Borgida, V. Chaudhuri, & V. Staudt (Eds.), Proceedings of the ACM SIGMOD/PODS 5th international workshop on knowledge representation meets Databases (pp. 4.1–4.8). http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-10/.
Bailey, J., & Mikulás, S. (2001). Expressiveness issues and decision problems for active database event queries. In Proceedings of the international conference on database theory (pp. 68–82). London, UK: Springer.
Baral, C., Lobo, J., & Trajcevski, G. (1997). Formal characterizations of active databases: Part II. In Proceedings of the international conference on deductive and object-oriented databases (pp. 247–264). Montreux, Switzerland: Springer.
Baralis, E., Ceri, S., & Widom J. (1993). Better termination analysis for active databases. In Proceedings of the international workshop on rules in database systems (pp. 163–179). Edinburgh, Scotland: Springer.
Bertossi, L., Pinto, J., & Valdivia, R. (1999). Specifying database transactions and active rules in the situation calculus. In H. Levesque & F. Pirri (Eds.), Logical foundations of cognitive agents. Contributions in Honor of Ray Reiter (pp. 41–56). New-York, NY: Springer.
Bonner, A., & Kifer, M. (1992). Transaction logic programming. Technical report, University of Toronto.
Chakravarthy, S., & Mishra, D. (1991). An event specification language (snoop) for active databases and its detection. Technical Report UF-CIS-TR-91-23, University of Florida.
Coupaye, T., & Collet, C. (1995). Denotational semantics for an active rule execution model. In Proceedings of the international workshop on rules in database systems (pp. 36–50). Glyfada, Athens, Greece: Springer.
De Giacomo, G., Lespérance, Y., & Levesque, H. (1997). Reasoning about concurrent execution, prioritized interrupts, and exogeneous actions in the situation calculus. In Proceedings of the international joint conference on artificial intelligence (pp. 1221–1226). Nagoya, Japan: Morgan Kaufmann.
De Giacomo, G., Lespérance, Y., & Levesque, H. J. (2000). Congolog, a concurrent programming language based on the situation calculus: Foundations. Artificial Intelligence, 121(1-2), 109–169.
Fernandes, A. A. A., Williams, M. H., & Paton, N. W. (1997). A logic-based integration of active and deductive databases. New Generation Computing, 15(2), 205–244.
Fraternali, P., & Tanca, L. (1995). A structured approach to the definition of the semantics of active databases. ACM Transactions on Database Systems, 20, 414–471.
Gabaldon, A. (2002). Non-markovian control in the situation calculus. In Proceedings of the national conference on artificial intelligence and the conference on innovative applications of artificial intelligence (pp. 519–524). Edmonton, Alberta, Canada: AAAI Press.
Gatziu, S., & Dittrich, K. R. (1994). Detecting composite events in active database systems using petri nets. In: Proceeding on research issues in data engineering: Active database systems (RIDE’94) (pp. 2–9). Houston, Texas: IEEE.
Gelfond, M., & Lifschitz, V. (1998). The stable model semantics for logic programming. In Proceedings the international conference on logic programming (pp. 1070–1080). Cambridge, MA, USA: MIT Press.
Guessoum, A., & Lloyd, J. W. (1990). Updating knowledge bases. New Generation Computing, 8(1), 71–89.
Harrisson, J. V., & Dietrich, S. W. (1993). Integrating active and deductive rules. In Proceedings of the international workshop on rules in database systems (pp. 288–305). Edinburgh, Scotland: Springer.
Hsu, M., Ladin, R., & McCarthy, R. (1988). An execution model for active database management systems. In Proceedings of the international conference on data and knowledge bases (pp. 171–179). Jerusalem, Israel: Morgan Kaufmann.
Hull, R., & Jacobs, D. (1991). Language constructs for programming active databases. In Proceedings of the international conference on very large data bases (pp. 455–467). Barcelona, Spain: Morgan Kaufmann.
Kiringa, I. (2001). Simulation of advanced transaction models using GOLOG. In: Proceedings of the workshop on data bases and programming languages (pp. 318–341). Frascati, Italy: Springer.
Kiringa, I. (2002). Specifying event logics for active databases. In Proceedings of the international workshop on knowledge representation meets databases. Toulouse, France: CEUR-WS.org.
Kiringa, I. (2007). Specifying active databases as non-markovian theories of actions. Available at http://www.site.uottawa.ca/~kiringa/ADB-2007.
Kiringa, I., & Reiter, R. (2002). Specifying semantics of active databases in the situation calculus (extended abstract). In Proceedings of the workshop on data bases and programming languages (pp. 110–129). Postdam, Germany: Springer.
Levesque, H., Reiter, R., Lespérance, Y., Lin, F., & Scherl, R. B. (1997). Golog: A logic programming language for dynamic domains. Journal of Logic Programming: Special Issue on Actions, 31(1-3), 59–83.
Lloyd, J. W. (1988). Foundations of logic programming (2nd, extended ed.). Berlin: Springer.
Ludäscher, B., Hamann, U., & Lausen, G. (1995). A logical framework for active rules. In Proceedings of the international conference on management of data. Pune, India: Tata.
Lynch, N., Merritt, M. M., Weihl, W., & Fekete, A. (1994). Atomic transactions. San Mateo, USA: Morgan Kaufmann.
Manna, Z., & Pnueli, A. (1991). The temporal logic of reactive and concurrent systems. New York: Springer.
McCarthy, J. (1963). Situations, actions and causal laws. Technical report, Stanford University.
McCarthy, D., & Dayal, U. (1989). The architecture of an acctive data base management system. In Proceedings of the ACM SIGMOD international conference on management of data (pp. 215–224). Portland, USA: ACM Press.
Minker, J. (1996). Logic and databases: A 20 year retrospective. In Proceedings of the international workshop on logic in databases (pp. 3–57). San Miniato, Italy: Springer.
Paton, N. W. (1999). Active rules in database systems. New York: Springer.
Paton, N. W., Campin, J., Fernandes, A. A. A., & Williams, M. H. (1995). Formal specifications of active database functionality: A survey. In Proceedings of the international workshop on rules in database systems (pp. 21–35). Glyfada, Athens, Greece: Springer.
Picouet, P., & Vianu, V. (1995). Semantics and expressiveness issues in active databases. In Proceedings of the ACM symposium on principles of database systems (pp. 126–138). San José, USA: ACM Press.
Picouet, P., & Vianu, V. (1997). Expressiveness and complexity active databases. In Proceedings of the international conference on database theory (pp. 155–172). Delphi, Greece: Springer.
Reddi, S., Poulovassilis, A., & Small, C. (1999). Pfl: An active functional dbpl. In N. W. Paton (Ed.), Active rules in databases systems (pp. 297–308). New York: Springer.
Reiter, R. (1984). Towards a logical reconstruction of relational database theory. In M. Brodie, J. Mylopoulos, & J. Schmidt (Eds.), On conceptual modelling (pp. 163–189). New York: Springer.
Reiter, R. (1995). On specifying database updates. Journal of Logic Programming, 25, 25–91.
Reiter, R. (2001). Knowledge in action: Logical foundations for describing and implementing dynamical systems. Cambridge: MIT Press.
Tennent, R. D. (1976). The denotational semantics of programming languages. Communications of the ACM, 19, 437–453.
Van Gelder, A., Ross, K. A., & Schlipf, J. S. (1988). Unfounded sets and well-founded semantics for general programs. In Proceedings the ACM symposium on principles of database systems (pp. 221–230). Austin, Texas: ACM Press.
Widom, J. (1992). A denotational semantics for the starburst production rule language. SIGMOD RECORD, 21(3), 4–9.
Widom, J. (1993). Deductive and active databases: Two paradigms or ends of a spectrum? In N. W. Paton & H. Williams (Eds.), Rules in database systems (pp. 306–315). New-York: Springer.
Widom, J., & Ceri, S. (1996). Active database systems: Triggers and rules for advanced database processing. San Francisco: Morgan Kaufmann.
Winslett, M. (1990). Updating logical databases. Cambridge, MA: Cambridge University Press.
Zaniolo, C. (1993). A unified semantics for active and deductive databases. In N. W. Paton & H. Williams (Eds.), Rules in database systems (pp. 271–287). New-York: Springer.
Zaniolo, C. (1995). Active database rules with transaction-conscious stable-model semantics. In Proceedings of the international conference on deductive and object-oriented databases (pp. 55–72). Berlin: Springer.
Zimmer, D., & Unland, R. (2001). On the semantics of complex events in active database managements systems. In Proceedings of the international conference on data engineering (pp. 392–399). Sydney, Australia: IEEE Computer Society.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kiringa, I. Specifying active databases as non-Markovian theories of actions. J Intell Inf Syst 32, 105–138 (2009). https://doi.org/10.1007/s10844-007-0050-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10844-007-0050-3