Synthesizing different development paradigms: Combining top-down with bottom-up reasoning about distributed systems

  • J. Zwiers
  • U. Hannemann
  • Y. Lakhneche
  • W. -P. de Roever
Software Technology
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1026)


Our goal is the presentation of a uniform framework for compositional reasoning about the development of distributed processes and data structures. This framework should be a synthesis because, depending on the structure of the processes involved and the verification steps required, different formalisms are most suitable for carrying out one's reasoning. We illustrate this uniform framework by presenting a methodology for reasoning about refinement of distributed data structures, i.e., data structures implemented by means of distributed networks. Our synthesis is compositional, state-based, history-based, and contains sat style, Hoare style, trace-invariant reasoning and assumption/commitment style specifications as dialects. The resulting formalism can be unfolded as if it were a portable telescope, yielding the style required according to its degree of unfolding.


Proof System Priority Queue Adaptation Problem Adaptation Rule Proof Rule 
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. [CH81]
    Chen, Z.C. and Hoare, C.A.R., Partial correctness of CSP, Conf. on Distr. Comp. Sys., 1981Google Scholar
  2. [D92]
    Dahl, Ole-Johan, Verifiable Programming, Prentice Hall, 1992.Google Scholar
  3. [D59]
    Dijkstra,E.W., A note on two problems in connexion with graphs, Numerische Mathematik 1, 1959Google Scholar
  4. [Ha94]
    Hannemann, U., Modular complete proof systems for distributed processes., Kiel, 1994.Google Scholar
  5. [H69]
    Hoare, C.A.R., The axiomatic basis of programming, CACM, 1969.Google Scholar
  6. [H71]
    Hoare, C.A.R., Procedures and parameters: An axiomatic approach, LNM,1971.Google Scholar
  7. [Hoare 85]
    C.A.R. Hoare: Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  8. [HHS87]
    Hoare, C.A.R., He Jifeng and Sanders,J.W., Prespecification in Data Refinement, IPL 25, 1987.Google Scholar
  9. [J81]
    Jones, Cliff B., Development methods for computer programs including a notion of interference, Oxford, 1981.Google Scholar
  10. [J86]
    Jones, Cliff B., Systematic software development using VDM, Prentice-Hall, 1986.Google Scholar
  11. [vKH95]
    B. v.Karger and C.A.R. Hoare:Sequential Calculus, IPL 53, 1995Google Scholar
  12. [L91]
    Lamport, L., The Temporal Logic of Actions, DEC, Systems Research Center, 1991.Google Scholar
  13. [M88]
    Meyer, B., Object-Oriented Software Construction, Prentice-Hall, 1988.Google Scholar
  14. [MC81]
    Misra, J. and Chandy, K.M., Proofs of networks of processes. IEEE TSE, 7, 1981.Google Scholar
  15. [O83]
    Olderog, E.R., On the Notion of Expressiveness and the Rule of Adaptation, TCS 24, 1983.Google Scholar
  16. [Olderog 86]
    E.-R. Olderog: Process theory: Semantics, specification and verification. LNCS 224, 1986.Google Scholar
  17. [P88]
    Pandya, P. Compositional Verification of Distributed Programs,Bombay, 1988.Google Scholar
  18. [PJ91]
    P. Pandya and M. Joseph: P-A logic — a compositional proof system for distributed programs. Distributed Computing 5, 1991.Google Scholar
  19. [Reynolds 81]
    J.C. Reynolds: The craft of programming. Prentice-Hall, 1981.Google Scholar
  20. [S92]
    Spivey, Mike, The Z notation: A reference manual, Prentice-Hall, 1992.Google Scholar
  21. [Wirth 71]
    N. Wirth: Program development by stepwise refinement. Communications of the ACM, Vol. 14, No. 4, pp. 221–227, 1971.Google Scholar
  22. [ZdeR 89]
    J. Zwiers, W.-P. de Roever: Predicates are Predicate Transformers: a Unified Compositional Theory for Concurrency. Proceedings of the 8th Symposium on Principles of Distributed Computing, pp. 265–279, 1989.Google Scholar
  23. [ZdeBdeR 83]
    Zwiers,J., de Bruin, A. and de Roever, W.-P., A proof system for partial correctness of Dynamic Networks of Processes. LNCS 164, 1984.Google Scholar
  24. [Z89]
    Zwiers, J. Compositionality, Concurrency and Partial Correctness, LNCS 321, 1989.Google Scholar
  25. [ZRE85]
    Zwiers, J., de Roever, W.-P. and van Emde Boas, P. Compositionality and concurrent networks: soundness and completeness of a proof system., LNCS 194, 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • J. Zwiers
    • 1
  • U. Hannemann
    • 2
  • Y. Lakhneche
    • 2
  • W. -P. de Roever
    • 2
  1. 1.Twente UniversityAE EnschedeThe Netherlands
  2. 2.Institut für Informatik und praktische MathematikChristian-Albrechts-Universität zu KielKielGermany

Personalised recommendations