Skip to main content

A Fixed Point Approach to Applicative Multiprogramming

  • Chapter
Theoretical Foundations of Programming Methodology

Part of the book series: NATO Advanced Study Institutes Series ((ASIC,volume 91))

Abstract

For a simple nondeterministic applicative programming language both fixed point semantics and operational semantics are defined. The operational semantics is given by a number of computation rules (term rewriting rules) representing a data flow semantics and the possibilities of inherent parallelism are studied. The language, which in the first instance implicitly uses the notions of multiprogramming, is extended by more explicit constructs, such that finally a general reduction language and data flow language with explicit parallelism, communication and concurrency is derived. For this extended language, too, a fixed point semantics is defined based on multidomains, and an operational semantics is given in the form of computation rules modelling the evaluation process of data driven reduction als well as data flow computations.

This research was carried out within the Sonderforschungs-bereich 49 — Programmiertechnik — München

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K.R. Apt, G. Plotkin: A Cook’s Tour of Countable Nondeterminism. In: S. Even, O. Kariv (eds.): 8th International Colloquium on Automata, Languages and Programming, Haifa 1981, Lecture Notes in Computer Science 115, Berlin — Heidelberg — New York: Springer 1981, 479–494.

    Google Scholar 

  2. A. Arnold: Operational and Denotational Semantics of Nets of Processes. Universite P. et M. Curie, Universite Paris 7, Laboratoire Informatique Theoretique et Programmation, LITP Report No. 79–35, June 1979

    Google Scholar 

  3. A. Arnold, M. Nivat: Nondeterministic Recursive Program Schemes In: M. Karpinski (ed): Fundamentals of Computation Theory. Lecture Notes in Computer Science 56, Berlin — Heidelberg — New York: Springer 1977, 12–21

    Google Scholar 

  4. Arvind, K.P. Gostelow: Some Relationships between Asynchronous Interpreters of a Dataflow Language. In: E.J. Neuhold (ed.): Formal Descriptions of Programming Concepts. Amsterdam: North-Holland 1978 /Neuhold 78/, 96–119

    Google Scholar 

  5. E. Astesiano, G. Costa: Sharing in Nondeterminism. In: H.A. Maurer (ed.): 6th Int. Coll. on Algorithms, Languages and Programming. Lecture Notes in Computer Sciences 71, Berlin — Heidelberg — New York: Springer 1979, 1–13

    Google Scholar 

  6. J. Backus: Can Programming be Liberated from the von Neumann Style? A Functional Style and its Algebra of Programs. Comm. ACM 21:8, August 1978, 613–641

    Article  MathSciNet  MATH  Google Scholar 

  7. J.W. de Bakker: Semantics and Termination of Nondeterministic Recursive Programs. In: S. Michaelson, R. Milner (eds.): Proc. of the 3rd International Colloquium on Automata, Languages and Programming, Edinburgh: Edinburgh University Press 1976, 435–477

    Google Scholar 

  8. F.L. Bauer: Detailization and Lazy Evaluation, Infinite Objects and Pointer Representation. In: F.L. Bauer, M. Broy (eds.): Program Construction. Lecture Notes of the International Summer School on Program Construction, Marktoberdorf 1978. Lecture Notes in Computer Science 69, Berlin — Heidelberg — New York: Springer 1979 /Bauer, Broy 79/, 235–236

    Google Scholar 

  9. F.L. Bauer, M. Broy (eds.): Program Construction. Lecture Notes of the International Summer School on Program Construction, Marktoberdorf 1978. Lecture Notes in Computer Science 69, Berlin — Heidelberg — New York: Springer 1979

    Google Scholar 

  10. F.L. Bauer, H. Wössner: Algorithmische Sprache und Programmentwicklung. Berlin — Heidelberg — New York: Springer 1981

    MATH  Google Scholar 

  11. D.B. Benson: Parameter Passing in Nondeterministic Recursive Programs. Journal of Computer and System Sciences 19, 1979, 50–62

    Article  MathSciNet  MATH  Google Scholar 

  12. J.D. Brock, W.B. Ackermann: Scenarios: A Model of Non-determinate Computation. In: J. Diaz, I. Ramos (eds.): Formalization of Programming Concepts, Peniscola 1981, Lecture Notes in Computer Science 107, Berlin — Heidelberg — New York: Springer 1981, 252–267

    Google Scholar 

  13. M. Broy: Transformation parallel ablaufender Programme. Technische Universität München, Dissertation an der Fakultät für Mathematik, Februar 1980

    Google Scholar 

  14. M. Broy: Transformational Semantics for Concurrent Programs. IPL 11:2, October 1980, 87–91

    Article  MathSciNet  MATH  Google Scholar 

  15. M. Broy: Are Fairness-assumptions Fair? In: Proc. of the Second International Conference on Districuted Computing Systems, Paris April 8–10, 1981, IEEE 1981, 116–125

    Google Scholar 

  16. M. Broy, M. Wirsing: Initial versus Terminal Algebra Semantics for Partially Defined Abstract Types. Technische Universität München, Institut für Informatik, TUM-I8018, December 1980

    Google Scholar 

  17. M. Broy, M. Wirsing: On the Algebraic Specification of Nondeterministic Programming Languages. In: E. Astesiano, C. Böhm (eds.): 6th Colloquium on Trees in Algebra and Programming, Genua 1981, Lecture Notes in Computer Science 112, Berlin — Heidelberg — New York: Springer 1981, 162–179

    Google Scholar 

  18. M. Broy, M. Wirsing: Unbounded Nondeterminism — An exercise in Abstract Data Types. INRIA 1981

    Google Scholar 

  19. M. Broy, R. Gnatz, M. Wirsing: Semantics of Nondeterministic and Noncontinous Constructs. In: F.L. Bauer, M. Broy (eds.): Program Construction. Lecture Notes of the International Summer School on Program Construction, Marktoberdorf 1978. Lecture Notes in Computer Science 69, Berlin — Heidelberg — New York: Springer 1979 /Bauer, Broy 79/, 553–592

    Google Scholar 

  20. M. Broy, H. Partsch, P. Pepper, M. Wirsing: Semantic Relations in Programming Languages. In: S.H. Lavington (ed.): Information Processing 80, Proceedings of the IFIP Congress 80, Amsterdam -New York — Oxford: North-Holland Publ. Comp. 1980, 101–106

    Google Scholar 

  21. W.H. Burge: Stream Processing Functions. IBM Journal of Research and Development 19, January 1975, 12–25

    Article  MATH  Google Scholar 

  22. A.K. Chandra: The Power of Parallelism and Nondeterminism in Programming. In: J.L. Rosenfeld (ed.): Information Processing 74, Proc. of the IFIP Congress 74, Amsterdam: North Holland Publ. 19TU, 461–465

    Google Scholar 

  23. A.K. Chandra: Computable Nondeterministic Functions. Proc. of the 19th Annual Symposium on Foundations of Computer Science, October 1978, 127–131

    Google Scholar 

  24. A.K. Chandra, D.C. Kozen, L.J. Stockmeyer: Alternation. J. ACM 28:1, January 1981, 114–133

    Article  MathSciNet  MATH  Google Scholar 

  25. J.B. Dennis: First Version of a Data Flow Procedure Language. In: B. Robinet (ed.): Colloque sur la Programmation, Lecture Notes in Computer Science 19, Berlin — Heidelberg — New York: Springer 1974, 362–367

    Google Scholar 

  26. J.B. Dennis, K. K.-S. Weng: An Abstract Implementation for Concurrent Computation with Streams. In: Proc. of the 1979 International Conference on Parallel Processing, August 1979, 35–45

    Google Scholar 

  27. N. Dershowitz, Z. Manna: Proving termination with Multiset Orderings. Comm. ACM 22:8, August 1979, 465–476

    Article  MathSciNet  MATH  Google Scholar 

  28. E.W. Dijkstra: A Discipline of Programming. Prentice Hall, Englewood Cliffs N.J. 1976

    MATH  Google Scholar 

  29. H. Egli: A Mathematical Model for Nondeterministic Computations. Unpublished report ETH Zürich 1975

    Google Scholar 

  30. A.P. Ershov: On the Essence of Compilation. In: J. Neuhold (ed.): Formal Descriptions of Programming Concepts. Amsterdam: North-Holland 1978 /Neuhold 78/, 391–418

    Google Scholar 

  31. N. Francez, M. Rodeh: A Distributed Abstract Data Type Implemented by a Probabilistic Communication Scheme. 21st Annual Symposium on Foundations of Computer Science, October 1980

    Google Scholar 

  32. D.P. Friedmann, D.S. Wise: CONS Should not Evaluate its Arguments. In: S. Michaelson, R. Milner (eds.): Proc. of the 3rd International Colloquium on Automata, Languages and Programming. Edinburgh: Edinburgh Univ. Press, 1976, 257–284

    Google Scholar 

  33. D.P. Friedmann, D.S. Wise: Applicative Multiprogramming. Indiana University, Computer Science Department, Technical Report 72, Januar 1978, revised December 1978

    Google Scholar 

  34. P. Henderson: Functional Programming: Application and Implementation. Englewood Cliffs, NJ: Prentice Hall International 1980

    MATH  Google Scholar 

  35. P. Henderson, J.H. Morris: A Lazy Evaluator. University of Newcastle upon Tyne, Computing Laboratory, Techn. Report Series No. 85

    Google Scholar 

  36. M.C.B. Hennessy: The Semantics of Call-by-Value and Call-by-Name in a Nondeterministic Environment. SIAM J. Comput. 9:1, February 1900, 67–84

    Article  MathSciNet  Google Scholar 

  37. M. Hennessy, E.A. Ashcroft: The Semantics of Nondeterminism. In: S. Michaelson, R. Milner (eds.): Proc. of the 3rd International Colloquium on Automata, Languages and Programming, Edinburgh: Edinburgh University Press 1976, 479–493

    Google Scholar 

  38. M. Hennessy, E.A. Ashcroft: Parameter Passing mechanisms and Nondeterminism. In: Proceedings of the 9th Annual ACM Symposium on Theory of Computing, May 1977, 306–311

    Google Scholar 

  39. M. Hennessy, E.A. Ashcroft: A Mathematical Semantics for Typed λ-calculus. Theoretical Computer Science 10, 1980, 227–245

    Article  MathSciNet  Google Scholar 

  40. C. Hewitt, H. Baker: Actors and Continuous Functionals. In: /Neuhold 78/, 367–390

    Google Scholar 

  41. /Hoare 78/ C.A.R. Hoare: Communicating Sequential Processes. Comm. ACM 21:8, August 1978, 666–677

    Google Scholar 

  42. /Kahn 74/ G. Kahn: The Semantics of a Simple Language for Parallel Processing. In: J.L. Rosenfeld (ed.): Information Processing 74, Proc. of the IFIP Congress 74, Amsterdam: North-Holland 1974, 471–475

    Google Scholar 

  43. /Kahn, MacQueen 77/ G. Kahn, D. MacQueen: Coroutines and Networks of Parallel Processes. In: B. Gilchrist (ed.): Information Processing 77, Proc. of the IFIP Congress 77, Amsterdam: North-Holland 1977, 994–998

    Google Scholar 

  44. R.M. Keller: Denotational Models for Parallel Programs with Indeterminate Operators. In: E.J. Neuhold (ed.): Formal Descriptions of Programming Concepts. Amsterdam: North-Holland 1978 /Neuhold 78/, 337–366

    Google Scholar 

  45. R.M. Keller: Semantics and Applications of Function Graphs. University of Utah, Department of Computer Science, Technical Report UUCS-80–112, October 1980

    Google Scholar 

  46. J.R. Kennaway, C.A.R. Hoare: A Theory of Nondeterminism. In: J. de Bakker, J.v.d. Leuwen (eds.): Proc. of the 7th International Colloquium on Algorithms, Languages and Programming. Lecture Notes in Computer Science 85, Berlin — Heidelberg — New York: Springer 1980, 338–350

    Google Scholar 

  47. P.R. Kosinski: A Data Flow Language for Operating Systems Programming. Sigplan Notices 8:9, September 1973, 89–94

    Article  Google Scholar 

  48. P.R. Kosinski: A Straightforward Denotational Semantics for Nondeterminate Data Flow Programs. Proc. of the 5th Annual Symposium on Principles of Programming Languages, 1977

    Google Scholar 

  49. P.R. Kosinski: Denotational Semantics of Determinate and Non-determinate Data Flow Programs. MIT, Laboratory for Computer Science, TR-220, May 1979

    Google Scholar 

  50. P.J. Landin: A Correspondence Between ALGOL 60 and Church’s Lambda-Notation: Part I. Comm. ACM 8:2, February 1965, 89–101

    Article  MathSciNet  Google Scholar 

  51. D.J. Lehmann: Categories for Fixpoint-Semantics. Proc. of the 17th Annual Symposium on Foundations of Computer Science 1976, 122–126

    Google Scholar 

  52. D.B. MacQueen: Models for Distributed Computing. IRIA Rapport de Recherche No 351, April 1979

    Google Scholar 

  53. Z. Manna: The Correctness of Nondeterministic Programs. Artificial Intelligence 1, 1970, 1–26

    Article  MathSciNet  MATH  Google Scholar 

  54. Z. Manna, S. Ness, J. Vuillemin: Inductive Methods for Proving Properties of Programs. Comm. ACM 16:8, August 1973, 491–502

    Article  MathSciNet  MATH  Google Scholar 

  55. J. McCarthy: A Basis for a Mathematical Theory of Computation. In: P. Braffort, D. Hirschberg (eds.): Computer Programming and Formal Systems, Amsterdam: North-Holland 1963

    Google Scholar 

  56. G. Milne, R. Milner: Concurrent Processes and their Syntax. University of Edinburgh, Department of Computer Science, CSR-2–77, May 77

    Google Scholar 

  57. R. Milner: Processes: A Mathematical Model of Computing Agents. Proc. Logic Colloquium, Bristol, Amsterdam: North-Holland 1973, 157–173

    Google Scholar 

  58. R. Milner: A Calculus of Communicating Systems. Lecture Notes in Computer Science 92, Berlin — Heidelberg — New York: Springer 1980

    MATH  Google Scholar 

  59. E.J. Neuhold (ed.): Formal Descriptions of Programming Concepts. Amsterdam: North-Holland 1978

    Google Scholar 

  60. M. Nivat: Nondeterministic Programs: An Algebraic Overview. In: S.H. Lavington (ed.): Information Processing 80, Proc. of the IFIP Congress 80, Amsterdam — New York — Oxford: North-Holland Publ. Comp. 1980, 17–28

    Google Scholar 

  61. D. Park: On the Semantics of Fair Parallelism. In: D. Björner (ed.): Abstract Software Specification. Lecture Notes in Computer Science 86, Berlin — Heidelberg — New York: Springer 1980, 504–526

    Google Scholar 

  62. G. Plotkin: A Powerdomain Construction. SIAM J. on Computing 5, 1976, 452–486

    Article  MathSciNet  MATH  Google Scholar 

  63. D. Scott: Lectures on a Mathematical Theory of Computation. University of Oxford, Mathematical Institute, Preliminary Version, completed November 1980

    Google Scholar 

  64. M.B. Smyth: Power Domains. J. CSS 16, 1978, 23–36

    MathSciNet  MATH  Google Scholar 

  65. L.G. Tesler, H.J. Enea: A Language Design for Concurrent Processes. Spring Joint Computer Conference 1968, 403–408

    Google Scholar 

  66. J. Vuillemin: Correct and Optimal Implementation of Recursion in a Simple Programming Language. J. Comp. Sci. 9:3, June 1974, 332–354

    Article  MathSciNet  Google Scholar 

  67. C. Wadsworth: Semantics and Pragmatics of Lambda Calculus. Oxford, Ph. D. Dissertation 1971

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1982 D. Reidel Publishing Company

About this chapter

Cite this chapter

Broy, M. (1982). A Fixed Point Approach to Applicative Multiprogramming. In: Broy, M., Schmidt, G. (eds) Theoretical Foundations of Programming Methodology. NATO Advanced Study Institutes Series, vol 91. Springer, Dordrecht. https://doi.org/10.1007/978-94-009-7893-5_16

Download citation

  • DOI: https://doi.org/10.1007/978-94-009-7893-5_16

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-90-277-1462-6

  • Online ISBN: 978-94-009-7893-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics