Concurrent execution of Prolog transaction

  • Makoto Takizawa
  • Katsumi Miyajima
Part of the Lecture Notes in Computer Science book series (LNCS, volume 315)


Information systems are composed of multiple heterogeneous database systems and workstations interconnected by communication networks. Users want to manipulate data in multiple database systems in a common form. In our system, database systems are viewed to be fact base systems (FBSs), which provide sets of Prolog ground unit clauses, and retrieval and update operations on them. Transactions composed of multiple update operations on facts are written as Prolog rule clauses. In the Prolog system, atoms in a goal clause are selected from left to right. This means read/write operations on facts are sequentially executed. In this paper, we try to execute the transaction in parallel by multiple FBSs. In the sequence of atoms in the Prolog transaction, we define two types of meaningful sequences, i.e. conflict and flow ones. In this paper, we present how to decompose transactions into subtransactions, each of which is locally executed by one FBS, so as to preserve the meaningful sequences in the transaction. Also, we show that any parallel execution of the subtransactions is free of deadlock on send-receive relations.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Ackerman, W.B. and Dennis, J.B., "VAL — Value-Oriented Algorithmic Language," LCS/TR-218, MIT, 1979.Google Scholar
  2. [2]
    Bernstein, P.A. and Goodman, N., "Concurrency Control in Distributed Database Systems," ACM Computing Surveys, Vol.13, No.2, 1981.Google Scholar
  3. [3]
    Bernstein, P.A. and Goodman, N., "Multiversion Concurrency Control — Theory and Algorithms," ACM TODS, Vol.8, No.4, 1983.Google Scholar
  4. [4]
    Bernstein, P.A. et al., "Concurrency Control and Recovery in Database Systems," Addison-Wesley, 1986.Google Scholar
  5. [5]
    Codasyl, "Report of the CODASYL Data Definition Language Committee," Journal of Development, 1973.Google Scholar
  6. [6]
    Clark, K.L. and Gregory, S., "PARLOG: Parallel Programming in Logic," Research Report DOC 84/4, Imperial College of Science and Technology, London, 1984.Google Scholar
  7. [7]
    Clocksin, W.F. and Mellish, C.S., "Programming in Prolog," Springer-Verlag, 1984.Google Scholar
  8. [8]
    Codd, E.F., "A Relational Model of Data for Large Shared Data Banks," CACM, Vol.13, No.6, 1970.Google Scholar
  9. [9]
    Date, C.J., "Introduction to Database Systems," Addison-Wesley, 1983.Google Scholar
  10. [10]
    CODASYL DBTG Committee, "CODASYL Data Description Language," Journal of Development, 1973.Google Scholar
  11. [11]
    Ferrier, A. and Stangret, C., "Heterogeneity in the Distributed Database Management System Sirius-Delta," Proc. VLDB 82, 1982.Google Scholar
  12. [12]
    Gray, J., "The Notions of Consistency and Predicate Locks in a Database System," CACM, Vol.19, No.11, 1976.Google Scholar
  13. [13]
    Gray, J., "Notes on Data Base Operating Systems," Operating Systems: An advanced Course (Bayer, R. ed.), Springer-Verlag, 1979.Google Scholar
  14. [14]
    Heimbigner, D. and McLeod, D. "A Federated Architecture for Information Management," ACM TOIS, Vol.3, No.3, 1985, pp.253–278.Google Scholar
  15. [15]
    Kowalski, R.A., "Logic for Problem Solving," Elsevier North Holland, 1979.Google Scholar
  16. [16]
    Landers, T. and Rosenberg, R.L., "An Overview of Multibase," North-Holland, 1982.Google Scholar
  17. [17]
    Lloyd, J.W., "Foundation of Logic Programming," Springer-Verlag, 1984.Google Scholar
  18. [18]
    Moss, J.E.B., "Nested Transactions," MIT Press, 1985.Google Scholar
  19. [19]
    Naish, L., Thom, J.A., and Ramamohanarao, "Concurrent Database Updates in Prolog," Proc. of the Fourth International Conf. on Logic Programming, 1987, pp.178–195.Google Scholar
  20. [20]
    Olle, T., "The CODASYL Approach to Data Base Management," John Wiley and Sons, 1978.Google Scholar
  21. [21]
    Shapiro, E., "Concurrent Prolog: A progress Report," Foundation of Artificial Intelligence, Springer-Verlag, 1986.Google Scholar
  22. [22]
    Shapiro, E., "The Art of Prolog," MIT Press, 1986.Google Scholar
  23. [23]
    Takizawa, M., "Distributed Database System — JDDBS," JARECT, Vol.7, Ohmsha and North-Holland, 1983.Google Scholar
  24. [24]
    Takizawa, M., Ito, H., and Moriya, K., "Logic Interface System on the Navigational Database System," Lecture Notes in Computer Science, No.264, 1987, pp.70–80.Google Scholar
  25. [25]
    Takizawa, M., "Highly Reliable Broadcast Communication Protocol," Proc. of IEEE COMPSAC, Tokyo, 1987, pp.731–740.Google Scholar
  26. [26]
    Takizawa, M., "Cluster Control Protocol for Highly Reliable Broadcast Communication," Proc. of the IFIP Conf. on Distributed Processing, Amsterdam, 1987.Google Scholar
  27. [27]
    Ueda, K., "Guarded Horn Clauses," Lecture Notes in Computer Science, 221, Springer-Verlag, 1986.Google Scholar
  28. [28]
    Ullman, D., "Implementation of Logical Query Language for Databases," ACM TODS, Vol.10, No.3, 1985, pp.289–321.Google Scholar
  29. [29]
    Quarterman, J.S., Silberschatz, A., and van Renesse, R., "4.2BSD and 4.3BSD as Examples of the UNIX System," ACM Computing Surveys, Vol.17, No.4, 1985, pp.379–418.Google Scholar
  30. [30]
    "Data Processing — Open Systems Interconnection — Basic Reference Model," DP7498, 1980.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Makoto Takizawa
    • 1
  • Katsumi Miyajima
    • 1
  1. 1.Department of Information and Systems EngineeringTokyo Denki UniversitySaitamaJapan

Personalised recommendations