Abstract
We compare different degrees of architecture abstraction and communication reliability in distributed programming languages. A nearly architecture independent logic programming language and system with reliable communication, called VPL (Vienna Parallel Logic) is presented. We point out the contradiction between complete architecture independence and reliable high-level communication in programming languages. The description of an implementation technique of VPL's reliable communication on shared memory and distributed architectures comprises a major part of this paper. The reliable communication is based on the specification of consistent system states that must survive system failures.
The work is supported by the Austrian FWF (Fonds zur Förderung der wissenschaftlichen Forschung), project “Interoperability of Autonomous Databases”, contract number P7773-PHY.
Preview
Unable to display preview. Download preview PDF.
References
J. Backus: Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. In Communications of the ACM, Vol. 21, No. 8, 1978.
H. Bal, S. Tanenbaum: Distributed Programming with Shared Data. In Computer Languages, Vol. 16, No. 2, pp. 129–146, 1991.
Ph. Bernstein, V. Hadzilacos, N. Goodman: Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
A. Brogi, P. Ciancarini: The Concurrent Language, Shared Prolog. In ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, January 1991.
N. Carriero, D. Gelernter: How to Write Parallel Programs: A Guide to the Perplexed. In ACM Computing Surveys, Vol. 21, No. 3, September 1989, pp. 323–358.
S. Ceri, G. Gottlob, L. Tanca: Logic Programming and Databases. Springer Verlag, 1990.
R. Chin, S. Chanson: Distributed Object-Based Programming Systems. In ACM Computing Surveys, Vol. 23, No. 1, March 1991.
E. Dijkstra: Guarded Commands, Nondeterminacy, and Formal Derivation of Programs. Communications of the ACM, Vol. 18, No. 8, August 1975.
A. Elmagarmid, Y. Leu, W. Litwin, M. Rusinkiewicz: A Multidatabase Transaction Model for InterBase. In Proceedings of the 16th International Conference on Very Large Data Bases, August 1990.
S. Gregory: Parallel Logic Programming in PARLOG. The Language and its Implementation. Addison-Wesley, England, 1987.
M. Hermenegildo, F. Rossi: Non-Strict Independent And-Parallelism. In Proceedings of the Seventh International Conference on Logic Programming, June 1990.
C. Hoare: Communicating sequential processes. In Communications of the ACM, Vol. 21, No. 8, August 1978, pp. 666–677.
L. Kale: The Reduce-Or Process Model for Parallel Execution of Logic Programs. In The Journal of Logic Programming, Vol. 11, No. 1, 1991, pp. 55–84.
E. Krishnamurthy: Parallel Processing: Principles and Practice. Addison-Wesley, 1989.
e. Kühn, F. Puntigam, A. Elmagarmid: An Execution Model for Distributed Database Transactions and Its Implementation in VPL. In Proceedings of the International Conference on Extending Database Technology, Vienna, March 1992.
e. Kühn, F. Puntigam, A. Elmagarmid: Multidatabase Transaction and Query Processing in Logic. In Database Transaction Models for Advanced Applications, A. Elmagarmid (ed.), Morgan Kaufmann, 1991.
e. Kühn, F. Puntigam: Programmed Backtracking and Concurrency in Logic Programming. Technical report TR-1852-91-4, University of Technology Vienna, Department of Computer Languages, 1991.
B. Liskov, R. Scheifer: Guardians and Actions: Linguistic Support for Robust, Distributed Programs. In Concurrency Control and Reliability in Database Systems, Van Nostrand Reinhold, B. Bhargava (ed.), 1987.
J. Lloyd: Foundations of Logic Programming. Springer-Verlag, second edition, 1987.
E. Lusk, R. Butler, T. Disz, R. Olson, R. Overbeek, R. Stevens, D. Warren, A. Calderwood, P. Szeredi, S. Haridi, P. Brand, M. Carlsson, A. Ciepielewski, B. Hausman: The Aurora Or-Parallel Prolog System. In New Generation Computing, No. 7, 1990, pp. 243–271.
B. Meyer: From Structured Programming to Object-Oriented Design. In Structured Programming, Springer Verlag, No. 1, pp. 19–39, 1989.
L. Naish: Negation and Control in Prolog. Springer, Lecture Notes in Computer Science, Vol. 238, Berlin, 1986.
J. Saltzer, D. Reed, D. Clark: End-to-end Arguments in System Design. In ACM Transactions on Computer Systems, Vol. 2, No. 4, November 1984.
E. Shapiro: The Family of Concurrent Logic Programming Languages. In ACM Computing Surveys, Vol. 21, No. 3, September 1989, pp. 412–510.
E. Spafford: The Internet Worm Program: An Analysis. In Computer Communication Review, Vol. 19, No. 1, ACM SIGCOM, January 1989.
S. Taylor, S. Safra, E. Shapiro: A Parallel Implementation of Flat Concurrent Prolog. In Concurrent Prolog, E. Shapiro (ed.), The MIT Press, Volume 2, 1987.
D. Warren: The SRI Model for OR-Parallel Execution of Prolog, Abstract Design and Implementation Issues. In Proceedings of the 4th Symposium on Logic Programming, September 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kühn, E., Puntigam, F. (1992). Reliable communication in VPL. In: Etiemble, D., Syre, JC. (eds) PARLE '92 Parallel Architectures and Languages Europe. PARLE 1992. Lecture Notes in Computer Science, vol 605. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55599-4_123
Download citation
DOI: https://doi.org/10.1007/3-540-55599-4_123
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55599-5
Online ISBN: 978-3-540-47250-6
eBook Packages: Springer Book Archive