Module Level Communication Protocol Specifications of Applications Software for Distributed Computing Systems

  • Sol M. Shatz
Part of the Management and Information Systems book series (MIS)


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)


Functional Module Communication Module Internal View Module View Distribute Software System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 3.
    J. L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, Englewood Cliffs, New Jersey, 1981.Google Scholar
  4. 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. 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. 6.
    J. A. Feldman, High level programming for distributed computing, Commun. ACM 22 (6), 353–368 (1979).zbMATHCrossRefGoogle Scholar
  7. 7.
    B. Liskov, Primitives for distributed computing, Proceedings of the Seventh ACM Symposium on Operating Systems, 1979, pp. 33–42.Google Scholar
  8. 8.
    C. A. R. Hoare, Communicating sequential processes, Commun. ACM 21 (8), 666–677 (1978).zbMATHCrossRefGoogle Scholar
  9. 9.
    J. D. Ichbiah et al. Preliminary Ada reference manual, Sigplan Not. 14(6) June (1979).Google Scholar
  10. 10.
    B. Liskov, On linguistic support for distributed programs, IEEE Trans. on Software Eng. 8 (3), 203–210 (1982).CrossRefGoogle Scholar
  11. 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. 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. 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. 14.
    P. Brinch Hansen, Distributed processes: A concurrent programming concept, Commun. ACM 21(11), Nov. 934–941 (1978).Google Scholar
  15. 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. 16.
    C. G. Davis and R. L. Couch, Ballistic missile defense: A supercomputer challenge, Computer November 37–46 (1980).Google Scholar

Copyright information

© Springer Science+Business Media New York 1985

Authors and Affiliations

  • Sol M. Shatz
    • 1
  1. 1.Department of Electrical Engineering and Computer ScienceUniversity of IllinoisChicagoUSA

Personalised recommendations