Skip to main content

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

  • Software Technology
  • Conference paper
  • First Online:
Book cover Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1995)

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

Abstract

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.

The collaboration of the authors has been partially supported by the European Community ESPRIT Basic Research Action Project 6021 (REACT)

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. Chen, Z.C. and Hoare, C.A.R., Partial correctness of CSP, Conf. on Distr. Comp. Sys., 1981

    Google Scholar 

  2. Dahl, Ole-Johan, Verifiable Programming, Prentice Hall, 1992.

    Google Scholar 

  3. Dijkstra,E.W., A note on two problems in connexion with graphs, Numerische Mathematik 1, 1959

    Google Scholar 

  4. Hannemann, U., Modular complete proof systems for distributed processes., Kiel, 1994.

    Google Scholar 

  5. Hoare, C.A.R., The axiomatic basis of programming, CACM, 1969.

    Google Scholar 

  6. Hoare, C.A.R., Procedures and parameters: An axiomatic approach, LNM,1971.

    Google Scholar 

  7. C.A.R. Hoare: Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  8. Hoare, C.A.R., He Jifeng and Sanders,J.W., Prespecification in Data Refinement, IPL 25, 1987.

    Google Scholar 

  9. Jones, Cliff B., Development methods for computer programs including a notion of interference, Oxford, 1981.

    Google Scholar 

  10. Jones, Cliff B., Systematic software development using VDM, Prentice-Hall, 1986.

    Google Scholar 

  11. B. v.Karger and C.A.R. Hoare:Sequential Calculus, IPL 53, 1995

    Google Scholar 

  12. Lamport, L., The Temporal Logic of Actions, DEC, Systems Research Center, 1991.

    Google Scholar 

  13. Meyer, B., Object-Oriented Software Construction, Prentice-Hall, 1988.

    Google Scholar 

  14. Misra, J. and Chandy, K.M., Proofs of networks of processes. IEEE TSE, 7, 1981.

    Google Scholar 

  15. Olderog, E.R., On the Notion of Expressiveness and the Rule of Adaptation, TCS 24, 1983.

    Google Scholar 

  16. E.-R. Olderog: Process theory: Semantics, specification and verification. LNCS 224, 1986.

    Google Scholar 

  17. Pandya, P. Compositional Verification of Distributed Programs,Bombay, 1988.

    Google Scholar 

  18. P. Pandya and M. Joseph: P-A logic — a compositional proof system for distributed programs. Distributed Computing 5, 1991.

    Google Scholar 

  19. J.C. Reynolds: The craft of programming. Prentice-Hall, 1981.

    Google Scholar 

  20. Spivey, Mike, The Z notation: A reference manual, Prentice-Hall, 1992.

    Google Scholar 

  21. N. Wirth: Program development by stepwise refinement. Communications of the ACM, Vol. 14, No. 4, pp. 221–227, 1971.

    Google Scholar 

  22. 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. 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. Zwiers, J. Compositionality, Concurrency and Partial Correctness, LNCS 321, 1989.

    Google Scholar 

  25. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. S. Thiagarajan

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zwiers, J., Hannemann, U., Lakhneche, Y., de Roever, W.P. (1995). Synthesizing different development paradigms: Combining top-down with bottom-up reasoning about distributed systems. In: Thiagarajan, P.S. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1995. Lecture Notes in Computer Science, vol 1026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60692-0_42

Download citation

  • DOI: https://doi.org/10.1007/3-540-60692-0_42

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60692-5

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics