Formal Program Development with Approximations

We describe a method for combining formal program development with a disciplined and documented way of introducing realistic compromises, for example necessitated by resource bounds. Idealistic specifications are identified with the limits of sequences of more “realistic” specifications, and such sequences can then be refined in their entirety. Compromises amount to focusing the attention on a particular element of the sequence instead of the sequence as a whole. This method addresses the problem that initial formal specifications can be abstract or complete but rarely both. Various potential application areas are sketched, some illustrated with examples. Key research issues are found in identifying metric spaces and properties that make them usable for refinement using approximations.

[1]  Willem-Paul de Roever,et al.  Data Refinement by Willem-Paul de Roever , 1998 .

[2]  Eerke A. Boiten,et al.  Relational Concurrent Refinement , 2003, Formal Aspects of Computing.

[3]  Bart Jacobs Java's Integral Types in PVS , 2003, FMOODS.

[4]  Eerke Albert Boiten,et al.  Refinement in Z and Object-Z: Foundations and Advanced Applications , 2001 .

[5]  Marta Z. Kwiatkowska,et al.  A Fully Abstract Metric-Space Denotational Semantics for Reactive Probabilistic Processes , 1997, COMPROX.

[6]  Rupak Majumdar,et al.  Approximate re-finement for hybrid systems , 2003 .

[7]  Willem-Paul de Roever,et al.  Data Refinement: Theory , 1998 .

[8]  Pierre America,et al.  Solving Reflexive Domain Equations in a Category of Complete Metric Spaces , 1987, J. Comput. Syst. Sci..

[9]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[10]  J. W. de Bakker,et al.  Ten Years of Concurrency Semantics; Selected Papers of the Amsterdam Concurrency Group , 1992 .

[11]  Eerke A. Boiten Loose Specification and Refinement in Z , 2002, ZB.

[12]  Graeme Smith From ideal to realisable real-time specifications , 1999 .

[13]  Susan Stepney,et al.  Artificial Immune Systems and the Grand Challenge for Non-classical Computation , 2003, ICARIS.

[14]  John-Jules Ch. Meyer,et al.  Metric semantics for concurrency , 1988, BIT.

[15]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[16]  D. S. Neilson From Z to C : illustration of a rigorous development method , 1989 .

[17]  Gerhard Goos,et al.  ZB 2000: Formal Specification and Development in Z and B , 2000 .

[18]  Kai Engelhardt,et al.  Data Refinement: Model-Oriented Proof Methods and their Comparison , 1998 .

[19]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[20]  Richard Banach,et al.  Retrenchment, Refinement, and Simulation , 2000, ZB.

[21]  John Derrick,et al.  Refinement in Z and Object-Z , 2001 .