Design for verification for asynchronously communicating Web services

We present a design for verification approach to developing reliable web services. We focus on composite web services which consist of asynchronously communicating peers. Our goal is to automatically verify properties of interactions among such peers. We propose a design pattern that eases the development of such web services and enables a modular, assume-guarantee style verification strategy. In the proposed design pattern, each peer is associated with a behavioral interface description which specifies how that peer will interact with other peers. Using these peer interfaces we automatically generate BPEL specifications to publish for interoperability. Assuming that the participating peers behave according to their interfaces, we verify safety and liveness properties about the global behavior of the composite web service during behavior verification. During interface verification, we check that each peer implementation conforms to its interface. Using the modularity in the proposed design pattern, we are able to perform the interface verification of each peer and the behavior verification as separate steps. Our experiments show that, using this modular approach, one can automatically and efficiently verify web service implementations.

[1]  Xiang Fu,et al.  Conversation protocols: a formalism for specification and verification of reactive electronic services , 2003, Theor. Comput. Sci..

[2]  Xiang Fu,et al.  Conversation specification: a new approach to design and analysis of e-service composition , 2003, WWW '03.

[4]  Diego Calvanese,et al.  Automatic Composition of E-services That Export Their Behavior , 2003, ICSOC.

[5]  William Crawford,et al.  J2EE Design Patterns , 2003 .

[6]  Tony Andrews Business Process Execution Language for Web Services Version 1.1 , 2003 .

[7]  Greg Meredith,et al.  Contracts and types , 2003, CACM.

[8]  W. Visser,et al.  Second Generation of a Java Model Checker , 2000 .

[9]  Tevfik Bultan,et al.  Verifiable concurrent programming using concurrency controllers , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[10]  Anne H. H. Ngu,et al.  Declarative composition and peer-to-peer provisioning of dynamic Web services , 2002, Proceedings 18th International Conference on Data Engineering.

[11]  Sebastián Uchitel,et al.  Model-based verification of Web service compositions , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[12]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[13]  Dennis Koga,et al.  Design for Verification: Using Design Patterns to Build Reliable Systems , 2003 .

[14]  Munindar P. Singh,et al.  Verifying Constraints on Web Service Compositions , 2002 .

[15]  C. M. Sperberg-McQueen,et al.  Extensible markup language , 1997 .

[16]  Xiang Fu,et al.  Analysis of interacting BPEL web services , 2004, WWW '04.

[17]  Santhosh Kumaran,et al.  Conversation support for business process integration , 2002, Proceedings. Sixth International Enterprise Distributed Object Computing.

[18]  Jakob Rehof,et al.  Conformance Checking for Models of Asynchronous Message Passing Software , 2002, CAV.

[19]  Sheila A. McIlraith,et al.  Simulation, verification and automated composition of web services , 2002, WWW.

[20]  Matjaz B. Juric,et al.  Business Process Execution Language for Web Services BPEL and BPEL4WS 2nd Edition , 2006 .

[21]  S. Nakajima,et al.  Verification of Web service flows with model-checking techniques , 2002, First International Symposium on Cyber Worlds, 2002. Proceedings..