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.
Preview
Unable to display preview. Download preview PDF.
References
R. Alur and D. Dill. The theory of timed automata. TCS, 126(2), 1994.
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.
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.
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.
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.
E. M. Clarke and J. M. Wing. Formal methods: State of the art and future directions. ACM Computing Surveys, 28(4), December 1996.
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.
D. Kozen. Results on the propositional Μ-calculus. Theoretical Computer Science, 27:333–354, 1983.
K. L. McMillan and R. Kurshan. A structural induction theorem for processes. Information and Computation, 117:1–11, 1995.
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.
D. L. Parnas. Why software jewels are rare. IEEE Computer, 29(2):57–61, February 1996.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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