Specification and top down design of distributed systems

  • Manfred Broy
Advanced Seminar On The Role Of Semantics In Software Development Concepts Of Semantics With A View To Software Development
Part of the Lecture Notes in Computer Science book series (LNCS, volume 185)


Stream-processing functions provide an excellent semantic model for the abstract representation of systems of nondeterministic concurrent communicating agents. Based on this model a formalism for the specification of such functions is suggested. This way a fully modular, compositional methodology for the specification and the design of distributed systems and their components is derived. Concepts of correctness are defined and rules of inference are discussed that help to transform such specifications into a network of communicating agents. A combinatorial ("functional") notation for the sequential and parallel composition as well as feedback for those agents is introduced.


Shared Memory Temporal Logic Semantic Model Agent Specification Input Stream 
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.


  1. [Barringer et al. 85]
    H. Barringer, R. Kuiper, A. Pnueli: A Compositional Temporal Approach to a CSP-like Language. (Unpublished manuscript)Google Scholar
  2. [Broy 81]
    M. Broy: A Fixed Point Approach to Applicative Multiprogramming. In: M. Broy, G. Schmidt (eds.): Theoretical Foundations of Programming Methodology, Reidel Publ. Comp. 1982, 565–623Google Scholar
  3. [Broy 83a]
    M. Broy: Denotational Semantics of Communicating Processes based on a Language for Applicative Multiprogramming. IPL 17:1 1983, 29–38CrossRefGoogle Scholar
  4. [Broy 83b]
    M. Broy: Fixed Point Theory for Communication and Concurrency. In: D. Björner (ed.): IFIP TC2 Working Conference on Formal Description of Programming Concepts II, Garmisch, June 1982, Amsterdam-New York-Oxford: North Holland Publ. Company 1983, 125–147Google Scholar
  5. [Broy 83c]
    M. Broy: Applicative Real Time Programming. In: R.E.A. Mason (ed.): Information Processing 83, 259–264Google Scholar
  6. [Broy 84a]
    M. Broy: Semantics of Communicating Processes. Information and Control (to appear)Google Scholar
  7. [Broy 84b]
    M. Broy: Denotational Semantics of Concurrent Programs with Shared Memory. In: M. Fontet, K. Mehlhorn (eds.): STACS 84, Lecture Notes in Computer Science 166, Berlin-Heidelberg-New York: Springer 1984, 163–173Google Scholar
  8. [Broy 84c]
    M. Broy: On the Herbrand Kleene Universe of Nondeterministic Computations. In: M.P. Chytil, V. Koubeck (eds.): Mathematical Foundations of Computer Science 1984. Lecture Notes in Computer Science 176, Berlin-Heidelberg-New York-Tokyo: Springer 1984, 214–222Google Scholar
  9. [Broy 84d]
    M. Broy: Algebraic Methods for Program Construction: The Project CIP. In: P. Pepper (ed): Program Transformation and Programming Environments. NATO ASI Series. Series F: 8. Berlin-Heidelberg-New York-Tokyo: Springer 1984, 199–222Google Scholar
  10. [Broy, Wirsing 82]
    M. Broy, M. Wirsing: Partial Abstract Types. Acta Informatica 18, 1982, 47–64CrossRefGoogle Scholar
  11. [Dennis 74]
    J.B. Dennis: First Version of a Data Flow Procedure Language. In B. Robinet (ed.): Colloque sur la Progammation, Lecture Notes in Computer Science 19, Berlin-Heidelberg-New York: Springer 1974, 362–367Google Scholar
  12. [Hehner 84]
    E.C.R. Hehner: Predicative Programming Part I+II. CACM 27:2 (1984) 134–151Google Scholar
  13. [Hoare et al. 81]
    C.A.R. Hoare, S.D. Brookes, A.W. Roscoe: A Theory of Communicating Sequential Processes. Oxford University Computing Laboratory, Programming Research Group, Technical Monograph PRG-21, Oxford 1981Google Scholar
  14. [Kahn, MacQueen 77]
    G. Kahn, D. MacQueen 77: Coroutines and Networks of Parallel Processes. In: Proc. of the IFIP Congress 77, Amsterdam:North-Holland 1977, 994–998Google Scholar
  15. [Keller 78]
    R. M. Keller: Denotational Models for Parallel Programs with Indeterminate Operators. In: E. J. Neuhold (ed.): Formal Description of Programming Concepts. Amsterdam: North-Holland 1978, 337–366Google Scholar
  16. [Milner 80a]
    R. Milner: A Calculus of Communicating Systems. Lecture Notes in Computer Science 92, Berlin-Heidelberg-New York: Springer, 1980Google Scholar
  17. [Plotkin 76]
    G. Plotkin: A Powerdomain Construction. SIAM J. Computing 5, 1976, 452–486CrossRefGoogle Scholar
  18. [Pnueli 77]
    A. Pnueli: The Temporal Logic of Programs. Proc 18th FOCS, Providence, 1977, 46–57Google Scholar
  19. [Pratt 78]
    V.R. Pratt: Process Logic. 6th Popl, 1979, 83–100Google Scholar
  20. [Smyth 78]
    M. Smyth: Power Domains. J. CSS 16, 1978, 23–36Google Scholar
  21. [Winskel 82]
    G. Winskel: Event Structure Semantics of CCS and Related Languages. In: M. Nielsen, E. M. Schmidt (eds.): ICALP 82 Lecture Notes in Computer Science 140, Berlin-Heidelberg-New York 1982, 561–576Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Manfred Broy
    • 1
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassau

Personalised recommendations