Lightweight models for interpreting informal specifications

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.

[1]  Theo C. Ruys,et al.  Experience with Literate Programming in the Modelling and Validation of Systems , 1998, TACAS.

[2]  Karen R. Sollins,et al.  The TFTP Protocol (Revision 2) , 1992, RFC.

[3]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[4]  Steve M. Easterbrook,et al.  Verification and validation of requirements for mission critical systems , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  Itu-T Specification and Description Language (SDL) , 1999 .

[6]  Scott O. Bradner,et al.  The Internet Standards Process - Revision 3 , 1996, RFC.

[7]  Jeff Kramer Making Meaningful Models for Mere Mortal (an extended abstract) , 2001 .

[8]  J. Postel,et al.  File transfer protocol (FTP) , 1985 .

[9]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[10]  Jon Postel,et al.  Simple Mail Transfer Protocol , 1981, RFC.

[11]  Jon Postel,et al.  Telnet Protocol Specification , 1980, RFC.

[12]  Jeff Kramer Making meaningful models for mere mortals , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[13]  M. S. Feather Rapid application of lightweight formal methods for consistency analyses : Managing inconsistency in software development , 1998 .

[14]  Guy Tremblay Formal methods: mathematics, computer science or software engineering? , 2000, Thirteenth Conference on Software Engineering Education and Training.

[15]  Birgit Geppert,et al.  Re-engineering of the Internet Stream Protocol ST2+ with formalized design patterns , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[16]  Jon Postel,et al.  User Datagram Protocol , 1980, RFC.