Advertisement

Asynchronous rendez-vous in distributed logic programming

  • A. Eliëns
  • E. P. de Vink
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 666)

Abstract

In this paper the semantics of the communication mechanism of the distributed logic programming language DLP is studied. DLP combines logic programming with object oriented features and parallelism. For an abstract subset of DLP both an operational and denotational semantics is given. The language DLP supports active objects, method call by rendez-vous and moreover (distributed) backtracking over the results of such a rendez-vous. To enable further exploitation of parallelism, the rendez-vous provided is asynchronous. A distinction is made between the creation of a process for evaluating the method call on the one hand, and the request for an answer on the other hand. To model this communication mechanism (syntactic) resumptions are employed. The notion of a resumption explains the backtracking taking place in the asynchronous rendez-vous. In addition, resumptions facilitate the systematic comparison of the operational and denotational semantics presented.

Keywords

concurrency metric semantics distributed logic programming continuations 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [America, 1987]
    P. America, POOL-T: a parallel object oriented language, in: [Yonezawa and Tokoro, 1987]Google Scholar
  2. [America and de Bakker, 1988]
    P. America and J.W. de Bakker, Designing equivalent models for process creation, Theoretical Computer Science, 60 (2) (1988) pp. 109–176Google Scholar
  3. [America et al, 1989]
    P. America, J.W. de Barker, J.N. Kok and J.J.M.M. Rutten, Denotational semantics of a Parallel Object Oriented Language, Information and Computation, 83 (2) (1989) pp. 152–205Google Scholar
  4. [America and Rutten, 1989a]
    P. America and J.J.M.M. Rutten, A parallel objectoriented language: design and foundations, Joint Ph.D. thesis, Vrije Universiteit Amsterdam (1989)Google Scholar
  5. [America and Rutten, 1989b]
    P. America and J.J.M.M. Rutten, Solving reflexive domain equations in a category of complete metric spaces, Journal of Computer and System Sciences, 39 (1989) pp. 343–375Google Scholar
  6. [America and Rutten, 1991]
    P. America and J.J.M.M. Rutten, A layered semantics for a parallel object-oriented language, in: Foundations of Object-Oriented Languages, J.W. de Bakker, W.P. de Roever and G. Rozenberg (eds.), Lecture Notes in Computer Science 489, Springer (1991) pp. 91–123Google Scholar
  7. [de Bakker et al, 1986]
    J.W. de Bakker, J.N. Kok, J.-J.Ch. Meyer, E.-R. Olderog and J.I. Zucker, Contrasting themes in the semantics of imperative concurrency, in: Current Trends in Concurrency: Overviews and Tutorials, J.W. de Bakker, W.P. de Roever and G. Rozenberg (eds.), Lecture Notes in Computer Science 224, Springer (1986) pp. 51–121Google Scholar
  8. [de Bakker et al, 1988]
    J.W. de Bakker, J.-J.Ch. Meyer, E.-R. Olderog and J.I. Zucker, Transition systems, metric spaces and ready sets in the semantics of uniform concurrency, Journal of Computer and System Sciences 36 (1988), 158–224Google Scholar
  9. [de Boer et al, 1990]
    F.S. De Boer, J.N. Kok, C. Palamidessi, J.J.M.M. Rutten, From failure to success: Comparing a denotational and a declarative semantics for Horn Clause Logic, in: Proc. International BCS-FACS Workshop on Semantics for Concurrency, M.Z. Kwiatkowska, M.W. Shields and R.M. Thomas (eds.), Workshops in Computing. Springer (1990), pp. 38–60Google Scholar
  10. [Bal et al, 1989]
    H. Bal, J. Steiner and A. Tanenbaum, Programming languages for distributed systems, ACM Computing Surveys, 21 (3) (1989) pp. 262–322Google Scholar
  11. [de Bakker, 1989]
    J.W. de Bakker, Designing concurrency semantics, in: Proc. 11th World Computer Congress, G.X. Ritter (ed.), North Holland (1989) pp. 591–598Google Scholar
  12. [de Bakker and Meyer, 1988]
    J.W. de Bakker and J.-J.Ch. Meyer, Metric semantics for concurrency, BIT 28 (1988) pp. 504–529Google Scholar
  13. [de Bakker and de Vink, 1991]
    J.W. de Bakker and E.P. de Vink, CCS for OO and LP, in: Proc. Theory and Practice of Software Development '91, Vol. 2, S. Abramsky and T.S.E. Maibaum (eds.), Lecture Notes in Computer Science 494, Springer (1991) pp. 1–28Google Scholar
  14. [de Bakker and Zucker, 1982]
    J.W. de Bakker and J.I. Zucker, Processes and the denotational semantics of concurrency, Information and Control 54 (1982) pp. 70–120Google Scholar
  15. [de Bakker, 1991]
    J.W. de Bakker, Comparative semantics for flow of control in logic programming without logic, Information and Computation 91 (1991) pp. 123–179Google Scholar
  16. [van Breugel, 1991]
    F. van Breugel, Comparative semantics for a real-time programming language with integration, in: Proc. Theory and Practice of Software Development '91 S. Abramsky and T.S.E. Maibaum (eds.) vol. 1, Lecture Notes in Computer Science 493, Springer (1991) pp 397–411Google Scholar
  17. [de Bruin and de Vink, 1989]
    A. de Bruin, E.P. de Vink, Continuation semantics for PROLOG with cut, in: Proc. Theory and Practice of Software Development '89, Vol I, J. Diaz and F. Orejas (eds.), Lecture Notes in Computer Science 351, Springer (1989) pp. 178–192Google Scholar
  18. [Davison, 1989]
    A. Davison, Polka: A Parlog object oriented language, Ph.D. thesis, Dept. of Computing, Imperial College, London (1989)Google Scholar
  19. [DeGroot, 1984]
    D. DeGroot, Restricted and-parallelism, in: Proc. Future Generation Computer Systems, ICOT (1984) pp. 471–478Google Scholar
  20. [Eliëns, 1989]
    A. Eliëns, Extending Prolog to a Parallel Object Oriented Language, Proc. IFIP W.G. 10.3 Working Conference on Decentralized Systems (1989) LyonGoogle Scholar
  21. [Eliëns, 1991]
    A. Eliëns, Distributed Logic Programming for Artificial Intelligence, AI Communications Vol. 4 No. 1, 1991, pp. 11–21Google Scholar
  22. [Eliëns and de Vink, 1991]
    A. Eliëns and E.P. de Vink, Asynchronous rendez-vous in the presence of backtracking, ISLP'91 Workshop on Asynchronous Communication, november 1991, San DiegoGoogle Scholar
  23. [Eliëns, 1992]
    A. Eliëns, DLP —A language for Distributed Logic Programming, Wiley (1992)Google Scholar
  24. [Jones and Mycroft, 1984]
    N. Jones and A. Mycroft, Stepwise development of operational and denotational semantics for Prolog, in: Proc. Int. Symp. on Logic Programming, Atlantic City (1984) pp. 281–288Google Scholar
  25. [Jacquet and Monteiro, 1990]
    J.-M. Jacquet & L. Monteiro, Comparative Semantics for a Parallel Contextual Programming Language, in: Proc. North-American Logic Programming Conf., S. Debray and M. Hermenegildo (eds.), MIT Press (1990) pp. 195–214.Google Scholar
  26. [Karam, 1988]
    G.M. Karam, Prototyping Concurrent systems with Multilog, Technical Report Dept. of Systems and Computer Engineering Carleton University (1988)Google Scholar
  27. [Kahn et al, 1986]
    K. Kahn, E. Tribble, M. Millar, D. Bobrow, Objects in concurrent logic programming languages, OOPSLA 86, N. Meyrowitz (ed.), SIGPLAN Notices Vol. 21, No. 11, 1986 pp. 242–257Google Scholar
  28. [Kok, 1988]
    J.N. Kok, A compositional semantics for Concurrent Prolog, in: Proc. 5th Annual Symp. on Theoretical Aspects of Computer Science, Bordeaux, February 1988, R. Cori and M. Wirsing (eds.), Lecture Notes in Computer Science 294, Springer (1988) pp. 373–388Google Scholar
  29. [Kok and Rutten, 1988]
    J. Kok and J. Rutten, Contractions in comparing concurrency semantics, in: Proc. Automata, Languages and Programming, T. Lepisto and A. Salomaa (eds.), Lecture Notes in Computer Science 317, Springer (1988) pp. 317–332Google Scholar
  30. [Monteiro and Porto, 1988]
    L. Monteiro and A. Porto, Contextual Logic Programming, Report UNL-50/88, University Lisboa (1988)Google Scholar
  31. [Pereira and Nasr, 1984]
    L.M. Pereira and R. Nasr, Delta Prolog: A distributed logic programming language, in: Proc. FGCS, ICOT (1984) pp. 283–231Google Scholar
  32. [Rutten, 1990]
    J.J.M.M. Rutten, Semantic correctness for a parallel object-oriented language, SIAM Journal on Computing19, 1990, pp. 341–383Google Scholar
  33. [de Vink, 1990]
    E.P. de Vink, Comparative semantics for Prolog with cut, Science of Computer Programming 13 (1990), pp. 237–264Google Scholar
  34. [Yokoi, 1986]
    S. Yokoi, A Prolog based object oriented language SPOOL and its compiler, in: Proc. Logic Programming 86, Tokyo, E. Wada (ed.), Lecture Notes in Computer Science 264, Springer (1986) pp. 116–125Google Scholar
  35. [Zaniolo, 1984]
    C. Zaniolo, Object oriented programming in Prolog, in: Proc. Int. Symp. on Logic Programming, Atlantic City, IEEE (1984) pp. 265–270Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • A. Eliëns
    • 1
  • E. P. de Vink
    • 1
  1. 1.Department of Mathematics and Computer ScienceVrije UniversiteitHV AmsterdamThe Netherlands

Personalised recommendations