Abstract
In this report we resort to a definitional specification technique in order to be able to bridge the gap between program specification and program implementation (expressed in a high level application language) in message oriented programming. We show how the notion of algebraic specification can be used to formalize the communications primitives and then applied to the verification of communications properties of parallel programs. We illustrate the method by introducing elements of a calculus for reasoning about message passing programs and then using a specification of the consumer and producer problem and showing that the proposed solution is deadlock free.
This work was partially supported by a grant from the Natural Sciences and Engineering Research Council of Canada.
Chapter PDF
Similar content being viewed by others
5. References
Baskett, F., Howard, J.H., Montague, J.T.: Task Communications in DEMOS; Proc. of the 6th ACM Symp. on O.S. Principles, 1977.
Brinch Hansen, P.: The Nucleus of an Operating System; CACM, April 1970, pp. 238–241, 250.
Campbell, R.H., Habermann, A.M.: The Specification of Process Synchronization by Path Expressions; Lecture Notes in Computer Science, Springer-Verlag, Vol. 16, 1974.
Cheriton, D.R.: Multi-Process Structuring and the Thoth Operating System; Ph.D. Thesis, University of Waterloo, August 1978.
Cheriton, D.R., Malcolm, M.A., Melen, L.S., Sager, G.R.: Thoth, A Portable Real-Time Operating System; CACM, February 1979.
Cunha, P.R.F., Lucena, C.J., Maibaum, T.S.E.: On the Design and Specification of Message Oriented Programs, to appear in the Int. J. of Computer and Information Sciences.
Cunha, P.R.F., Lucena, C.J., Maibaum, T.S.E.: A Methodology for Message Oriented Programming; to be presented at the 6th GI Conference on Programming Languages and Program Development, Darmstadt, March 1980.
Dijkstra, E.W.: Cooperating Sequential Processes; Programming Languages, F. Genuys (ed.), Academic Press, New York, 1968 (pp. 43–112).
Goguen, J.A., Thatcher, J.W., Wagner, E.G., Wright, J.F.: An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types; IBM Research Report, RC6487, 1976.
Guttag, J.: The Specification and Application to Programming of Abstract Data Types; Ph.D. Thesis, CSRG TR-59, University of Toronto, September 1975.
Hewitt, C., Baker, H.: Laws for Communicating Parallel Processes; Information Processing 1977, pp. 987–992.
Hoare, C.A.R.: Monitors, an Operating System Structuring Concept, CACM, October 1974 pp. 549–557.
Hoare, C.A.R.: Communicating Sequential Processes; CACM, August 1978, pp. 666–677.
Jammel, A.J., Stiegler, H.G.: Managers versus Monitors; Proc. of the IFIP 1977, pp. 827–830.
Kahn, G., MacQueen, D.B.: Coroutines and Networks of Parallel Processes; Information Processing 1977, pp. 993–998.
Landin, P.J.: The Mechanical Evaluation of Expressions; Computer Journal, Vol. 6, No. 4, 1964, pp. 308–320.
Liskov, B.H., Zilles, S.: Programming with Abstract Data Types; Proc. Conference on Very High Level Languages, SIGPLAN, Vol. 9, April 1974.
MacQueen, D.B.: Models for Distributing Computing; Proc. of EEC/IRIA Course on the Design of Distributed Processing, Nice, France, July 1978.
Manning, E.G., Peebles, R.W.: A Homogeneous Network for Data-Sharing Communications; Computer Networks 1, 1977, pp. 211–224.
Milne, G.: A Mathematical Model of Concurrent Computation; Ph.D. Thesis, University of Edinburgh, CST-4-78, March 1978.
Milne, G., Milner, R.: Concurrent Processes and their Syntax; JACM, Vol. 26, No. 2, April 1979.
Zave, P.: On the Formal Definition of Processes; Conf. on Parallel Processing, Wayne Sate University, IEEE Computer Society, 1976.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cunha, P.R.F., Maibaum, T.S.E. (1980). A communication data type for message oriented programming. In: Robinet, B. (eds) International Symposium on Programming. Programming 1980. Lecture Notes in Computer Science, vol 83. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-09981-6_6
Download citation
DOI: https://doi.org/10.1007/3-540-09981-6_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-09981-9
Online ISBN: 978-3-540-39233-0
eBook Packages: Springer Book Archive