  Design by Constract (DBC) has influenced the development of formal
specification languages that allow the mix of specification and implementation
code, like Eiffel, the Java Modeling Language (JML) and Spec#. Meanwhile
algebraic specification languages have been developing independently and offer
full support for specification and verification of design for large and complex
systems in a mathematical rigorous way. However there is no guarantee that the
final implementation will comply to the specification. In this paper we
proposed the use of the latter for the specification and verification of the
systems design and then by presenting a translation between the two, the use of
the former to ensure that the implementation respects the specification and
thus enjoy the verified properties.

Software Engineering