Skip to main content

On describing the behavior and implementation of distributed systems

  • Conference paper
  • First Online:
Semantics of Concurrent Computation

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 70))

Abstract

A simple, basic and general model for describing both the (input-output) behavior and the implementation of distributed systems is presented. An important feature of the model is the separation of the machinery used to describe the implementation and the behavior. This feature makes the model potentially useful for design specification of systems and of subsystems.

The implementation model relies on the basic notions of process and variable, assuming indivisibility of variable access. Long-distance communication is modelled by a special process representing a "channel." Process executions are considered to be completely asynchronous; this consideration is reflected in the fairness of the operations for combining processes. The primitivity and generality of the model make it an apparently suitable basis for cost comparison of various message-passing protocols and other higher-level programming constructs, as well as of complex distributed system implementations.

A system's (input-output) behavior is modelled by a set of finite and infinite sequences of actions, each action involving access to a variable.

Basic definitions, examples and characterization results are given. An extended example, involving specification and implementation of an arbiter system, is presented. For this example, equivalent implicit and explicit specifications are given. Several different implementations are described, each of which exhibits the required behavior.

General remarks are made about cost comparison of distributed system implementations.

This research was supported in part by the National Science Foundation under grants MCS77-02474 and MCS77-15628.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Petri, C.A., "Kommunikation mit Automaten," Schriften des Reinish Westfalischen Inst. Instrumentelle Mathematik, Bonn. 1962.

    Google Scholar 

  2. Hoare, C.A.R., "Communicating Sequential Processes," Technical Report, Department of Computer Science, the Queen's University, Belfast, Northern Ireland, December, 1976.

    Google Scholar 

  3. Milne, G. and R. Milner, "Concurrent Processes and Their Syntax," Internal Report CSR-2-77, Department of Computer Science, Edinburg, May, 1977.

    Google Scholar 

  4. Dijkstra, E.W., "Co-operating Sequential Processes," Programming Languages, NATA Advanced Study Institute, Academic Press, 1968.

    Google Scholar 

  5. Campbell, R. and A. Habermann, "The Specification of Process Synchronization Using Path Expressions," Lecture Notes in Computer Science, 16, Springer-Verlag, 1974.

    Google Scholar 

  6. Shaw, A.C., "Software Descriptions with Flow Expressions," IEEE Trans. on Software Engineering SE-4, 3 (1978), 242–254.

    Google Scholar 

  7. Feldman, J., "Synchronizing Distant Cooperating Processes," Technical Report 26, Department of Computer Sciences, University of Rochester, October, 1977.

    Google Scholar 

  8. Cremers, A. and T. N. Hibbard, "Mutual Exclusion of N Processes Using an 0(N) — Valued Message Variable," USC Department of Computer Science Manuscript, 1975.

    Google Scholar 

  9. Burns, J.E., M. J. Fischer, P. Jackson, N.A. Lynch, and G. L. Peterson, "Shared Data Requirements for Implementation of Mutual Exclusion Using a Test-and-Set Primitive," Proceedings of 1978 International Conference on Parallel Processing (1978).

    Google Scholar 

  10. Chandra, A.K., "Computable Nondeterministic Functions," Proceedings of 19th Annual Symposium on Foundations of Computer Science, 1978.

    Google Scholar 

  11. Greif, Irene, "A Language for Formal Problem Specification," Comm. ACM, 20, 12 (1977), 931–935.

    Article  Google Scholar 

  12. Atkinson, R. and C. Hewitt, "Specification and Proof Techniques for Serializers," AI Memo 438, Massachusetts Institute of Technology, August, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gilles Kahn

Rights and permissions

Reprints and permissions

Copyright information

© 1979 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lynch, N.A., Fischer, M.J. (1979). On describing the behavior and implementation of distributed systems. In: Kahn, G. (eds) Semantics of Concurrent Computation. Lecture Notes in Computer Science, vol 70. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022468

Download citation

  • DOI: https://doi.org/10.1007/BFb0022468

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-09511-8

  • Online ISBN: 978-3-540-35163-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics