In this paper we discuss a model-based approach to verifying web service compositions for web service implementations. This approach provides verification of properties created from design specifications and implementation models to confirm expected results from the viewpoints of both the designer and implementer. Specifications of the design are modeled in UML, in the form of Message Sequence Charts (MSCs), and compiled into the Finite State Process notation (FSP) to concisely describe and reason about the concurrent programs. Implementations are mechanically translated to FSP to allow an equivalence trace verification process to be performed. By providing early design verification, the implementation, testing and deployment of web service compositions can be eased through the understanding of the differences, limitations and undesirable traces allowed by the composition. The approach is supported by a suite of cooperating tools for specification, formal modeling and trace animation ...