Abstract
The branching-time transformation technique has proven to be an efficient approach for implementing functional programming languages. In this paper we demonstrate that such a technique can also be defined for logic programming languages. More specifically, we first introduce Branching Datalog, a language that can be considered as the basis for branching-temporal deductive databases. We then present a transformation algorithm from Chain Datalog programs to the class of unary Branching Datalog programs with at most one IDB atom in the body of each clause. In this way, we obtain a novel implementation approach for Chain Datalog, shedding at the same time new light on the power of branching-time logic programming.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Afrati, F. and Cosmadakis, S. (1989). Expressiveness of Restricted Recursive Queries. In Proc. 21st ACM Symp. on Theory of Computing
Afrati, F., Gergatsoulis, M., and Katzouraki, M. (1996). On Transformations into Linear Database Logic Programs. In D. Bjørner, M. Broy and I. Pottosin (Eds.), Perspectives of Systems Informatics (PSI'96), Proceedings (pp. 433-444).
Afrati, F. and Papadimitriou, C.H. (1987). The Parallel Complexity of Simple Chain Queries. In Proc. 6th ACM Symposium on Principles of Database Systems (pp. 210-213).
Afrati, F. and Papadimitriou, C.H. (1993). Parallel Complexity of Simple Logic Programs, Journal of the ACM, 40(3), 891-916.
Baudinet, M., Chomicki, J., and Wolper, P. (1993). Temporal Deductive Databases. In L.F. del Cerro and M. Penttonen (Eds.), Temporal Databases: Theory, Design, and Implementation (pp. 294-320). The Benjamin/Cummings Publishing Company, Inc.
Beeri, C. and Ramakrishnan, R. (1991). On the power of magic, The Journal of Logic Programming, 10(1-4), 255-299.
Chomicki, J. (1995). Depth-Bounded Bottom-Up evaluation of Logic Programs, The Journal of Logic Programming, 25(1), 1-31.
Dong, G. and Ginsburg, S. (1995). On Decompositions of Chain Datalog Programs into ρ (Left-)Linear 1-Rule Components, The Journal of Logic Programming, 23(3), 203-236.
Du, W. and Wadge, W.W. (1990). The Eductive Implementation of a Three-dimensional Spreadsheet, Software-Practice and Experience, 20(11), 1097-1114.
Faustini, A. and Wadge, W. (1987). An Eductive Interpreter for the Language pLucid. In Proceedings of the SIGPLAN 87 Conference on Interpreters and Interpretive Techniques (SIGPLAN Notices 22(7)) (pp. 86-91).
Gergatsoulis, M. (2001). Temporal and Modal Logic Programming Languages. In A. Kent and J.G. Williams (Eds.), Encyclopedia of Microcomputers, Vol. 27, Suppl. 6. Marcel Decker, Inc., pp. 393-408.
Gergatsoulis, M. and Katzouraki, M. (1994). Unfold/Fold Transformations for Definite Clause Programs. In M. Hermenegildo and J. Penjam (Eds.), Programming Language Implementation and Logic Programming (PLILP'94), Proceedings (pp. 340-354).
Gergatsoulis, M. and Spyropoulos, C. (1998). Transformation Techniques for Branching-Time Logic Programs. In W.W. Wadge (Ed.), Proc. of the 11th International Symposium on Languages for Intensional Programming (ISLIP'98), May 7–9, Palo Alto, California, USA (pp. 48-63).
Greco, S., Saccà, D., and Zaniolo, C. (1999). Grammars and Automata to Optimize Chain Logic Queries, International Journal on Foundations of Computer Science, 10(3), 349-372.
Haddad, R.W. and Naughton, J.F. (1988). Counting Methods for Cyclic Relations. In Proc. 7th ACM SIGACTSIGMOD-SIGART Symposium on Principles of Database Systems (pp. 333-340).
Jones, S.L.P. (1987). The Implementation of Functional Programming Languages. Prentice-Hall.
Lloyd, J.W. (1987). Foundations of Logic Programming. Springer-Verlag, Germany.
Naughton, J.F. and Ramakrishnan, R. (1991). Bottom-Up Evaluation of Logic Programs. In J.L. Lasser and G. Plotkin (Eds.), Computational Logic. Essays in the Honor of Alan Robinson (pp. 640-699). MIT Press.
Orgun, M.A. (1991). Intensional Logic Programming. Ph.D. Thesis, Dept. of Computer Science, University of Victoria, Canada.
Orgun, M.A. (1996). On Temporal Deductive Databases, Computational Intelligence, 12(2), 235-259.
Orgun, M.A. and Ma,W. (1994). An Overview of Temporal and Modal Logic Programming. In D.M. Gabbay and H.J. Ohlbach (Eds.), Proc. of the First International Conference on Temporal Logics (ICTL'94) (pp. 445-479).
Proietti, M. and Pettorossi, A. (1990). Synthesis of Eureka Predicates for Developing Logic Programs. In Proc. of the 3rd European Symposium on Programming (pp. 306-325).
Rondogiannis, P., Gergatsoulis, M., and Panayiotopoulos, T. (1998). Branching-Time Logic Programming: The Language Cactus and Its Applications, Computer Languages, 24(3), 155-178.
Rondogiannis, P. and Wadge, W.W. (1997). First-Order Functional Languages and Intensional Logic, Journal of Functional Programming, 7(1), 73-101.
Rondogiannis, P. and Wadge, W.W. (1999). Higher-Order Functional Languages and Intensional Logic, Journal of Functional Programming, 9(5), 527-564.
Saccà, D. and Zaniolo, C. (1988). The Generalized Counting Method for Recursive Logic Queries, Theoretical Computer Science, 4(4), 187-220.
Sippu, S. and Soisalon-Soininen, E. (1996). An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries, Journal of the ACM, 43(6), 1046-1088.
Tamaki, H. and Sato, T. (1984). Unfold/Fold Transformations of Logic Programs. In S.-Å. Tarnlund (Ed.), Proc. of the Second International Conference on Logic Programming (pp. 127-138).
Ullman, J.D. (1989). Principles of Database and Knowledge-Base Systems, Vols. I & II. Computer Science Press, USA.
Ullman, J.D. and Gelder, A.V. (1988). Parallel Complexity of Logical Query Programs, Algorithmica, 3, 5-42.
Wadge, W.W. (1991). Higher-Order Lucid. In Proceedings of the Fourth International Symposium on Lucid and Intensional Programming.
Yaghi, A. (1984). The Intensional Implementation Technique for Functional Languages. Ph.D. Thesis, Dept. of Computer Science, University of Warwick, Coventry, UK.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Rondogiannis, P., Gergatsoulis, M. The Branching-Time Transformation Technique for Chain Datalog Programs. Journal of Intelligent Information Systems 17, 71–94 (2001). https://doi.org/10.1023/A:1012502800961
Issue Date:
DOI: https://doi.org/10.1023/A:1012502800961