Reliable communication in VPL

  • Eva Kühn
  • Franz Puntigam
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 605)


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.


parallel programming paradigms parallel language extensions implementation of parallel languages 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    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.Google Scholar
  2. [2]
    H. Bal, S. Tanenbaum: Distributed Programming with Shared Data. In Computer Languages, Vol. 16, No. 2, pp. 129–146, 1991.CrossRefGoogle Scholar
  3. [3]
    Ph. Bernstein, V. Hadzilacos, N. Goodman: Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  4. [4]
    A. Brogi, P. Ciancarini: The Concurrent Language, Shared Prolog. In ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, January 1991.Google Scholar
  5. [5]
    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.CrossRefGoogle Scholar
  6. [6]
    S. Ceri, G. Gottlob, L. Tanca: Logic Programming and Databases. Springer Verlag, 1990.Google Scholar
  7. [7]
    R. Chin, S. Chanson: Distributed Object-Based Programming Systems. In ACM Computing Surveys, Vol. 23, No. 1, March 1991.Google Scholar
  8. [8]
    E. Dijkstra: Guarded Commands, Nondeterminacy, and Formal Derivation of Programs. Communications of the ACM, Vol. 18, No. 8, August 1975.Google Scholar
  9. [9]
    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.Google Scholar
  10. [10]
    S. Gregory: Parallel Logic Programming in PARLOG. The Language and its Implementation. Addison-Wesley, England, 1987.Google Scholar
  11. [11]
    M. Hermenegildo, F. Rossi: Non-Strict Independent And-Parallelism. In Proceedings of the Seventh International Conference on Logic Programming, June 1990.Google Scholar
  12. [12]
    C. Hoare: Communicating sequential processes. In Communications of the ACM, Vol. 21, No. 8, August 1978, pp. 666–677.CrossRefGoogle Scholar
  13. [13]
    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.CrossRefGoogle Scholar
  14. [14]
    E. Krishnamurthy: Parallel Processing: Principles and Practice. Addison-Wesley, 1989.Google Scholar
  15. [15]
    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.Google Scholar
  16. [16]
    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.Google Scholar
  17. [17]
    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.Google Scholar
  18. [18]
    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.Google Scholar
  19. [19]
    J. Lloyd: Foundations of Logic Programming. Springer-Verlag, second edition, 1987.Google Scholar
  20. [20]
    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.Google Scholar
  21. [21]
    B. Meyer: From Structured Programming to Object-Oriented Design. In Structured Programming, Springer Verlag, No. 1, pp. 19–39, 1989.Google Scholar
  22. [22]
    L. Naish: Negation and Control in Prolog. Springer, Lecture Notes in Computer Science, Vol. 238, Berlin, 1986.Google Scholar
  23. [23]
    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.Google Scholar
  24. [24]
    E. Shapiro: The Family of Concurrent Logic Programming Languages. In ACM Computing Surveys, Vol. 21, No. 3, September 1989, pp. 412–510.CrossRefGoogle Scholar
  25. [25]
    E. Spafford: The Internet Worm Program: An Analysis. In Computer Communication Review, Vol. 19, No. 1, ACM SIGCOM, January 1989.Google Scholar
  26. [26]
    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.Google Scholar
  27. [27]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Eva Kühn
    • 1
  • Franz Puntigam
    • 1
  1. 1.Institute of Computer LanguagesUniversity of Technology ViennaViennaAustria, Europe

Personalised recommendations