Axiomatic Specifications
Implicitly defines behavior in terms of [first-order] logic formulas specifying input/output assertions (and possibly intermediate assertions)
Specification includes
- operation interfaces: input/output parameters
- operation axioms: pre/post assertions on input/output
Pros and Cons
- fairly easy to understand
- widely applicable (although hard to scale up)
- most widely used technique in proving (inductive assertion method)
- foundation of mathematics in software development
Many languages support this type of specification:
- VDM, Anna
- Extensions include various logics for specific application domains (e.g., temporal logic: RTIL, GIL)