Languages for Automation pp 335-356 | Cite as
Module Level Communication Protocol Specifications of Applications Software for Distributed Computing Systems
Abstract
While the advantages of distributed computer systems are well established and documented,(1) the technology for developing distributed software is still very immature. A distributed software system consists of a number of distributed processing components (DPCs), which are each executing on a different processing node of the distributed computer system. Each DPC, in turn, consists of a number of functional modules; modules which reside in different DPCs must communicate via message passing. Naturally, the most important aspects of distributed software systems are the communication mechanisms which are required for both message exchange based communication and synchronization. These communication mechanisms are referred to as communication protocols. The ISO Reference Moder defines these communication protocols into seven different layers. The “lowest” layer is called the physical layer and the “highest” layer is called the applications layer. In this paper, we are only concerned with the communication protocols of the applications layer. Specifically, we present guidelines for deriving the applications layer communication protocols for modules which comprise a distributed software system. The techniques which we are presenting are intended for use during the design phase of the software lifecycle, as opposed to the implementation phase. In order to represent (document) the protocols used, we use a communications-based design representation scheme which is based on the Petri net model.(3)
Keywords
Functional Module Communication Module Internal View Module View Distribute Software SystemPreview
Unable to display preview. Download preview PDF.
References
- 1.J. A. Stanovic and A. Van Dam, Research directions in (cooperative) distributed processing, in Research Directions in Software Technology, P. Wegner, Ed., Mit Press, Cambridge, Massachusetts, 1979, pp. 611–638.Google Scholar
- 2.H. Zimmermann, Osi reference model—The Iso model of architecture for open systems interconnection Ieee Trans. Commun. 28 425–435 (1980).Google Scholar
- 3.J. L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, Englewood Cliffs, New Jersey, 1981.Google Scholar
- 4.S. S. Yau and S. M. Shatz, On communication in the design of software components of distributed computer systems, Proceedings of the Third International Conference on Distributed Computing Systems, October, 1982, pp. 280–287.Google Scholar
- 5.S. M. Shatz and S. S. Yau, The application of Petri nets to the representation of communication in distributed software systems, Proceedings of the IEEE Workshop on Languages for Automation,November, 1983, Chicago, Illinois, pp. 163–173.Google Scholar
- 6.J. A. Feldman, High level programming for distributed computing, Commun. ACM 22 (6), 353–368 (1979).MATHCrossRefGoogle Scholar
- 7.B. Liskov, Primitives for distributed computing, Proceedings of the Seventh ACM Symposium on Operating Systems, 1979, pp. 33–42.Google Scholar
- 8.C. A. R. Hoare, Communicating sequential processes, Commun. ACM 21 (8), 666–677 (1978).MATHCrossRefGoogle Scholar
- 9.J. D. Ichbiah et al. Preliminary Ada reference manual, Sigplan Not. 14(6) June (1979).Google Scholar
- 10.B. Liskov, On linguistic support for distributed programs, IEEE Trans. on Software Eng. 8 (3), 203–210 (1982).CrossRefGoogle Scholar
- 11.R. C. HoL.T, G. S. Graham, E. D. Lazowska, and M. A. Scorn, Structured Concurrent Programming with Operating Systems Applications, Addison—Wesley, Reading, Massachusetts, 1978, 84.Google Scholar
- 12.E. Yourdon and L. L. Constantine, Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Prentice-Hall, Englewood Cliffs, New Jersey, 1979.Google Scholar
- 13.S. M. Shatz and S. S. Yau, A partitioning algorithm for the design of distributed software systems, (to appear) in Inf. Sci.Google Scholar
- 14.P. Brinch Hansen, Distributed processes: A concurrent programming concept, Commun. ACM 21(11), Nov. 934–941 (1978).Google Scholar
- 15.S. S. Yau, C. C. Yang, and S. M. Shatz,An approach to distributed computing system software design, IEEE Trans. Software Eng. SE-7(4), 427–436.Google Scholar
- 16.C. G. Davis and R. L. Couch, Ballistic missile defense: A supercomputer challenge, Computer November 37–46 (1980).Google Scholar