Abstract:
Abstract:
One method for detecting errors in a formal specification is animation. It is complementary to theorem proving and can be highly cost-effective, particularly earlier in development. In my talk I'll discuss animation of the specification notation Z. I'll argue that: 1. it is desirable to perform analysis prior to execution; 2. logic programming languages are an attractive target for animations of Z; 3. mode analysis can help bridge the gap between Z and Mercury. The details of a mode analysis algorithm will be presented. What is Animation? "To execute the unexecutable spec" Automatically deriving prototypes from specifications. Exploration: more general than execution. 1 One of the main differences between animation and compilation is that animation is a partial function. 1-1 Why Animation? ffl Iterative construction of mathematical models ffl Early feedback-- useful for verification ffl Prototype can be demonstrated-- useful for validation ffl More accessable to developers (lightweight) ffl Complementary to theorem proving 2 Our approach 1. Specify in a notation with semantics in first order set theory; 2. Translate specification into a logic program; 3. Execute logic program to explore properties of the specification. 3 Why Z?
Citations
| 26 | Towards correct executable semantics for Z – Breuer, Bowen - 1994 |
| 12 | EZ: A system for automatic prototyping of Z specifications – Doma, Nicholl - 1991 |
| 8 | Animating Z: Interactivity, Transparency and Equivalence – Utting - 1995 |
| 6 | On the animation of "not executable" specifications by Prolog – Sterling, Ciancarini, et al. - 1996 |
| 4 | FunZ: An Intermediate Specification Language – Sherrell, Carver - 1995 |
| 4 | Animation is approximation – West - 1996 |
| 1 | editors, ZUM'97: TheZ Formal Specification Notation – Hinchey, Till - 1997 |

