Abstract
A good program methodology should allow easy proofs of program correctness and should also incorporate methods for improving program efficiency. We try to achieve both aims by proposing, in the framework of the applicative programming style, a language by which one can specify a system of computing agents, which communicate by sending and receiving messages.
The contents of these messages are "facts", or "pieces of truth" about computations. They are formally defined in the paper.
When communications occur, the system of agents achieves better performances in executing programs, and the task of showing correctness of the resulting computations remains relatively simple. We will give some examples for illustrating these points.
The proposed language supports a program methodology for writing concurrent programs in a reliable way. A basis for a theory of communications is introduced, together with a method for using it in specifying behaviours of agents and proving them correct.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Burstall, R.M., D.B. MacQueen and D.T. Sannella: "HOPE: an experimental applicative language", Proc. LISP Conference, Stanford University (1980).
Burstall, R.M. and J. Darlington: "A transformation system for developing recursive programs", JACM, Vol. 24, No. 1 (1977), 44–67.
Dennis, J.B.: "First version of a data flow procedure language", LNCS 19 Springer-Verlag (1974).
Hewitt, C. and H. Baker, Jr: "Actors and continuous functionals" in: Neuhold, E.J. ed., Formal Descriptions of Programming Languages, North-Holland, Amsterdam (1978).
Hoare, C.A.R.: "Communicating sequential processes", CACM, 21, 8 (1978).
Kahn, G. and D.B. MacQueen: "Coroutines and network of parallel processes" in: Gilchrist, B. ed., Information Processing 1977, North-Holland, Amsterdam (1977) pp. 993–998.
McCarthy, J. et al: "LISP Programmer's Manual", MIT Press, MIT, Cambridge, Mass. (1962).
Milner, R.: "A calculus for communicating systems", LNCS 92, Springer-Verlag (1980).
Owicki, S.: "Axiomatic proof techniques for parallel programs", Computer Science Department, Cornell University, Ph.D. thesis (1975).
Pettorossi, A.: "A transformational approach for developing parallel programs", CONPAR Conference Nürnberg (1981), LNCS 111, pp. 245–258.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pettorossi, A., Skowron, A. (1982). Communicating agents for applicative concurrent programming. In: Dezani-Ciancaglini, M., Montanari, U. (eds) International Symposium on Programming. Programming 1982. Lecture Notes in Computer Science, vol 137. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11494-7_20
Download citation
DOI: https://doi.org/10.1007/3-540-11494-7_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11494-9
Online ISBN: 978-3-540-39184-5
eBook Packages: Springer Book Archive