Advertisement

On the operational semantics of a coordination language

  • Paolo Ciancarini
  • Keld K. Jensen
  • Daniel Yankelevich
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 924)

Abstract

Linda is a coordination language, because it has to be combined with a sequential language to give a full parallel programming formalism. Although Linda has been implemented on a variety of architectures, and in combination with several sequential languages, its formal semantics is relatively unexplored. In this paper we study and compare a number of operational semantics specifications for Linda: Plotkin's SOS, Milner's CCS, Petri Nets, and Berry and Boudol's Chemical Abstract Machine. We analyze these specifications, and show how they enlighten different abstract implementations.

Keywords

Operational Semantic Abstract Machine Tuple Space Reaction Rule Structure Operational Semantic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jean-Marc Andreoli and Remo Pareschi. Linear Objects: Logical Processes with Built-in Inheritance. New Generation Computing, 9(3–4):445–473, 1991.Google Scholar
  2. 2.
    H. Bal, J. Steiner, and A. Tanenbaum. Programming languages for distributed computing systems. ACM Computer Surveys, 21(3):261–322, 1989.Google Scholar
  3. 3.
    JP. Banatre and D. LeMetayer. Programming by Multiset Transformation. Communications of the ACM, 36(1):98–111, January 1993.Google Scholar
  4. 4.
    G. Berry and G. Boudol. The Chemical Abstract Machine. Theoretical Computer Science, 96:217–248, 1992.CrossRefGoogle Scholar
  5. 5.
    A. Brogi and P. Ciancarini. The concurrent language Shared Prolog. ACM Transactions on Programming Languages and Systems, 13(1):99–123, 1991.Google Scholar
  6. 6.
    P. Butcher. A behavioral semantics for Linda-2. IEE Software Engineering Journal, 6(4):196–204, July 1991.Google Scholar
  7. 7.
    N. Carriero. Implementing Tuple Space Machines. PhD thesis, Dept. of Computer Science, Yale University, New Haven, Connecticut, 1987.Google Scholar
  8. 8.
    N. Carriero and D. Gelernter. New optimization strategies strategies for the Linda Precompiler. In Greg Wilson, editor, Linda-like systems and their implementation, pages 74–83. Edimbourgh Computing Center, 1991.Google Scholar
  9. 9.
    N. Carriero and D. Gelernter. Coordination Languages and Their Significance. Communications of the ACM, 35(2):97–107, February 1992.Google Scholar
  10. 10.
    R. Cleaveland and M. Hennessy. Testing Equivalence as a Bisimulation Equivalence. In Proc. Workshop on Automatic Verification for finite-state Systems, volume 407 of Lecture Notes in Computer Science, pages 11–23, 1989.Google Scholar
  11. 11.
    R. Cridlig and E. Goubault. Semantics and Analysis of Linda-based Languages. In P. Cousot and M. Falaschi and G. File and A. Rauzy, editors, Proc. Int. Workshop on Static Analysis (WSA 93), volume 724 of Lecture Notes in Computer Science, pages 72–86, 1993.Google Scholar
  12. 12.
    F. deBoer, J. Klop, and C. Palamidessi. Asynchronous Communication in Process Algebra. In Proc. 7th IEEE Symp. on Logic In Computer Science — LICS. IEEE Computer Society Press, 1992.Google Scholar
  13. 13.
    P. Degano, R. DeNicola, and U. Montanari. A distributed operational semantics for CCS based on Condition/Event systems. Acta Informatica, pages 59–91, 1988.Google Scholar
  14. 14.
    R. DeNicola and M. Hennessy. Testing equivalence for processes. Theoretical Computer Science, 34:83–133, 1983.Google Scholar
  15. 15.
    D. Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.Google Scholar
  16. 16.
    M. Hennessy. Algebraic Theory of Processes. MIT Press, Cambridge, Cambridge, MA, 1988.Google Scholar
  17. 17.
    S. Jagannathan. Semantics and Analysis of First-Class Tuple-Spaces. Technical Report DCS/RR-783, Dept. of Computer Science, Yale University, New Haven, CT, April 1990.Google Scholar
  18. 18.
    K. Jensen. Coloured Petri Nets. In Petri Nets: Central Models and Their Properties, volume 254 of Lecture Notes in Computer Science, 1987.Google Scholar
  19. 19.
    K. Jensen. Decoupling of Computation and Coordination in Linda. In D Heidrich and J Grossetie, editors, Computing with T.Node Parallel Architectures, pages 43–62, 1991.Google Scholar
  20. 20.
    K. Jensen. Towards a Multiple Tuple Space Model — On the Use of SOS in Design and Implementation. PhD thesis, Dept. of CS, Aalborg University, Denmark, 1993 (forth-coming).Google Scholar
  21. 21.
    J. Leichter. Shared Tuple Memories, buses and LANs — Linda implementations across the spectrum of connectivity. PhD thesis, Dept. of Computer Science, Yale University, New Haven, Connecticut, July 1989.Google Scholar
  22. 22.
    J. Meseguer and U. Montanari. Petri Nets are Monoids. Information and Computation, 88:105–155, 1990.Google Scholar
  23. 23.
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1980.Google Scholar
  24. 24.
    R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.CrossRefGoogle Scholar
  25. 25.
    R. Milner. Communication and Concurrency. Prentice Hall, 1989.Google Scholar
  26. 26.
    R. Milner. Functions as processes. Mathematical Structures in Computer Science, 2(2):119–141, 1992.Google Scholar
  27. 27.
    J. Narem. An Informal Operational Semantics of C-Linda version 2.3.5. Technical Report TR839, Dept. of Computer Sc., Yale Univ., New Haven, Connecticut, 1989.Google Scholar
  28. 28.
    J. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981.Google Scholar
  29. 29.
    G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Department of Computer Science, Aarhus University, Denmark, 1981.Google Scholar
  30. 30.
    W. Reisig. Petri Nets. An Introduction. EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1985.Google Scholar
  31. 31.
    M. Rem. Associons: A program notation with tuples instead of variables. ACM Transactions on Programming Languages and Systems, 3(3):251–262, July 1981.Google Scholar
  32. 32.
    GC. Roman and HC.Cunningham. Mixed Programming Metaphors in a Shared Dataspace Model of Concurrency. IEEE Transactions on Software Engineering, 16(12):1361–1373, December 1990.Google Scholar
  33. 33.
    B. Thomsen. A calculus of higher order communicating systems. In 16th ACM Conf. on Principles of Programming Languages, pages 143–154, Austin, Tx, January 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Paolo Ciancarini
    • 1
  • Keld K. Jensen
    • 2
  • Daniel Yankelevich
    • 3
  1. 1.Università di BolognaItaly
  2. 2.University of AalborgDenmark
  3. 3.Universidad de Buenos AiresArgentina

Personalised recommendations