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.
Preview
Unable to display preview. Download preview PDF.
References
Jean-Marc Andreoli and Remo Pareschi. Linear Objects: Logical Processes with Built-in Inheritance. New Generation Computing, 9(3–4):445–473, 1991.
H. Bal, J. Steiner, and A. Tanenbaum. Programming languages for distributed computing systems. ACM Computer Surveys, 21(3):261–322, 1989.
JP. Banatre and D. LeMetayer. Programming by Multiset Transformation. Communications of the ACM, 36(1):98–111, January 1993.
G. Berry and G. Boudol. The Chemical Abstract Machine. Theoretical Computer Science, 96:217–248, 1992.
A. Brogi and P. Ciancarini. The concurrent language Shared Prolog. ACM Transactions on Programming Languages and Systems, 13(1):99–123, 1991.
P. Butcher. A behavioral semantics for Linda-2. IEE Software Engineering Journal, 6(4):196–204, July 1991.
N. Carriero. Implementing Tuple Space Machines. PhD thesis, Dept. of Computer Science, Yale University, New Haven, Connecticut, 1987.
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.
N. Carriero and D. Gelernter. Coordination Languages and Their Significance. Communications of the ACM, 35(2):97–107, February 1992.
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.
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.
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.
P. Degano, R. DeNicola, and U. Montanari. A distributed operational semantics for CCS based on Condition/Event systems. Acta Informatica, pages 59–91, 1988.
R. DeNicola and M. Hennessy. Testing equivalence for processes. Theoretical Computer Science, 34:83–133, 1983.
D. Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112, 1985.
M. Hennessy. Algebraic Theory of Processes. MIT Press, Cambridge, Cambridge, MA, 1988.
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.
K. Jensen. Coloured Petri Nets. In Petri Nets: Central Models and Their Properties, volume 254 of Lecture Notes in Computer Science, 1987.
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.
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).
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.
J. Meseguer and U. Montanari. Petri Nets are Monoids. Information and Computation, 88:105–155, 1990.
R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1980.
R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.
R. Milner. Communication and Concurrency. Prentice Hall, 1989.
R. Milner. Functions as processes. Mathematical Structures in Computer Science, 2(2):119–141, 1992.
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.
J. Peterson. Petri Net Theory and the Modeling of Systems. Prentice Hall, 1981.
G. Plotkin. A structural approach to operational semantics. Technical Report DAIMI FN-19, Department of Computer Science, Aarhus University, Denmark, 1981.
W. Reisig. Petri Nets. An Introduction. EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1985.
M. Rem. Associons: A program notation with tuples instead of variables. ACM Transactions on Programming Languages and Systems, 3(3):251–262, July 1981.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ciancarini, P., Jensen, K.K., Yankelevich, D. (1995). On the operational semantics of a coordination language. In: Ciancarini, P., Nierstrasz, O., Yonezawa, A. (eds) Object-Based Models and Languages for Concurrent Systems. ECOOP 1994. Lecture Notes in Computer Science, vol 924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59450-7_6
Download citation
DOI: https://doi.org/10.1007/3-540-59450-7_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59450-5
Online ISBN: 978-3-540-49269-6
eBook Packages: Springer Book Archive