This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Static Analysis of Logical Languages with Deferred Update Semantics
March/April 2003 (vol. 15 no. 2)
pp. 386-404

Abstract—Static analysis of declarative languages deals with the detection, at compile time, of program properties that can be used to better understand the program semantics and to improve the efficiency of program evaluation. In logical update languages, an interesting problem is the detection of conflicting updates, inserting and deleting the same fact, for transactions based on set-oriented updates and active rules. In this paper, we investigate this topic in the context of the U-Datalog language, a set-oriented update language for deductive databases [12], based on a deferred semantics. We first formally define relevant properties of U-Datalog programs, mainly related to update conflicts. Then, we prove that the defined properties are decidable and we propose an algorithm to detect such conditions. Finally, we show how the proposed techniques can be applied to other logical update languages. Our results are based on the concept of labeling and query-tree, first used in [30], [31], [32].

[1] S. Abiteboul and V. Vianu, "Procedural Languages for Database Queries and Updates, J. Computer and System Sciences, vol. 41, no. 2, pp. 181-229, Oct. 1990.
[2] S. Abiteboul and V. Vianu, "Datalog Extensions for Database Queries and Updates," J. Computer and System Sciences, vol. 43, no. 1, pp. 62-124, Aug. 1991.
[3] A. Aiken, J.M. Hellerstein, and J. Widom, “Static Analysis Techniques for Predicting the Behavior of Active Database Rules,” ACM Trans. Database Systems (ACM TODS), vol. 20, no. 1, pp. 3-41, 1995.
[4] C. Baral and J. Lobo, “Formal Characterization of Active Databases,” Proc. Int'l Workshop Logic in Databases, pp. 175-195, 1996.
[5] E. Baralis and J. Widom, “Better Static Rule Analysis for Active Database Systems,” Technical Report, Stanford Univ., 1995.
[6] E. Bertino and B. Catania, "Static Analysis in Intensional Databases in U-Datalog," Proc. ACM Symp. Principles Database Systems.New York: ACM, pp. 202-212, 1996.
[7] E. Bertino and B. Catania, “Analysis of the U-Datalog Expressive Power,” Manuscript, 2001.
[8] E. Bertino, B. Catania, V. Gervasi, A. Raffaetà, “A Logical Approach to Cooperative Information Systems,” J. Logic Programming, vol. 43, no. 1, pp. 15-48, 2000.
[9] E. Bertino, B. Catania, V. Gervasi, and A. Raffaetà, “Active-U-Datalog: Integrating Active Rules in a Logical Update Language,” Trans. and Change in Logic Databases, B. Freitag, H. Decker, M. Kifer, and A. Voronkov, eds., vol. 1472, pp. 106-132, 1998.
[10] E. Bertino, B. Catania, and R. Gori, “Enhancing the Expressive Power of the U-Datalog Language,” Theory and Practice of Logic Programming, vol. 1, no. 1, pp. 105-122, 2001.
[11] E. Bertino, B. Catania, and P. Perlasca, “Introducing Cooperation and Actions in Amalgamated Knowledge Bases,” Proc. Seventh Int'l Conf. Database Systems for Advanced Applications, pp. 108-115, 2001.
[12] E. Bertino, M. Martelli, and D. Montesi, “Transactions and Updates in Deductive Databases,” IEEE Trans. Knowledge and Data Eng., vol. 9, no. 5, pp. 784-797, 1997.
[13] E. Bertino, M. Martelli, and D. Montesi, “CLP(X) as a Deductive Database Language with Updates,” LNAI 660: Proc. Third Int'l Workshop Extensions of Logic Programming, 1992.
[14] N. Bidoit and S. Maabout, “A Model Theoretic Approach to Update Rule Programs,” Proc. Int'l Conf. Database Theory, pp. 173-187, 1997.
[15] A.J. Bonner and M. Kifer, "An Overview of Transaction Logic Programming," Theoretical Computer Science, vol. 133, no. 2, pp. 205-265, Oct. 1994.
[16] A. Bossi, M. Gabbrielli, G. Levi, and M.C. Meo, “Contributions to the Semantics of Open Logic Programs,” Proc. Int'l Conf. Fifth Generation Computer Systems, pp. 570-580, 1992.
[17] W. Chen, “Declarative Specification and Evaluation of Database Updates,” Proc. Int'l Conf. Deductive and Object Oriented Databases, pp. 147-166, 1991.
[18] W. Chen, "Declarative Updates of Relational Databases," ACM Trans. Database Systems, vol. 20, no. 1, pp. 42-70, Mar. 1995.
[19] D. Chimenti, The LDL System Prototype, IEEE Trans. on Knowledge and Data Eng., vol. 2, no. 1, March 1990, pp. 76-90.
[20] S. Flesca and S. Greco, “Declarative Semantics for Active Rules,” Theory and Practice of Logic Programming, vol. 1, no. 1, pp. 43-69, 2001.
[21] H. Gaifman, H.G. Mairson, Y. Sagiv, and M.Y. Vardi, “Undecidable Optimization Problems in Database Logic Programs,” Proc. Second IEEE Symp. Logic in Computer Science, pp. 106-115, 1987.
[22] M. Gabbrielli, R. Giacobazzi, and D. Montesi, “Modular Logic Programs over Finite Domains,” Proc. Eight Italian Conf. Logic Programming, pp. 663-678, 1993.
[23] G. Gottlob, G Moerkotte, and V.S. Subrahmian, “The PARK Semantics for Active Rules,” Proc. Fifth Int'l Conf. Extending Database Technology, (EDBT '96), 1996.
[24] G.G. Hillebrand, P.C. Kanellakis, H.G. Mairson, and M.Y. Vardi, “Undecidable Boundness Problems for Datalog Programs,” J. Logic Programming, vol. 25, no. 2, pp. 163-190, 1995.
[25] J. Jaffar and J.L. Lassez, "Constraint Logic Programming," Proc. ACM Principles of Programming Languages, pp. 111-119, 1987.
[26] M. Kifer, R. Ramakrishnan, and A. Silberschatz, “An Axiomatic Approach to Deciding Query Safety in Deductive Databases,” Proc. Eighth ACM SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 52-60, 1988.
[27] R. Krishnamurthy, S. Naqvi, and C. Zaniolo, “Database Transactions in$\big. \cal LDL$,” Proc. North American Conf., pp. 795-815, 1989.
[28] R. Krishnamurthy, R. Ramakrishnan, and O. Shmueli, “A Framework for Testing Safety and Effective Computability of Extended Datalog,” J. Computer and System Sciences, vol. 52, no. 1, pp. 100-124, 1996.
[29] G. Lausen, B. Ludascher, and W. May, “On Logical Foundations of Active Databases,” Logics for Databases and Information Systems J. Chomicki and G. Saake, eds., pp. 389-422, 1998.
[30] A.Y. Levy, “Irrelevance Reasoning in Knowledge Based Systems,” PhD Thesis, Dept. of Computer Science, Stanford Univ., also Technical Report N. STAN-CS-93-1482, Stanford Univ., 1993.
[31] A. Levy, I.S. Mumick, Y. Sagiv, and O. Shmueli, “Equivalence, Query Reachability and Satisfiability in Datalog Extensions,” Proc. 12th ACM SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 109-122, May 1993.
[32] A. Levy and Y. Sagiv, “Constraints and Redundancy in Datalog,” Proc. 11th ACM SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 67-80, June 1992.
[33] B. Lindsay, “DB2 Common Server: Technology, Progress and Directions,” Proc. 21st Int'l Conf. Very Large Data Bases, pp. 694-695, 1995.
[34] G. Lausen and B. Ludascher, “Updates by Reasoning about States,” Proc. Second Int'l East/West Database Workshop, 1994.
[35] B. Ludascher and U. Hamann, “A Logical Framework for Active Rules,” Proc. Int'l Conf. Management of Data (COMAD), 1995.
[36] S. Manchanda, “Declarative Expression of Deductive Database Updates,” Proc. SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 93-100, 1989.
[37] S. Manchanda and D.S. Warren, "A Logic-Based Language for Database Updates," J. Minker, ed., Foundations of Logic Programming and Deductive Databases.Los Altos, Calif.: Morgan Kaufmann, 1988.
[38] J. Melton and A.R. Simon, Understanding the New SQL: A Complete Guide, Morgan Kaufmann, San Francisco, 1993.
[39] S. Naqvi and R. Krishnamurthy, "Database Updates in Logic Programming," Proc. ACM Symp. Principles of Database Systems, pp. 251-262, 1988.
[40] S. Naqvi and S. Tsur, A Logical Language for Data and Knowledge Bases.New York: Computer Science Press, 1989.
[41] Y. Sagiv, “Optimizing Datalog Programs,” Foundations of Deductive Databases and Logic Programming, J. Minker, ed., pp. 659-698, Morgan-Kaufmann, 1988. Extended abstract of this paper appears in Proc. ACM Symp. Principles of Database Systems (PODS), pp. 237-249, 1987.
[42] O. Shmueli, “Equivalence of Datalog Queries is Undecidable,” J. Logic Programming, vol. 15, no. 3, pp. 231-241, 1993.
[43] J. Ullman, Principles of Database and Knowledge-Base Systems, vol. 1. Computer Science Press, 1988.
[44] M.Y. Vardi, “Automata Theory for Database Theoreticians,” Proc. Ninth ACM SIGACT-SIGMOD-SIGART Symp. Principles of Database Systems, pp. 83-92, 1989.
[45] C.-A. Wichert and B. Freitag, “Capturing Database Dynamics by Deferred Updates,” Proc. Int'l Conf. Logic Programming, pp. 226-240, 1997.
[46] C.-A. Wichert, B. Freitag, and A. Fent, “Logical Transactions and Serializability,” Trans. and Change in Logic Databases, B. Freitag, H. Decker, M. Kifer, and A. Voronkov, eds., 1998.
[47] J. Widom, The Starburst Active Database Rule System IEEE Trans. Knowledge and Data Eng., vol. 8, no. 4, pp. 583-595, Aug. 1996.
[48] Active Databases: Triggers and rules for Advanced Database Processing. J. Widom and S. Ceri eds., Morgan-Kaufman, 1996.
[49] J. Widom and S.J. Finkelstein,"Set-oriented production rules in relational database systems," Proc. 1990 ACM SIGMOD Int'l Conf. Management of Data, pp. 259-270, 1990.
[50] C. Zaniolo, “A Unified Semantics for Active and Databases,” Proc. Int'l Workshop Rules in Database Systems, pp. 271-287, 1993.

Index Terms:
Database system, update, logical language, static analysis.
Citation:
Barbara Catania, Elisa Bertino, "Static Analysis of Logical Languages with Deferred Update Semantics," IEEE Transactions on Knowledge and Data Engineering, vol. 15, no. 2, pp. 386-404, March-April 2003, doi:10.1109/TKDE.2003.1185841
Usage of this product signifies your acceptance of the Terms of Use.