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.
Preview
Unable to display preview. Download preview PDF.
References
Ackerman, W.B. and Dennis, J.B., "VAL — Value-Oriented Algorithmic Language," LCS/TR-218, MIT, 1979.
Bernstein, P.A. and Goodman, N., "Concurrency Control in Distributed Database Systems," ACM Computing Surveys, Vol.13, No.2, 1981.
Bernstein, P.A. and Goodman, N., "Multiversion Concurrency Control — Theory and Algorithms," ACM TODS, Vol.8, No.4, 1983.
Bernstein, P.A. et al., "Concurrency Control and Recovery in Database Systems," Addison-Wesley, 1986.
Codasyl, "Report of the CODASYL Data Definition Language Committee," Journal of Development, 1973.
Clark, K.L. and Gregory, S., "PARLOG: Parallel Programming in Logic," Research Report DOC 84/4, Imperial College of Science and Technology, London, 1984.
Clocksin, W.F. and Mellish, C.S., "Programming in Prolog," Springer-Verlag, 1984.
Codd, E.F., "A Relational Model of Data for Large Shared Data Banks," CACM, Vol.13, No.6, 1970.
Date, C.J., "Introduction to Database Systems," Addison-Wesley, 1983.
CODASYL DBTG Committee, "CODASYL Data Description Language," Journal of Development, 1973.
Ferrier, A. and Stangret, C., "Heterogeneity in the Distributed Database Management System Sirius-Delta," Proc. VLDB 82, 1982.
Gray, J., "The Notions of Consistency and Predicate Locks in a Database System," CACM, Vol.19, No.11, 1976.
Gray, J., "Notes on Data Base Operating Systems," Operating Systems: An advanced Course (Bayer, R. ed.), Springer-Verlag, 1979.
Heimbigner, D. and McLeod, D. "A Federated Architecture for Information Management," ACM TOIS, Vol.3, No.3, 1985, pp.253–278.
Kowalski, R.A., "Logic for Problem Solving," Elsevier North Holland, 1979.
Landers, T. and Rosenberg, R.L., "An Overview of Multibase," North-Holland, 1982.
Lloyd, J.W., "Foundation of Logic Programming," Springer-Verlag, 1984.
Moss, J.E.B., "Nested Transactions," MIT Press, 1985.
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.
Olle, T., "The CODASYL Approach to Data Base Management," John Wiley and Sons, 1978.
Shapiro, E., "Concurrent Prolog: A progress Report," Foundation of Artificial Intelligence, Springer-Verlag, 1986.
Shapiro, E., "The Art of Prolog," MIT Press, 1986.
Takizawa, M., "Distributed Database System — JDDBS," JARECT, Vol.7, Ohmsha and North-Holland, 1983.
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.
Takizawa, M., "Highly Reliable Broadcast Communication Protocol," Proc. of IEEE COMPSAC, Tokyo, 1987, pp.731–740.
Takizawa, M., "Cluster Control Protocol for Highly Reliable Broadcast Communication," Proc. of the IFIP Conf. on Distributed Processing, Amsterdam, 1987.
Ueda, K., "Guarded Horn Clauses," Lecture Notes in Computer Science, 221, Springer-Verlag, 1986.
Ullman, D., "Implementation of Logical Query Language for Databases," ACM TODS, Vol.10, No.3, 1985, pp.289–321.
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.
"Data Processing — Open Systems Interconnection — Basic Reference Model," DP7498, 1980.
Author information
Authors and Affiliations
Editor information
Rights 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