Learning by Doing: Practical Courses in Lightweight Formal Methods using VDM++

We describe the design and delivery of two courses that aim to develop skills of use to students in their subsequent professional practice, whether or not they are directly applying formal methods. Both curricula take a ``lightweight'' approach, emphasising skills in model construction and analysis by test rather than formal verification. The accessibility of the formalism is enhanced by the use of well-established notations (VDM-SL and VDM++); its credibility is established by using examples drawn from industrial projects, and by using an industrial-strength tool set. Examples from the courses are presented and initial results based on student evaluation and examination performance are discussed.

[1]  Peter Gorm Larsen,et al.  Applying Formal Specification in Industry , 1996, IEEE Softw..

[2]  Richard F. Paige,et al.  Specification-Driven Design with Eiffel and Agents for Teaching Lightweight Formal Methods , 2004, TFM.

[3]  Peter Gorm Larsen,et al.  The IFAD VDM-SL toolbox: a practical approach to formal specifications , 1994, SIGP.

[4]  Bruce Christianson,et al.  Formal Systems, Not Methods , 2004, TFM.

[5]  Peter Gorm Larsen,et al.  An Executable Subset of Meta-IV with Loose Specification , 1991, VDM Europe.

[6]  Jane Sinclair,et al.  Motivating Study of Formal Methods in the Classroom , 2004, TFM.

[7]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[8]  Cliff B. Jones,et al.  A Rigorous Approach to Formal Methods , 1996 .

[9]  Cliff B. Jones,et al.  Specifications are not (necessarily) executable , 1989 .

[10]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[11]  Bo Stig Hansen,et al.  Information technology - Programming languages, their environments and system software interfaces: Vienna DevelopmentMethod - Specification Language - Part 1: Base language , 1996 .

[12]  Peter A. Lindsay,et al.  Proof in VDM: A Practitioner's Guide , 1993, Proof in VDM.

[13]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[14]  Jozef Hooman,et al.  Modeling and Validating Distributed Embedded Real-Time Systems with VDM++ , 2006, FM.

[15]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[16]  Peter Pepper,et al.  Distributed Teaching of Formal Methods , 2004, TFM.

[17]  Steve Reeves,et al.  Teaching formal methods lite via testing , 2001, Softw. Test. Verification Reliab..

[18]  C. Neville Dean,et al.  Teaching Formal Methods: CoLogNET/FME Symposium, TFM 2004, Ghent, Belgium, November 18-19, 2004. Proceedings (Lecture Notes in Computer Science) , 2004 .