Literate Mathematical Development of a Revision Management System

This paper describes an approach to formal development in which specifications, development steps, and proofs are expressed in a typed functional language and presented in a literate mathematical style. This approach is illustrated and discussed by the development of a revision management system. The specifications and development steps of this case study are constructed following the VDM-methodology. The proofs of the associated proof obligations have been machine-checked for correctness.

[1]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[2]  Richard S. Bird,et al.  Lectures on Constructive Functional Programming , 1989 .

[3]  Carroll Morgan,et al.  Specification of the UNIX Filing System , 1984, IEEE Transactions on Software Engineering.

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

[5]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[6]  Matthias Weber,et al.  The Generic Development Language Deva: Presentation and Case Studies , 1993 .

[7]  A. Lampen,et al.  Advancing Files to Attributed Software Objects , 1991, USENIX Winter.

[8]  Rp Rob Nederpelt Strong normalization in a typed lambda calculus with lambda structured types , 1994 .

[9]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[10]  Matthias Weber Deriving Transivity of VDM-Reification in DEVA , 1991, VDM Europe.

[11]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[12]  Matthias Weber,et al.  The Generic Development Language Deva , 1993, Lecture Notes in Computer Science.

[13]  de Ng Dick Bruijn,et al.  A survey of the project Automath , 1980 .

[14]  Matthias Weber Formalization of the Bird-Meertens Algorithmic Calculus in the Deva Meta-Calculus , 1990, Programming Concepts and Methods.

[15]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[16]  Didier Bert,et al.  Integration of Semantical Verification Conditions in a Specification Language Definition , 1991, AMAST.

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

[18]  Peter A. Lindsay,et al.  mural: A Formal Development Support System , 1991, Springer London.

[19]  Lambert Meertens,et al.  Algorithmics : towards programming as a mathematical activity , 1986 .

[20]  Jean-Raymond Abrial,et al.  The B Tool (Abstract) , 1988, VDM Europe.

[21]  Pierre-Yves Schobbens,et al.  Two Approaches towards the Formalisation of VDM , 1990, VDM Europe.

[22]  Martin Simons,et al.  Literate and Structured Presentation of Formal Proofs , 1994, PROCOMET.

[23]  Matthias Anlauff,et al.  An experimental support system for formal mathematical reasoning , 1994, FME.

[24]  Walter F. Tichy,et al.  Rcs — a system for version control , 1985, Softw. Pract. Exp..