Skip to main content

Interactive Design and Verification: A Message Switching Network Example

  • Conference paper
The Use of Formal Specification of Software

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 36))

  • 38 Accesses

Abstract

Traditionally, program verification systems have inadequately supported the incremental aspects of designing and verifying programs. For example, they provide only minimal assistance in determining what previous work is affected by changes to specifications. Problems of this general nature arise frequently and pose difficult challenges for the user. This paper describes and illustrates how several such problems have been largely overcome by a recently developed program verification system.

The illustration takes the form of a transcript from a working session in which a realistic message switching network is specified, implemented, and proved. The network allows a fixed number of users to communicate through a multilevel secure network. The basic interprocess communication paradigm is message passing (rather than shared memory). Roughly speaking, the specification of the network says that the mail received by each user process is a subsequence of the mail intended for it. This functional property is expressed as a hierarchically structured assertion about histories of message traffic among processes. The example is intended to be prototypical of how one could go about the more complicated task of structuring and formally specifying functional properties of real communications processing systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.L. Ambler, D.I. Good, J.C. Browne, W.F. Burger, R.M. Cohen, C.G. Hoch, and R.E. Wells. Gypsy: A language for specification and implementation of verifiable programs. Proceedings of the Fifth International Conference on Language Design for Reliable Software, SIGPLAN Notices, Vol. 12, No. 3, pp. 1–10, March 1977.

    Article  Google Scholar 

  2. W.W. Bledsoe. A new method for proving certain Presburger formulas. Advance Papers of the Fourth International Joint Conference on Artificial Intelligence, 1975, pp. 15–21.

    Google Scholar 

  3. W.W. Bledsoe and M. Tyson. The UT interactive prover. University of Texas at Austin Mathematics Department, ATP-17, May 1975.

    Google Scholar 

  4. R.S. Boyer and J S. Moore. A Computational Logic. Academic Press, 1979.

    MATH  Google Scholar 

  5. L.P. Deutsch. An interactive program verifier. Ph.D. thesis, University of California-Berkeley, 1973 (Xerox Palo Alto Research Center Report CSL-73–1, May 1973)

    Google Scholar 

  6. B. Elspas, R.E. Shostak, and J.M. Spitzen. A verification system for Jocit/J3 programs (Rugged Programming Environment — RPE/2). SRI International Computer Science Laboratory Report, April 1977.

    Google Scholar 

  7. R.W. Floyd. Assigning meanings to programs, in Proceedings of a Symposium in Applied Mathematics, vol. 19, J.T. Schwartz, ed., American Mathematical Society, pp. 19–32, 1967.

    Google Scholar 

  8. S.L. Gerhart and D.S. Wile. Preliminary report on the Delta Experiment: Specification and verification of a multiple-user file updating module. Proceedings of Conference on Specifications of Reliable Software, April 1979, pp. 198–211.

    Google Scholar 

  9. D.I. Good, R.L. London, and W.W. Bledsoe. An interactive program verification system. IEEE Transactions on Software Engineering, Vol. SE-1, No. 1, pp. 59–67, March 1975.

    Google Scholar 

  10. D.I. Good, R.M. Cohen, and J. Keeton-Williams. Principles of proving concurrent programs in Gypsy. Sixth Annual ACM Symposium on Principles of Programmming Languages, January 1979, pp. 42–51.

    Google Scholar 

  11. C.A.R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, vol. 12, no. 10, pp. 576–580, October 1969.

    Article  MATH  Google Scholar 

  12. J.C. King. A program verifier. Ph.D. thesis, Carnegie-Mellon University, 1969.

    Google Scholar 

  13. D.C. Luckham. Program verification and verification-oriented programming. Proceedings of IFIP Congress 77, North-Holland Publishing Co., pp. 783–793, 1977.

    Google Scholar 

  14. M.S. Moriconi. A system for incrementally designing and verifying programs. Ph.D. thesis, The University of Texas at Austin, December 1977 (Volume I, SRI International Computer Science Laboratory Report CSL-73).

    Google Scholar 

  15. M.S. Moriconi. A system for incrementally designing and verifying programs. (Volume II, SRI International Computer Science Laboratory Report CSL-74)

    Google Scholar 

  16. M.S. Moriconi. A designer/verifier’s assistant. IEEE Transactions on Software Engineering, Vol. SE-5, No. 4, pp. 387–401, July 1979.

    Article  MathSciNet  Google Scholar 

  17. L. Roberts and B. Wessler. Computer Networks to Achieve Resource Sharing. Proceedings of the AFIPS Spring Joint Computer Conference, Vol. 36, American Federation of Information Processing Societies, Montvale, New Jersey, 1970, pp. 543–549.

    Google Scholar 

  18. N. Suzuki. Verifying programs by algebraic and logical reduction. Proceedings of International Conferences on Reliable Software, pp. 473–481, April 1975.

    Google Scholar 

  19. R.E. Wells. Specification and Implementation of a Verifiable Communications System. M.S. thesis, The University of Texas at Austin, December 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1980 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Moriconi, M. (1980). Interactive Design and Verification: A Message Switching Network Example. In: Berg, H.K., Giloi, W.K. (eds) The Use of Formal Specification of Software. Informatik-Fachberichte, vol 36. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67881-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-67881-3_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10442-1

  • Online ISBN: 978-3-642-67881-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics