IJE TRANSACTIONS B: Applications Vol. 29, No. 11, (November 2016) 1549-1557 Please cite this article as: Y. Rastegari, Z. Sajadi, F. Shams, Web Service Choreography Verification Using Z Formal Specification, International Journal of Engineering (IJE), TRANSACTIONS B: Applications Vol. 29, No. 11, (November 2016) 1549-1557 International Journal of Engineering Journal Homepage: www.ije.ir Web Service Choreography Verification Using Z Formal Specification Y. Rastegari * , Z. Sajadi, F. Shams Department of Computer Science and Engineering, Shahid Beheshti University, Tehran, Iran PAPER INFO Paper history: Received 30 November 2015 Received in revised form 12 September 2016 Accepted 30 September 2016 Keywords: Web Service Choreography Compatibility Verification Adaptation Z Formal Specification ABSTRACT Web Service Choreography Description Language (WS-CDL) describes and orchestrates the services interactions among multiple participants. WS-CDL verification is essential since the interactions would lead to mismatches. Existing works verify the messages ordering, the flow of messages, and the expected results from collaborations. In this paper, we present a Z specification of WS-CDL. Besides verifying the mentioned concerns, we find out whether the choreographies are realizable by web services protocols at orchestration level. In this regard we detect the interactions between each two distinct participants which lead to deadlock or unspecified reception. An „itinerary purchase‟ case study for prototyping the transformation rules is presented and the Z/EVES tool is used to demonstrate the protocol compatibility. Also, we define multiple attributes to compare the choreography description languages/models from the verification and adaptation viewpoints. doi: 10.5829/idosi.ije.2016.29.11b.08 1. INTRODUCTION 1 Choreography describes peer-to-peer collaborations of service consumers and service providers (i.e. choreography participants) from a global viewpoint. Choreography defines ordered message exchanges which result in accomplishing a common business goal. Web Service Choreography Description Language (WS- CDL) [1] is the W3C recommended language for describing service choreographies. WS-CDL is protocol-compatible if every joint execution of each two distinct participants leads to a proper final state, i.e. a state in which both participants are in a final state in their respective protocols. Protocol mismatches are defined in two main types: unspecified reception and deadlock [2]. Unspecified reception occurs when one party sends a message while the other is not expecting it. Deadlock refers to the case where both parties are mutually waiting to receive some messages from the other. WS-CDL has a static structure and does not consist of dynamic elements and management rules which govern the behaviors of 1 *Corresponding Author‟s Email: y_rastegari@sbu.ac.ir (Y. Rastegari) participants; therefore it is essential to transform WS- CDL into adaptable and verifiable models. There are two types of transformation including model-driven [3-6] (with the goal of adaptation) and formal [7-11] (with the goal of verification) in the literature. The model driven approaches translate a WS- CDL element to its respective replacement in terms of BPEL as well as WSCDL. This enables tracing down changes from choreography to orchestration and vice versa which is an important issue in the choreography adaptation scope. On the other hand, some studies formalize the WS-CDL elements. They tried to verify several aspects of service choreography like protocol compatibility, time constraints, and message ordering. It might also be observed that these works are limited to a specific subject and does not check whether the committed choreography is realizable by the existing services protocols at the orchestration level. In this paper, we aim at transforming WS-CDL into Z models that are modifiable to overcome new requirements and also verifiable to prevent unexpected faulty behaviors that are mentioned in the related studies. Furthermore, we detect the interactions between each two distinct participants which lead to deadlock or unspecified reception. This is significant because web services protocols defined in WS-BPEL processes,