An Integrated Algebraic Approach to the Specification of Data Types, Processes and Objects