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.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
P. America, POOL-T: a parallel object oriented language, in: [Yonezawa and Tokoro, 1987]
P. America and J.W. de Bakker, Designing equivalent models for process creation, Theoretical Computer Science, 60 (2) (1988) pp. 109–176
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–205
P. America and J.J.M.M. Rutten, A parallel objectoriented language: design and foundations, Joint Ph.D. thesis, Vrije Universiteit Amsterdam (1989)
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–375
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–123
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–121
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–224
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–60
H. Bal, J. Steiner and A. Tanenbaum, Programming languages for distributed systems, ACM Computing Surveys, 21 (3) (1989) pp. 262–322
J.W. de Bakker, Designing concurrency semantics, in: Proc. 11th World Computer Congress, G.X. Ritter (ed.), North Holland (1989) pp. 591–598
J.W. de Bakker and J.-J.Ch. Meyer, Metric semantics for concurrency, BIT 28 (1988) pp. 504–529
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–28
J.W. de Bakker and J.I. Zucker, Processes and the denotational semantics of concurrency, Information and Control 54 (1982) pp. 70–120
J.W. de Bakker, Comparative semantics for flow of control in logic programming without logic, Information and Computation 91 (1991) pp. 123–179
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–411
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–192
A. Davison, Polka: A Parlog object oriented language, Ph.D. thesis, Dept. of Computing, Imperial College, London (1989)
D. DeGroot, Restricted and-parallelism, in: Proc. Future Generation Computer Systems, ICOT (1984) pp. 471–478
A. Eliëns, Extending Prolog to a Parallel Object Oriented Language, Proc. IFIP W.G. 10.3 Working Conference on Decentralized Systems (1989) Lyon
A. Eliëns, Distributed Logic Programming for Artificial Intelligence, AI Communications Vol. 4 No. 1, 1991, pp. 11–21
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 Diego
A. Eliëns, DLP —A language for Distributed Logic Programming, Wiley (1992)
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–288
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.
G.M. Karam, Prototyping Concurrent systems with Multilog, Technical Report Dept. of Systems and Computer Engineering Carleton University (1988)
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–257
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–388
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–332
L. Monteiro and A. Porto, Contextual Logic Programming, Report UNL-50/88, University Lisboa (1988)
L.M. Pereira and R. Nasr, Delta Prolog: A distributed logic programming language, in: Proc. FGCS, ICOT (1984) pp. 283–231
J.J.M.M. Rutten, Semantic correctness for a parallel object-oriented language, SIAM Journal on Computing19, 1990, pp. 341–383
E.P. de Vink, Comparative semantics for Prolog with cut, Science of Computer Programming 13 (1990), pp. 237–264
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–125
C. Zaniolo, Object oriented programming in Prolog, in: Proc. Int. Symp. on Logic Programming, Atlantic City, IEEE (1984) pp. 265–270
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Eliëns, A., de Vink, E.P. (1993). Asynchronous rendez-vous in distributed logic programming. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_34
Download citation
DOI: https://doi.org/10.1007/3-540-56596-5_34
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56596-3
Online ISBN: 978-3-540-47595-8
eBook Packages: Springer Book Archive