Algebraic Specification Techniques in Object Oriented Programming Environments