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
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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
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
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
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
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
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
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
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
F.L. Bauer, H. Wössner: Algorithmische Sprache und Programmentwicklung. Berlin — Heidelberg — New York: Springer 1981
D.B. Benson: Parameter Passing in Nondeterministic Recursive Programs. Journal of Computer and System Sciences 19, 1979, 50–62
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
M. Broy: Transformation parallel ablaufender Programme. Technische Universität München, Dissertation an der Fakultät für Mathematik, Februar 1980
M. Broy: Transformational Semantics for Concurrent Programs. IPL 11:2, October 1980, 87–91
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
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
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
M. Broy, M. Wirsing: Unbounded Nondeterminism — An exercise in Abstract Data Types. INRIA 1981
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
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
W.H. Burge: Stream Processing Functions. IBM Journal of Research and Development 19, January 1975, 12–25
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
A.K. Chandra: Computable Nondeterministic Functions. Proc. of the 19th Annual Symposium on Foundations of Computer Science, October 1978, 127–131
A.K. Chandra, D.C. Kozen, L.J. Stockmeyer: Alternation. J. ACM 28:1, January 1981, 114–133
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
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
N. Dershowitz, Z. Manna: Proving termination with Multiset Orderings. Comm. ACM 22:8, August 1979, 465–476
E.W. Dijkstra: A Discipline of Programming. Prentice Hall, Englewood Cliffs N.J. 1976
H. Egli: A Mathematical Model for Nondeterministic Computations. Unpublished report ETH Zürich 1975
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
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
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
D.P. Friedmann, D.S. Wise: Applicative Multiprogramming. Indiana University, Computer Science Department, Technical Report 72, Januar 1978, revised December 1978
P. Henderson: Functional Programming: Application and Implementation. Englewood Cliffs, NJ: Prentice Hall International 1980
P. Henderson, J.H. Morris: A Lazy Evaluator. University of Newcastle upon Tyne, Computing Laboratory, Techn. Report Series No. 85
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
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
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
M. Hennessy, E.A. Ashcroft: A Mathematical Semantics for Typed λ-calculus. Theoretical Computer Science 10, 1980, 227–245
C. Hewitt, H. Baker: Actors and Continuous Functionals. In: /Neuhold 78/, 367–390
/Hoare 78/ C.A.R. Hoare: Communicating Sequential Processes. Comm. ACM 21:8, August 1978, 666–677
/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
/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
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
R.M. Keller: Semantics and Applications of Function Graphs. University of Utah, Department of Computer Science, Technical Report UUCS-80–112, October 1980
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
P.R. Kosinski: A Data Flow Language for Operating Systems Programming. Sigplan Notices 8:9, September 1973, 89–94
P.R. Kosinski: A Straightforward Denotational Semantics for Nondeterminate Data Flow Programs. Proc. of the 5th Annual Symposium on Principles of Programming Languages, 1977
P.R. Kosinski: Denotational Semantics of Determinate and Non-determinate Data Flow Programs. MIT, Laboratory for Computer Science, TR-220, May 1979
P.J. Landin: A Correspondence Between ALGOL 60 and Church’s Lambda-Notation: Part I. Comm. ACM 8:2, February 1965, 89–101
D.J. Lehmann: Categories for Fixpoint-Semantics. Proc. of the 17th Annual Symposium on Foundations of Computer Science 1976, 122–126
D.B. MacQueen: Models for Distributed Computing. IRIA Rapport de Recherche No 351, April 1979
Z. Manna: The Correctness of Nondeterministic Programs. Artificial Intelligence 1, 1970, 1–26
Z. Manna, S. Ness, J. Vuillemin: Inductive Methods for Proving Properties of Programs. Comm. ACM 16:8, August 1973, 491–502
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
G. Milne, R. Milner: Concurrent Processes and their Syntax. University of Edinburgh, Department of Computer Science, CSR-2–77, May 77
R. Milner: Processes: A Mathematical Model of Computing Agents. Proc. Logic Colloquium, Bristol, Amsterdam: North-Holland 1973, 157–173
R. Milner: A Calculus of Communicating Systems. Lecture Notes in Computer Science 92, Berlin — Heidelberg — New York: Springer 1980
E.J. Neuhold (ed.): Formal Descriptions of Programming Concepts. Amsterdam: North-Holland 1978
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
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
G. Plotkin: A Powerdomain Construction. SIAM J. on Computing 5, 1976, 452–486
D. Scott: Lectures on a Mathematical Theory of Computation. University of Oxford, Mathematical Institute, Preliminary Version, completed November 1980
M.B. Smyth: Power Domains. J. CSS 16, 1978, 23–36
L.G. Tesler, H.J. Enea: A Language Design for Concurrent Processes. Spring Joint Computer Conference 1968, 403–408
J. Vuillemin: Correct and Optimal Implementation of Recursion in a Simple Programming Language. J. Comp. Sci. 9:3, June 1974, 332–354
C. Wadsworth: Semantics and Pragmatics of Lambda Calculus. Oxford, Ph. D. Dissertation 1971
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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