Abstract
We explore the use of lightweight models, namely those in PROMELA/SPIN, by software engineers within the life cycle of software development. The primary goal is to improve the interpretation and understanding of an informal specification, not necessarily to validate the specification. We give details of an example involving an informal specification of an application protocol in telecommunications, namely the Request for Comments (RFC) standard for the Trivial File Transfer protocol (TFTP). We show how we were able to use this type of modelling in an iterative process, using tools that facilitate the process.
Similar content being viewed by others
Notes
This scenario identified using the simple model in Fig. 3 has actually been the source of difficulties in several implementations of TFTP. For example, there is a documented bug in Sun Solaris 5, ID#1110881: "Tftp cannot get file of 16 MB over and up." This bug was due to an incorrect data type in a C include file (tftp.h). The type for the block number in the DATA and ACK messages was incorrectly defined as "short", which is a signed value, as opposed to "unsigned short". Because the block number was (incorrectly) signed, it would become "negative" in the logic of the software during the transfer of a file of more than 16 MB.
References
Feather MS (1998) Rapid application of lightweight formal methods for consistency analyses. IEEE Trans Softw Eng 24:949–959
Easterbrook S (1999) Verification and validation of requirements for mission critical systems. In: Proceedings of the 1999 international conference on software engineering, Institute for Software Research, Irvine, Calif., 1999
Holzmann GJ, American Telephone and Telegraph Company (1991) Design and validation of computer protocols. Prentice-Hall, Englewood Cliffs, NJ
Ruys TC, Brinksma E (1998) Experience with literate programming in the modelling and validation of systems. In: 4th international conference on tools and algorithms for the construction and analysis of systems (TACAS'98), Lisbon, Portugal, 1998
Kramer J (2001) Making meaningful models for mere mortals. In: Proceedings of the 2001 international conference on application of concurrency to system design, Department of Computing, Imperial College of Science, London, 2001
Sollins K (2002) The TFTP protocol (revision 2). STD 33, July 1992. http://www.faqs.org/rfcs/std/std33.html. Cited 30 Sep 2002
Postel J, Reynolds J (1983) Telnet protocol specification. STD8, May 1983. http://www.faqs.org/rfcs/std/std8.html. Cited 30 Sep 2002
Postel J, Reynolds J (1985) File transfer protocol (FTP). STD 9, October 1985. http://www.faqs.org/rfcs/std/std9.html. Cited 30 Sep 2002
Postel JB (2002) Simple mail transfer protocol. STD 10, August 1982. http://www.faqs.org/rfcs/std/std10.html. Cited 30 Sep 2002
Bradner S (1996) The internet standards process – revision 3. RFC 1602, October 1996. http://www.ietf.org/rfc/rfc2026.txt. Cited 30 Sep 2002
Chan P, Lee R, Kramer D (1998) The Java class libraries, 2nd edn. Addison-Wesley, Reading, MA
Hall A (1990) Seven myths of formal methods. IEEE Softw 7:11–19
Tremblay G (2000) Formal methods: mathematics, computer science or software engineering? IEEE Trans Educ 43:377–382
Postel J (2002) User datagram protocol. STD 0006, August 1980. http://www.faqs.org/rfcs/rfc768.html. Cited 30 Sept. 2002
ITU-T (2002) Recommendation Z.100, Specification and Description Language (SDL). Recommendation Z.100, Specification and description language (SDL). ITU, Geneva, 30 Sept. 2002
Telelogic (2002) Telelogic TAU SDL suite (formerly SDT). Telelogic, Irvine, California
Rossler F, Geppert B, Schaible P (1998) Re-engineering of the internet stream protocol ST2+ with formalized design patterns. In: Proceedings of the 5th international conference on software reuse, Victoria, British Columbia, 1998
Acknowledgements
I wish to thank the students of the winter 2001 semester of LOG540 Analyse et conception de logiciels de télécommunication at the ÉTS for their courage, patience and helpful feedback as pioneer students in our Software Engineering bachelor's program.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Fuhrman, C.P. Lightweight models for interpreting informal specifications. Requirements Eng 8, 206–221 (2003). https://doi.org/10.1007/s00766-002-0154-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-002-0154-9