Advertisement

True concurrency semantics for a linear logic programming language with broadcast communication

  • Jean-Marc Andreoli
  • Lone Leth
  • Remo Pareschi
  • Bent Thomsen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 668)

Abstract

We define a true concurrency semantics for LO, a reactive programming language characterized by dynamically reconfigurable agents (processes), with interagent communication implemented as broadcasting and logical operators corresponding to Linear Logic connectives. Our semantic model is given by the well-known Chemical Abstract Machine formalism, where concurrent events happen in the form of chemical-like reactions. Our approach consists of mapping LO computations into CHAM computations and is easily generalizable to CHAM-related models like CHARMs, rewriting logics etc. We propose two mappings from LO to CHAMs, both making use of the “membrane” mechanism of the CHAM, but differing in the choice of active elements: in one case, the messages are passive and the agents are the active entities which perform read and write operations; by contrast, in the second case, the agents are passive with respect to communication and the messages themselves move around the solution to deliver their content to each agent. The results in the paper show the effectiveness of the CHAM and related formalisms as abstract frameworks for modeling the implementation of practical languages on parallel architectures. Furthermore, they provide insight on the two following issues: (i) the amount of synchronization needed to add broadcasting to one-to-one communication primitives; (ii) the problem of parallel searching for Linear Logic proofs.

Keywords

True Concurrency Concurrent. Rewriting Chemical Abstract Machines Broadcasting Linear Logic 

References

  1. [ACP92]
    J-M. Andreoli, P. Ciancarini, and R. Pareschi. Interaction abstract machines. In G. Agha, A. Yonezawa, and P. Wegner, editors, Research Directions in Concurrent Object Oriented Programming. MIT Press, 1992. To appeal.Google Scholar
  2. [And92]
    J-M. Andreoli. Logic programming with focusing proofs in linear logic. Journal of Logic and Computation, 2(3), 1992.Google Scholar
  3. [AP91a]
    J-M. Andieoli and R. Pareschi. Communication as fair distribution of knowledge. In Proc. of OOPSLA'91, Phoenix, Az, U.S.A., 1991.Google Scholar
  4. [AP91b]
    J-M. Andieoli and R. Pareschi. Linear objects: Logical processes with builtin inheritance. New Generation Computing, 9(3+4):445–473, 1991.Google Scholar
  5. [APB91]
    J-M. Andreoli, R. Pareschi, and M. Bourgois. Dynamic programming as multi-agent programming. In Proc. of the OOPSLA '90/ECOOP'91 work-shop on Object-based concurrent computing, Lecture Notes in Computer Science (612), Genève, Switzerland, 1991. Springer Verlag.Google Scholar
  6. [BAP92]
    M. Bourgois, J-M. Andreoli, and R. Pareschi. Extending objects with rules, composition and concurrency: the Jo experience. In Proc. of the OOPSLA '92 workshop on Object-Oriented Programming LanguagesThe Next Generation, Vancouver, Canada, 1992.Google Scholar
  7. [BB90]
    G. Berry and G. Boudol. The chemical abstract machine. In Proc. of the nth ACM Symposium on Principles of Programming Languages, San Francisco, Ca, U.S.A., 1990.Google Scholar
  8. [BCLM88]
    J-P. Banâtre, A. Coutant, and D. Le Metayer. A parallel machine for multiset transformation and its programming style. Future. Generation Computer Systems, 4(2):133–145, 1988.CrossRefGoogle Scholar
  9. [CMR92]
    A. Corradini, U. Montanari, and F. Rossi. Concurrency and hiding in an abstract rewrite machine. In Proc. of the International Conference on 5th Generation Computer Systems, Tokyo, Japan, 1992.Google Scholar
  10. [Gir87]
    J-Y. Girard. Linear logic. Theoretical Computer Science, 50:1–102, 1987.CrossRefGoogle Scholar
  11. [Gir91a]
    J-Y. Girard. A new constructive logic: Classical logic. Mathematical Structures in Computer Science, 1(3), 1991.Google Scholar
  12. [Gir91b]
    J-Y. Girard. On the unity of logic, 1991. Preprint, Université de Paris 7.Google Scholar
  13. [HT91]
    K. Honda and M. Tokoro. An object, calculus for asynchronous communication. In Proc. of ECOOP'91, Genève, Switzerland, 1991.Google Scholar
  14. [Laf90]
    Y. Lafont. Interaction nets. In Proc. of 17th ACM Symposium on Principles of Programming Languages, San Francisco, Ca, U.S.A., 1990.Google Scholar
  15. [Mes92a]
    J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 93:73–155, 1992.CrossRefGoogle Scholar
  16. [Mes92b]
    J. Meseguer. A logical theory of concurrent objects and its realization in the MAUDE language. In G. Agha, A. Yonezawa, and P. Wegner, editors, Research. Directions in Concurrent Object Oriented Programming. MIT Press, 1992. To appear.Google Scholar
  17. [MR91]
    U. Montanari and F. Rossi. Contextual nets. Technical report, Università di Pisa, Pisa, Italy, 1991.Google Scholar
  18. [Nie91]
    O. Nierstrasz. Towards an object calculus. In Proc. of the OOPSLA'90/ECOOP'91 workshop on Object-based concurrent computing, Lecture Notes in Computer Science (612), Genève, Switzerland, 1991. Springer Verlag.Google Scholar
  19. [Pra9l]
    K.V.S. Prasad. A calculus of broadcasting systems. In Proc. of the 16th Colloquium on Trees in Algebra and Programming, 1991.Google Scholar
  20. [Sar89]
    V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, Pittsburg, Pa, U.S.A., 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Jean-Marc Andreoli
    • 1
  • Lone Leth
    • 1
  • Remo Pareschi
    • 1
  • Bent Thomsen
    • 1
  1. 1.European Computer-Industry Research CenterMunich 81Germany

Personalised recommendations