Skip to main content

Software design, specification, and verification: Lessons learned from the Rether case study

  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1997)

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

Abstract

Rether is a software-based real-time ethernet protocol developed at SUNY Stony Brook. The purpose of this protocol is to provide guaranteed bandwidth and deterministic, periodic network access to multimedia applications over commodity ethernet hardware. It has been implemented in the PreeBSD 2.1.0 operating system, and is now being used to support the Stony Brook Video Server (SBVS), a low-cost, ethernet LAN-based server providing real-time delivery of video to end-users from the server's disk subsystem.

Using local model checking, as provided by the Concurrency Factory specification and verification environment, we showed (for a particular network configuration) that Rether indeed makes good on its bandwidth guarantees to real-time nodes without exposing non-real-time nodes to the possibility of starvation. In the course of specifying and verifying Rether, we identified an alternative design of the protocol that warranted further study due to potential efficiency gains. Again using model checking, we showed that this alternative design also possesses the properties of interest.

Research supported in part by NSF grants CCR-9505562 and CCR-9705998, and AFOSR grants F49620-95-1-0508 and F49620-96-1-0087.

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. R. Alur and D. Dill. The theory of timed automata. TCS, 126(2), 1994.

    Google Scholar 

  2. E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In D. Kozen, editor, Proceedings of the Workshop on Logic of Programs, Yorktown Heights, volume 131 of Lecture Notes in Computer Science, pages 52–71. Springer-Verlag, 1981.

    Google Scholar 

  3. E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finitestate concurrent systems using temporal logic specifications. ACM TOPLAS, 8(2), 1986.

    Google Scholar 

  4. R. Cleaveland, P. M. Lewis, S. A. Smolka, and O. Sokolsky. The Concurrency Factory: A development environment for concurrent systems. In R. Alur and T. A. Henzinger, editors, Computer Aided Verification (CAV '96), volume 1102 of Lecture Notes in Computer Science, pages 398–401, New Brunswick, New Jersey, July 1996. Springer-Verlag.

    Google Scholar 

  5. T. Chiueh and C. Venkatramani. The design, implementation and evaluation of a software-based real-time ethernet protocol. In Proceedings of ACM SIG-COMM '95, pages 27–37, 1995.

    Google Scholar 

  6. E. M. Clarke and J. M. Wing. Formal methods: State of the art and future directions. ACM Computing Surveys, 28(4), December 1996.

    Google Scholar 

  7. Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In Proceedings of the 9th International Conference on Computer-Aided Verification, Haifa, Israel, July 1997. Springer-Verlag.

    Google Scholar 

  8. D. Kozen. Results on the propositional Μ-calculus. Theoretical Computer Science, 27:333–354, 1983.

    Google Scholar 

  9. K. L. McMillan and R. Kurshan. A structural induction theorem for processes. Information and Computation, 117:1–11, 1995.

    Google Scholar 

  10. A. K. Mok. Toward mechanization of real-time system design. In A. van Tilborg and G. Koob, editors, Foundations of Real-Time Computing: Formal Specifications and Methods, pages 1–38. Kluwer Academic Publishers, 1991.

    Google Scholar 

  11. D. L. Parnas. Why software jewels are rare. IEEE Computer, 29(2):57–61, February 1996.

    Google Scholar 

  12. J. P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Proceedings of the International Symposium in Programming, volume 137 of Lecture Notes in Computer Science, Berlin, 1982. Springer-Verlag.

    Google Scholar 

  13. Y. S. Ramakrishna and S. A. Smolka. Partial-order reduction in the weak modal mu-calculus. In Proceedings of the Eighth International Conference on Concurrency Theory (CONCUR '97). Springer-Verlag, July 1997.

    Google Scholar 

  14. S. Rajan, N. Shankar, and M. K. Srivas. An integration of model checking with automated proof checking. In P. Wolper, editor, Computer Aided Verification (CAV '95), volume 939 of Lecture Notes in Computer Science, pages 84–97, Liége, Belgium, July 1995. Springer-Verlag.

    Google Scholar 

  15. O. Sokolsky and S. A. Smolka. Local model checking for real-time systems. In Proceedings of the 7th International Conference on Computer-Aided Verification. American Mathematical Society, 1995.

    Google Scholar 

  16. B. Thomsen, L. Leth, and T.-M. Kuo. A Facile tutorial. In Proceedings of the Seventh International Conference on Concurrency Theory (CONCUR '96), Vol. 1119 of Lecture Notes in Computer Science, pages 278–298. Springer-Verlag, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michael Johnson

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Du, X., McDonnell, K.T., Nanos, E., Ramakrishna, Y.S., Smolka, S.A. (1997). Software design, specification, and verification: Lessons learned from the Rether case study. In: Johnson, M. (eds) Algebraic Methodology and Software Technology. AMAST 1997. Lecture Notes in Computer Science, vol 1349. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0000471

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63888-9

  • Online ISBN: 978-3-540-69661-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics