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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Baskett, F., Howard, J.H., Montague, J.T.: Task Communication in DEMOS; Proceedings of the 6th ACM Symposium on O.S. Principles, 1977.
Brinch Hansen, P.: The Nucleus of an Operating System; CACM, April 1970 (pp. 238–241, 250).
Brinch Hansen, P.: A Comparison for Two Synchronizing Concepts; Acta Informatica 1, 1972 (pp. 190–199).
Cheriton, D.R., Malcolm, M.A., Melen, L.S., Sager, G.R.: Thoth, A Portable Real-Time Operating System; CACM, February 1979.
Cheriton, D.R.: Multi-Process Structuring and the Thoth Operating System; Ph.D. thesis, University of Waterloo, August 1978.
Cunha, P.R.F., Maibaum, T.S.E.: A Communications Data Type for Message Oriented Programming; submitted for publication.
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.
Dennis, J.B.: Modularity; an Advanced Course on Software Engineering, Ed. F. Bauer, Springer-Verlag, 1973.
Dijkstra, E.W.: Cooperating Sequential Processes; Programming Languages, F. Genuys (ed.), Academic Press, New York, 1968 (pp. 43–112).
Dijkstra, E.W.: Notes on Structured Programming, Structural Programming, Academic Press, London, 1972.
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.
Guttag, J.: The Specification and Application to Programming of Abstract Data Types; Ph.D. thesis, CSRG TR 59, University of Toronto, Sept. 1975.
Habermann, A.N.: On the Concurrency of Parallel Processes; Perspectives on Computer Science, A. Jones (ed.), Academic Press, London 1977 (pp. 77–90).
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; Proceedings of the IFIP 1977 (pp. 827–830).
Liskov, B.H., Zilles, S.: Programming with Abstract Data Types; Proceedings of the Conference on Very High Level Languages, SIGPLAN, Vol. 9, April 1974.
MacQueen, D.B.: Models for Distributed Computing; Proc. of EEC/IRIA Course on the Design of Distributed Processing, Nice, France, July 1978.
Parnas, D.J.: A Technique for Software Module Specification with Examples; CACM, May 1972 (pp. 330–336).
Parnas, D.J.: On the Criteria to be Used in Decomposing Systems into Modules; CACM, December 1972 (pp. 1053–1058).
Zave, P.: On the Formal Definition of Processes; Conference on Parallel Processing, Wayne State University, IEEE Computer Society, 1976.
Zave, P.: A Design Tool for Real-Time Processes; Conference on Information Sciences and Systems, Johns Hopkins University, 1977.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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