Skip to main content

A Methodology for Message Oriented Programming

  • Conference paper
  • 38 Accesses

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 25))

Zusammenfassung

Prozesse sind die Elemente, die man für den Bau der Strukturen benutzt, worin das Modellieren paralleler und verteilter Informationsbearbeitung durchgeführt wird. Sie spielen die gleiche Rolle in paralleler Programmierung, die Unterprogramme oder Prozeduren in normaler Programmierung spielen. In diesem Artikel führen wir Anfangsbegriffe einer Methodologie ein, die sich mit einer Art der Programmierung befassen, die wir als “Meldungsorientiert” (“message oriented”) bezeichnen werden. Wir benutzen eine Technik, um Definitionen und Spezifikationen zu konstruieren, die auf abstrahierten Datentypen basiert, im Gegensatz zu früheren Arbeiten, worin konkretere Modelle als Ausgang gedient haben. Wir benutzen diese Technik, zusammen mit formellen Ideen aus Programmierungsmethoden, die hilfsmittelorientiert sind, und weiter mit einigen weniger formellen Methoden, welche “logisch getrennte” Teile eines Systems nach Verfahren der Datenmengenaufteilung identifizieren, um den “Kommunikationsgrundriß” eines Prozesses festzustellen. Das Modell von Erzeugern und Verbrauchern wird als Beispiel gegeben.

Abstract

Processes are building blocks for the modelling of environments in which parallel and distributed processing occurs. They play in parallel programming the role of standard units (as do subroutines or procedures in sequential programming). We develop in this paper the beginnings of a methodology to deal with what we call message oriented programming using a definitional specification technique based on abstract data types (as opposed to the more operational models used in previous work). The specification technique is used in conjunction with resource oriented programming (managers or proprietors) and some semi-formal techniques for identifying the “logical” components of a system (akin to data modularization) to determine the communications “skeleton” of each process. The consumers and producers problem is used as an illustrative example.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baskett, F., Howard, J.H., Montague, J.T.: Task Communication in DEMOS; Proceedings of the 6th ACM Symposium on O.S. Principles, 1977.

    Google Scholar 

  2. Brinch Hansen, P.: The Nucleus of an Operating System; CACM, April 1970 (pp. 238–241, 250).

    Google Scholar 

  3. Brinch Hansen, P.: A Comparison for Two Synchronizing Concepts; Acta Informatica 1, 1972 (pp. 190–199).

    Article  Google Scholar 

  4. Cheriton, D.R., Malcolm, M.A., Melen, L.S., Sager, G.R.: Thoth, A Portable Real-Time Operating System; CACM, February 1979.

    Google Scholar 

  5. Cheriton, D.R.: Multi-Process Structuring and the Thoth Operating System; Ph.D. thesis, University of Waterloo, August 1978.

    Google Scholar 

  6. Cunha, P.R.F., Maibaum, T.S.E.: A Communications Data Type for Message Oriented Programming; submitted for publication.

    Google Scholar 

  7. Cunha, P.R.F., Lucena, C.J., Maibaum, T.S.E.: On the Design and Specification of Message Oriented Programs; Research Report CS-79–25, University of Waterloo, June 1979.

    Google Scholar 

  8. Dennis, J.B.: Modularity; an Advanced Course on Software Engineering, Ed. F. Bauer, Springer-Verlag, 1973.

    Google Scholar 

  9. Dijkstra, E.W.: Cooperating Sequential Processes; Programming Languages, F. Genuys (ed.), Academic Press, New York, 1968 (pp. 43–112).

    Google Scholar 

  10. Dijkstra, E.W.: Notes on Structured Programming, Structural Programming, Academic Press, London, 1972.

    Google Scholar 

  11. 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 RC 6487, 1976.

    Google Scholar 

  12. Guttag, J.: The Specification and Application to Programming of Abstract Data Types; Ph.D. thesis, CSRG TR 59, University of Toronto, Sept. 1975.

    Google Scholar 

  13. Habermann, A.N.: On the Concurrency of Parallel Processes; Perspectives on Computer Science, A. Jones (ed.), Academic Press, London 1977 (pp. 77–90).

    Google Scholar 

  14. Hoare, C.A.R.: Monitors, an Operating System Structuring Concept; CACM, October 1974 (pp. 549–557).

    Google Scholar 

  15. Hoare, C.A.R.: Communicating Sequential Processes; CACM, August 1978 (pp. 666–677).

    Google Scholar 

  16. Jammel, A.J., Stiegler, H.G.: Managers versus Monitors; Proceedings of the IFIP 1977 (pp. 827–830).

    Google Scholar 

  17. Liskov, B.H., Zilles, S.: Programming with Abstract Data Types; Proceedings of the Conference on Very High Level Languages, SIGPLAN, Vol. 9, April 1974.

    Google Scholar 

  18. MacQueen, D.B.: Models for Distributed Computing; Proc. of EEC/IRIA Course on the Design of Distributed Processing, Nice, France, July 1978.

    Google Scholar 

  19. Parnas, D.J.: A Technique for Software Module Specification with Examples; CACM, May 1972 (pp. 330–336).

    Google Scholar 

  20. Parnas, D.J.: On the Criteria to be Used in Decomposing Systems into Modules; CACM, December 1972 (pp. 1053–1058).

    Google Scholar 

  21. Zave, P.: On the Formal Definition of Processes; Conference on Parallel Processing, Wayne State University, IEEE Computer Society, 1976.

    Google Scholar 

  22. Zave, P.: A Design Tool for Real-Time Processes; Conference on Information Sciences and Systems, Johns Hopkins University, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1980 Springer-Verlag Berlin · Heidelberg

About this paper

Cite this paper

Cunha, P.R.F., de Lucena, C.J., Maibaum, T.S.E. (1980). A Methodology for Message Oriented Programming. In: Hoffmann, HJ. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 25. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67600-0_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-67600-0_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-09937-6

  • Online ISBN: 978-3-642-67600-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics