Skip to main content

Comparative semantics for linear arrays of communicating processes

A study of the UNIX fork and pipe commands

  • Conference paper
  • First Online:

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

Abstract

Operational (O) and denotational (D) semantic models are designed for a language incorporating a version of the UNIX fork and pipe commands. Taking a simple while language as starting point, a number of programming constructs are added which achieve that a program can generate a dynamically evolving linear array of processes connected by channels. Over these channels sequences of values (‘streams’) are transmitted. Both O and D are defined as (unique) fixed point of a contractive higher order operator. This allows a smooth proof that O and D are equivalent. Additional features are the use of hiatons, and of the closely related syntactic resumptions and semantic continuations.

UNIX is a trademark of Bell Laboratories.

This work was partially supported by the Netherlands Nationale Faciliteit Informatica programme, project Research and Education in Concurrent Systems (REX).

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S.K. Abdali and D.S. Wise. Standard, Storeless Semantics for ALGOL-style Block Structure and Call-by-Name. In A. Melton, editor, Proceedings of the 1st International Conference on Mathematical Foundations of Programming Semantics, volume 239 of Lecture Notes in Computer Science, pages 1–19, Manhattan, April 1985. Springer-Verlag.

    Google Scholar 

  2. S. Banach. Sur les Opérations dans les Ensembles Abstraits et leurs Applications aux Equations Intégrales. Fundaments Mathematicae, 3:133–181, 1922.

    Google Scholar 

  3. D.B. Benson. Machine-Level Semantics for Nondeterministic, Parallel Programs. In M. Dezani-Ciancaglini and U. Montanari, editors, Proceedings of the 5th International Symposium on Programming, volume 137 of Lecture Notes in Computer Science, pages 15–25, Turin, April 1982. Springer-Verlag.

    Google Scholar 

  4. J.W. de Bakker and J.J.M.M. Rutten, editors. Ten Years of Concurrency Semantics, selected papers of the Amsterdam Concurrency Group. World Scientific, Singapore, 1992.

    Google Scholar 

  5. A. de Bruin. Experiments with Continuation Semantics: jumps, backtracking, dynamic networks. PhD thesis, Vrije Universiteit, Amsterdam, May 1986.

    Google Scholar 

  6. T. Hagerup, A. Schmitt, and H. Seidl. FORK: A High-Level Language for PRAMs. In E.H.L. Aarts, J. van Leeuwen, and M. Rem, editors, Proceedings of the 3rd International PARLE Conference, volume 505 of Lecture Notes in Computer Science, pages 304–320, Eindhoven, June 1991. Springer-Verlag.

    Google Scholar 

  7. E. Klein and K. Koskimies. How to Pipeline Parsing with Parallel Semantic Analysis. Structured Programming, 13(3):99–107,1992.

    Google Scholar 

  8. J.N. Kok and J.J.M.M. Rutten. Contractions in Comparing Concurrency Semantics. Theoretical Computer Science, 76(2/3):179–222, 1990.

    Google Scholar 

  9. C. McDonald and L. Allison. Denotational Semantics of a Command Interpreter and their Implementation in Standard ML. The Computer Journal, 32(5):422–431, October 1989.

    Google Scholar 

  10. D. Park. The “Fairness” Problem and Nondeterministic Computing Networks. In J.W. de Bakker and J. van Leeuwen, editors, Foundations of Computer Science IV, Distributed Systems, part 2: Semantics and Logic, volume 159 of Mathematical Centre Tracts, pages 133–161. Mathematical Centre, Amsterdam, 1983.

    Google Scholar 

  11. G.D. Plotkin. A Structural Approach to Operational Semantics. Report DAIMI FN-19, Aarhus University, Aarhus, September 1981.

    Google Scholar 

  12. J.-C. Raoult and R. Sethi. Properties of a Notation for Combining Functions. Journal of the ACM, 30(3):595–611, July 1983.

    Google Scholar 

  13. G. Rünger and K. Sieber. A Trace-Based Denotational Semantics for the PRAM-Language FORK. Report 1/1992, Universität des Saarlandes, Saarbrücken, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Andrzej M. Borzyszkowski Stefan Sokołowski

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

de Bakker, J.W., van Breugel, F., de Bruin, A. (1993). Comparative semantics for linear arrays of communicating processes. In: Borzyszkowski, A.M., Sokołowski, S. (eds) Mathematical Foundations of Computer Science 1993. MFCS 1993. Lecture Notes in Computer Science, vol 711. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57182-5_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-57182-5_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57182-7

  • Online ISBN: 978-3-540-47927-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics