[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

An approach to verification and validation of a reliable multicasting protocol

Published: 01 May 1996 Publication History

Abstract

This paper describes the process of implementing a complex communications protocol that provides reliable delivery of data in multicast-capable, packet-switching telecommunication networks. The protocol, called the Reliable Multicasting Protocol (RMP), was developed incrementally using a combination of formal and informal techniques in an attempt to ensure the correctness of its implementation. Our development process involved three concurrent activities: (1) the initial construction and incremental enhancement of a formal state model of the protocol machine; (2) the initial coding and incremental enhancement of the implementation; and (3) model-based testing of iterative implementations of the protocol. These activities were carried out by two separate teams: a design team and a V&V team. The design team built the first version of RMP with limited functionality to handle only nominal requirements of data delivery. In a series of iterative steps, the design team added new functionality to the implementation while the V&V team kept the state model in fidelity with the implementation. This was done by generating test cases based on suspected errant or off-nominal behaviors predicted by the current model. If the execution of a test was different between the model and implementation, then the differences helped identify inconsistencies between the model and implementation. The dialogue between both teams drove the co-evolution of the model and implementation. Testing served as the vehicle for keeping the model and implementation in fidelity with each other. This paper describes (1) our experiences in developing our process model; and (2) three example problems found during the development of RMP.

References

[1]
Luo, G., G. v. Bochmann, and A. Petrenko, Test Selection Based on Communicating Nondeterministic Finite- State Machines Using a Generalized Wp-Method, IEEE Transactions on Software Engineering, Volume 20, Number 2, February 1994, pp. 149-162.
[2]
Sidhu, D. P. and T.K. Leung, Formal Methods for Protocol Testing: A Detailed Study, IEEE Transactions on Software Engineering, Volume 15, Number 4, April 1989, pp. 413-426.
[3]
Montgomery, T., Design, Implementation, and Verification of the Reliable Multicasting Protocol, M.S. Thesis, West Virginia University, December 1994.
[4]
Chang, J.M. and N.F. Maxemchuk, Reliable Broadcast Protocols, A CM Transactions on Computer Systems, Volume 2, Number 3, August 1984, pp. 251-273.
[5]
Yodaiken, V. and K. Ramamritham, Verification of a Reliable Net Protocol, Formal Techniques in Real-Time and Fault-Tolerant Systems, January 1992, pp. 193-215.
[6]
Heninger, K.L., Specifying software for complex systems: New techniques and their application, IEEE Transactions on Software Engineering, Volume 6, Number 1, January 1980.
[7]
Jahanian, F. and A. K. Mok, Modechart: A Specification Language for Real-Time Systems, IEEE Transactions on Software Engineering, Volume 20, Number 12, December 1994, pp. 933-947.
[8]
Leveson, N. G., M. P. E. Heimdahl, H. Hildreth, and J. D. Reese, Requirements Specification for Process- Control Systems, IEEE Transactions on Software Engineering, Volume 20, Number 9, September 1994, pp. 684- 707.
[9]
S. Owre, N. Shankar, and J. M. Rushby, User Guide for the PVS Specification and Verification System (Beta Release), Computer Science Laboratory, SRI International, 1991.
[10]
D. Dill, A. Drexler, A. Hu, and C. Yang, Protocol Verification as a Hardware Design Aid, IEEE Conference on Computer Design: VLSI in Computers and Processors, IEEE Computer Society Press, October 1992.
[11]
J. Burch, E. Clarke, D. Long, K. McMillan, and D. Dill, Symbolic Model Checking for Sequential Circuit Verification, IEEE Transactions on Computer-Aided Design, Volume 13, Number 4, April 1994.
[12]
G. J. Holzmann and D. Peled, An improvement in formal verification, Proceedings of the 7th International Conference on Fornml Description Techniques, FORTE 94, Berne, Switzerland, October 1994.
[13]
Deering S., E., Multicasting Routing in Internetworks and Extended LANs, ACM SIGCOMM '88 Symposium, August 1988.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 21, Issue 3
May 1996
293 pages
ISSN:0163-5948
DOI:10.1145/226295
Issue’s Table of Contents
  • cover image ACM Conferences
    ISSTA '96: Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
    May 1996
    294 pages
    ISBN:0897917871
    DOI:10.1145/229000
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1996
Published in SIGSOFT Volume 21, Issue 3

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)98
  • Downloads (Last 6 weeks)18
Reflects downloads up to 28 Jan 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media