Skip to main content

Concurrent execution of Prolog transaction

  • Applications
  • Conference paper
  • First Online:
Logic Programming '87 (LP 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 315))

Included in the following conference series:

  • 127 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ackerman, W.B. and Dennis, J.B., "VAL — Value-Oriented Algorithmic Language," LCS/TR-218, MIT, 1979.

    Google Scholar 

  2. Bernstein, P.A. and Goodman, N., "Concurrency Control in Distributed Database Systems," ACM Computing Surveys, Vol.13, No.2, 1981.

    Google Scholar 

  3. Bernstein, P.A. and Goodman, N., "Multiversion Concurrency Control — Theory and Algorithms," ACM TODS, Vol.8, No.4, 1983.

    Google Scholar 

  4. Bernstein, P.A. et al., "Concurrency Control and Recovery in Database Systems," Addison-Wesley, 1986.

    Google Scholar 

  5. Codasyl, "Report of the CODASYL Data Definition Language Committee," Journal of Development, 1973.

    Google Scholar 

  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. Clocksin, W.F. and Mellish, C.S., "Programming in Prolog," Springer-Verlag, 1984.

    Google Scholar 

  8. Codd, E.F., "A Relational Model of Data for Large Shared Data Banks," CACM, Vol.13, No.6, 1970.

    Google Scholar 

  9. Date, C.J., "Introduction to Database Systems," Addison-Wesley, 1983.

    Google Scholar 

  10. CODASYL DBTG Committee, "CODASYL Data Description Language," Journal of Development, 1973.

    Google Scholar 

  11. Ferrier, A. and Stangret, C., "Heterogeneity in the Distributed Database Management System Sirius-Delta," Proc. VLDB 82, 1982.

    Google Scholar 

  12. Gray, J., "The Notions of Consistency and Predicate Locks in a Database System," CACM, Vol.19, No.11, 1976.

    Google Scholar 

  13. Gray, J., "Notes on Data Base Operating Systems," Operating Systems: An advanced Course (Bayer, R. ed.), Springer-Verlag, 1979.

    Google Scholar 

  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. Kowalski, R.A., "Logic for Problem Solving," Elsevier North Holland, 1979.

    Google Scholar 

  16. Landers, T. and Rosenberg, R.L., "An Overview of Multibase," North-Holland, 1982.

    Google Scholar 

  17. Lloyd, J.W., "Foundation of Logic Programming," Springer-Verlag, 1984.

    Google Scholar 

  18. Moss, J.E.B., "Nested Transactions," MIT Press, 1985.

    Google Scholar 

  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. Olle, T., "The CODASYL Approach to Data Base Management," John Wiley and Sons, 1978.

    Google Scholar 

  21. Shapiro, E., "Concurrent Prolog: A progress Report," Foundation of Artificial Intelligence, Springer-Verlag, 1986.

    Google Scholar 

  22. Shapiro, E., "The Art of Prolog," MIT Press, 1986.

    Google Scholar 

  23. Takizawa, M., "Distributed Database System — JDDBS," JARECT, Vol.7, Ohmsha and North-Holland, 1983.

    Google Scholar 

  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. Takizawa, M., "Highly Reliable Broadcast Communication Protocol," Proc. of IEEE COMPSAC, Tokyo, 1987, pp.731–740.

    Google Scholar 

  26. Takizawa, M., "Cluster Control Protocol for Highly Reliable Broadcast Communication," Proc. of the IFIP Conf. on Distributed Processing, Amsterdam, 1987.

    Google Scholar 

  27. Ueda, K., "Guarded Horn Clauses," Lecture Notes in Computer Science, 221, Springer-Verlag, 1986.

    Google Scholar 

  28. Ullman, D., "Implementation of Logical Query Language for Databases," ACM TODS, Vol.10, No.3, 1985, pp.289–321.

    Google Scholar 

  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. "Data Processing — Open Systems Interconnection — Basic Reference Model," DP7498, 1980.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Koichi Furukawa Hozumi Tanaka Tetsunosuke Fujisaki

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Takizawa, M., Miyajima, K. (1988). Concurrent execution of Prolog transaction. In: Furukawa, K., Tanaka, H., Fujisaki, T. (eds) Logic Programming '87. LP 1987. Lecture Notes in Computer Science, vol 315. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19426-6_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-19426-6_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19426-2

  • Online ISBN: 978-3-540-39267-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics