Abstract
A simple untyped language based on CML, Concurrent ML, is defined and analysed. The language contains a spawn operator for initiating new independent threads of computation and constructs for the exchange of data between these threads. A denotational model for the language is presented where denotations correspond to computations of values rather than simply values. It is shown to be fully abstract with respect to a behavioural preorder based on contextual testing.
Preview
Unable to display preview. Download preview PDF.
References
J.C.M. Baeten and F.W. Vaandrager. An algebra for process creation. Acta Informatica, 29(4):303–334, 1992.
Mourad Debabi. Integration des Paradigmes de Programmation Parallele, Fonctionnelle et Imperative: Fondement Semantiques. PhD thesis, Universite Paris-Sud, U.F.R Scientifique d'Orsay, July 1994.
R. Milner D. Berry and D. Turner. A Semantics for ML Concurrency Primitives. In Proceedings of the 19th ACM Symposium on Principles of Programmings Languages, 1992.
A. Giacalone, P. Mishra and S. Prasad. Facile: A symetric integration of concurrent and functional programming. In Proceedings of TAPSOFT 89 pp.184–209, Lecture Notes in Computer Science 352, Springer-Verlag, 1989.
Carl A. Gunter. Semantics of Programming Languages. MIT Press, Cambridge Massachusetts, 1992.
K. Havelund. The Fork Calculus: Towards a Logic for Concurrent ML. PhD thesis, Ecole Normale Superieur, Paris, 1994.
M. Hennessy. Algebraic Theory of Processes. MIT Press, Cambridge, Massachusetts, 1988.
M. Hennessy and A. Ingolfsdottir. A Theory of Communicating Processes with Value-Passing. Report 7/91, School of Cognitive and Computing Sciences, Sussex University, 1991.
C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall International, Englewood Cliffs, 1985.
A. Ingolfsdottir. Semantic Models for Communicating Processes with Value Passing. PhD thesis, University of Sussex, 1994.
R. Milner. Communication and Concurrency. Prentice-Hall International, Englewood Cliffs, 1989.
E. Moggi. Computational Lambda Calculus and Monads. Report ECS-LFCS-88-66, Edinburgh LFCS, 1988.
James Morris. Lambda-Calculus Models of Programming Languages. PhD thesis, MIT, June 1968.
F. Nielson and H.R. Nielson. From CML to Process Algebras Technical Report DAIMI PB-433 Computer Science Department, Aarhus University, March 1993.
G.D. Plotkin. Lecture notes in domain theory, 1981. University of Edinburgh.
John Reppy. Higher-Order Concurrency. PhD thesis, Cornell University, June 1992. Technical Report TR 92-1285.
W. Ferreira and M. Hennessy Towards a Semantic Theory of CML. Sussex University Technical Report CS-02-95, Department of Computer Science, 1995.
Bent Thomsen. A calculus of higher order communicating systems. PhD thesis, Imperial College of Science, Technology and Medicine, Department of Computing, September 1990.
M.Tofte, R.Milner and R.Harper. The Definition of Standard ML. MIT Press, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ferreira, W., Hennessy, M. (1995). Towards a semantic theory of CML. In: Wiedermann, J., Hájek, P. (eds) Mathematical Foundations of Computer Science 1995. MFCS 1995. Lecture Notes in Computer Science, vol 969. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60246-1_151
Download citation
DOI: https://doi.org/10.1007/3-540-60246-1_151
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60246-0
Online ISBN: 978-3-540-44768-9
eBook Packages: Springer Book Archive