Skip to main content
Log in

Lightweight models for interpreting informal specifications

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1.
Fig. 2.
Fig. 3.
Fig. 4.
Fig. 5.
Fig. 6.
Fig. 7.
Fig. 8.
Fig. 9.
Fig. 10.
Fig. 11.

Similar content being viewed by others

Notes

  1. 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

  1. Feather MS (1998) Rapid application of lightweight formal methods for consistency analyses. IEEE Trans Softw Eng 24:949–959

    Article  Google Scholar 

  2. 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

  3. Holzmann GJ, American Telephone and Telegraph Company (1991) Design and validation of computer protocols. Prentice-Hall, Englewood Cliffs, NJ

  4. 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

  5. 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

  6. Sollins K (2002) The TFTP protocol (revision 2). STD 33, July 1992. http://www.faqs.org/rfcs/std/std33.html. Cited 30 Sep 2002

  7. Postel J, Reynolds J (1983) Telnet protocol specification. STD8, May 1983. http://www.faqs.org/rfcs/std/std8.html. Cited 30 Sep 2002

  8. 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

  9. Postel JB (2002) Simple mail transfer protocol. STD 10, August 1982. http://www.faqs.org/rfcs/std/std10.html. Cited 30 Sep 2002

  10. Bradner S (1996) The internet standards process – revision 3. RFC 1602, October 1996. http://www.ietf.org/rfc/rfc2026.txt. Cited 30 Sep 2002

  11. Chan P, Lee R, Kramer D (1998) The Java class libraries, 2nd edn. Addison-Wesley, Reading, MA

  12. Hall A (1990) Seven myths of formal methods. IEEE Softw 7:11–19

    Article  Google Scholar 

  13. Tremblay G (2000) Formal methods: mathematics, computer science or software engineering? IEEE Trans Educ 43:377–382

    Article  Google Scholar 

  14. Postel J (2002) User datagram protocol. STD 0006, August 1980. http://www.faqs.org/rfcs/rfc768.html. Cited 30 Sept. 2002

  15. ITU-T (2002) Recommendation Z.100, Specification and Description Language (SDL). Recommendation Z.100, Specification and description language (SDL). ITU, Geneva, 30 Sept. 2002

  16. Telelogic (2002) Telelogic TAU SDL suite (formerly SDT). Telelogic, Irvine, California

  17. 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

Download references

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

Authors

Corresponding author

Correspondence to Christopher P. Fuhrman.

Appendix

Appendix

Promela source code for initial model (Fig. 12)

Fig. 12.
figure 12figure 12

 

Promela source code for refined model (Fig. 13)

Fig. 13.
figure 13figure 13figure 13figure 13figure 13

 

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-002-0154-9

Keywords

Navigation