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