Algebraic Specification
Objects specified as algebraic sorts in terms of equivalence relations between associated operations
State is concealed in objects
Objects can be built hierarchically
Specification using algebraic sorts
1. establish the sorts (objects and attributes)
2. establish the necessary operations
- constructor operations
- access operations
3. establish the equivalence relations
- rule of thumb: a relation for each access over each constructor
- simplified when constructors defined in terms of imports