Semantics and Algebraic Specification