Describing and reasoning on Web services using process algebra

We argue that essential facets of Web services, and especially those useful to understand their interaction, can be described using process-algebraic notations. Web service description and execution languages such as BPEL are essentially process description languages; they are based on primitives for behaviour description and message exchange which can also be found in more abstract process algebras. One legitimate question is therefore whether the formal approach and the sophisticated tools introduced for process algebra can be used to improve the effectiveness and the reliability of Web service development. Our investigations suggest a positive answer, and we claim that process algebras provide a very complete and satisfactory assistance to the whole process of Web service development. We show on a case study that readily available tools based on process algebra are effective at verifying that Web services conform to their requirements and respect properties. We advocate their use both at the design stage and for reverse engineering issues. More prospectively, we discuss how they can be helpful to tackle choreography issues.

[1]  Mirko Viroli,et al.  Towards a Formal Foundation to Orchestration Languages , 2004, WSFM.

[2]  Massimo Mecella,et al.  When are Two Web Services Compatible? , 2004, TES.

[3]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[4]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[5]  Ahmed K. Elmagarmid,et al.  Composing Web services on the Semantic Web , 2003, The VLDB Journal.

[6]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[7]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

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

[9]  Zohar Manna,et al.  Temporal verification of reactive systems - safety , 1995 .

[10]  Gwen Salaün,et al.  Negotiation Among Web Services Using LOTOS/CADP , 2004, ECOWS.

[11]  Grzegorz Rozenberg,et al.  Timed CSP: Theory and practice , 1992 .

[12]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[13]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[14]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[15]  Tran Cao Son,et al.  Adapting Golog for Composition of Semantic Web Services , 2002, KR.

[16]  Jim Davies,et al.  Timed CSP: Theory and Practice , 1991, REX Workshop.

[17]  Marco Aiello,et al.  Planning and monitoring the execution of web service requests , 2003, International Journal on Digital Libraries.

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

[19]  Gwen Salaün,et al.  Encoding abstract descriptions into executable Web services: towards a formal development , 2005, The 2005 IEEE/WIC/ACM International Conference on Web Intelligence (WI'05).

[20]  Joachim Parrow,et al.  An Introduction to the π-Calculus , 2001, Handbook of Process Algebra.

[21]  Jianwen Su,et al.  E-services: a look behind the curtain , 2003, PODS.

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

[23]  Michael J. Butler,et al.  Tool Support for Visualizing CSP in UML , 2002, ICFEM.

[24]  Jerry R. Hobbs,et al.  DAML-S: Web Service Description for the Semantic Web , 2002, SEMWEB.

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

[26]  Frank Leymann,et al.  Managing Business Processes via Workflow Technology , 2001, VLDB.

[27]  W. F. Osgood Introduction to the calculus , 1922 .

[28]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[29]  Shin Nakajima,et al.  Model-Checking Verification for Reliable Web Service , 2002 .

[30]  Marco Pistore,et al.  Requirements-Driven Verification of Web Services , 2004, Electron. Notes Theor. Comput. Sci..

[31]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[32]  Sheila A. McIlraith,et al.  Analysis and simulation of Web services , 2003, Comput. Networks.

[33]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[34]  Alin Deutsch,et al.  Specification and verification of data-driven web services , 2004, PODS.