Skip to main content

From CML to process algebras

Extended abstract

  • Conference paper
  • First Online:
CONCUR'93 (CONCUR 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 715))

Included in the following conference series:

Abstract

Reppy's language CML extends Standard ML of Milner et al. with primitives for communication. It thus inherits a notion of strong polymorphic typing and may be equipped with a structural operational semantics. As a first step we formulate an effect system for statically expressing the communication behaviours of CML programs as these are not reflected in the types. As a second step we adapt the structural operational semantics of CML so as to incorporate behaviours. We then show how types and behaviours evolve in the course of computation: types may decrease and behaviours may loose alternatives as well as decrease. As the syntax of behaviours is rather similar to that of a process algebra our main result may therefore be viewed as regarding the semantics of a process algebra as an abstraction of the semantics of an underlying programming language. This establishes a new kind of connection between “realistic” concurrent programming languages and “theoretical” process algebras.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Berry, R. Milner, D.N. Turner: A semantics for ML concurrency primitives. Proceedings of POPL'92, ACM Press, 1992, pages 119–129.

    Google Scholar 

  2. G. Castagna, G. Ghelli, G. Longo: A Calculus for Overloaded Functions with Subtyping. Proceedings of the 1992 ACM Conference on Lisp and Functional Programming, ACM Press, 1992, pages 182–192.

    Google Scholar 

  3. C. Crasemann: πλ-Kalküle für Prozesse und Funktionen. Ph.D.-Thesis, Christian-Albrechts-Universität zu Kiel, 1992.

    Google Scholar 

  4. A. Giacalone, P. Mishra, S. Prasad: Operational and Algebraic Semantics for Facile: A Symmetric Integration of Concurrent and Functional Programming. Proceedings of ICALP '90, SLNCS 443, pages 765–780, 1990.

    Google Scholar 

  5. K. Havelund, K.G. Larsen: The Fork Calculus. To appear in Proceedings of ICALP '93, 1993.

    Google Scholar 

  6. H. Hüttel, K.G. Larsen: A Dynamic Type System for Higher-Order Processes. Manuscript, 1992.

    Google Scholar 

  7. J.J.-Levy, B. Thomsen, L. Leth, A. Giacalone: Esprit Basic Research Action 6454 — CONFER: CONcurrency and Functions: Evaluation and Reduction. EATCS Bulletin No. 48, 1992, pages 88–106.

    Google Scholar 

  8. J.M. Lucassen, D.K. Gifford: Polymorphic Effect Systems. Proceedings of POPL'88, ACM Press, 1988, pages 47–57.

    Google Scholar 

  9. R. Milner: The Polyadic π-Calculus: A Tutorial. Report ECS-LFCS-91-180, Laboratory for Foundations of Computer Science, University of Edinburgh, 1991.

    Google Scholar 

  10. F. Nielson: The Typed Lambda-Calculus with First-Class Processes. Proceedings of PARLE'89, Springer Lecture Notes in Computer Science 366, 1989, pages 357–373.

    Google Scholar 

  11. F. Nielson, H.R. Nielson: Two-Level Functional Languages. Cambridge University Press, 1992.

    Google Scholar 

  12. F. Nielson, H.R. Nielson: From CML to Process Algebras. Report DAIMI PB-433, Dept. of Computer Science, Aarhus University, 1993.

    Google Scholar 

  13. E.G.J.M.H. Nocker, J.E.W. Smetsers, M.C.J.D. van Eekelen, M.J. Plasmeijer: Concurrent Clean. Proceedings of PARLE'91, SLNCS 506, pages 202–219, 1991.

    Google Scholar 

  14. J.H. Reppy: CML: A Higher-order Concurrent Language. Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, ACM Press, 1991, pages 293–305.

    Google Scholar 

  15. J.H. Reppy: Higher-Order Concurrency. Ph.D.-Thesis, Report 92-1285, Department of Computer Science, Cornell University, 1992. [16] J.-P. Talpin, P. Jouvelot: The Type and Effect Discipline. Proceedings of LICS'92, 1992, pages 162–173.

    Google Scholar 

  16. B. Thomsen: A Calculus of Higher Order Communicating Systems. Proceedings of POPL'89, ACM Press, 1989, pages 143–154.

    Google Scholar 

  17. B. Thomsen: Calculi for Higher Order Communicating Systems. Ph.D.-Thesis, Imperial College, University of London, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eike Best

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nielson, F., Nielson, H.R. (1993). From CML to process algebras. In: Best, E. (eds) CONCUR'93. CONCUR 1993. Lecture Notes in Computer Science, vol 715. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57208-2_34

Download citation

  • DOI: https://doi.org/10.1007/3-540-57208-2_34

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57208-4

  • Online ISBN: 978-3-540-47968-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics