LECTURES 9-11
ALGEBRAIC SPECIFICATIONS
Object Definitions
1. Syntax: involved sets, operations, domains, ranges
e.g., Push: Stack ´ Integer ® Stack
2. Semantics: equations or axioms relating operations
e.g. Pop(Push(S, i)) = S
Examples: Stack, Set, String
Completeness: Results of each operation are fully defined.
Generator and Observer (Inquiry) Operations
Consistency: Equations don't allow proof that true = false.
Modularization: Imports and Assumes (Inheritance) Relations
Tools for Specification and Verification: e.g. Larch, AFFIRM, OBJ