Refinement in Z and Object-Z by John Derrick & Eerke Boiten