An integrated methodology for creating composed Web/grid services

This thesis presents an approach to design, specify, validate, verify, implement, and evaluate composed web/grid services. Web and grid services can be composed to create new services with complex behaviours. The BPEL (Business Process Execution Language) standard was created to enable the orchestration of web services, but there have also been investigation of its use for grid services. BPEL specifies the implementation of service composition but has no formal semantics; implementations are in practice checked by testing. Formal methods are used in general to define an abstract model of system behaviour that allows simulation and reasoning about properties. The approach can detect and reduce potentially costly errors at design time. CRESS (Communication Representation Employing Systematic Specification) is a domainindependent, graphical, abstract notation, and integrated toolset for developing composite web service. The original version of CRESS had automated support for formal specification in LOTOS (Language Of Temporal Ordering Specification), executing formal validation with MUSTARD (Multiple-Use Scenario Testing and Refusal Description), and implementing in BPEL4WS as the early version of BPEL standard. This thesis work has extended CRESS and its integrated tools to design, specify, validate, verify, implement, and evaluate composed web/grid services. The work has extended the CRESS notation to support a wider range of service compositions, and has applied it to grid services as a new domain. The thesis presents two new tools, CLOVE (CRESS Language-Oriented Verification Environment) and MINT (MUSTARD Interpreter), to respectively support formal verification and implementation testing. New work has also extended CRESS to automate implementation of composed services using the more recent BPEL standard WS-BPEL 2.0.

[1]  Stephan Merz,et al.  Model Checking , 2000 .

[2]  Kenneth J. Turner Exploiting the m4 Macro Language , 1994 .

[3]  Matthew R. Pocock,et al.  Taverna: a tool for the composition and enactment of bioinformatics workflows , 2004, Bioinform..

[4]  Barry W. Boehm,et al.  Verifying and Validating Software Requirements and Design Specifications , 1989, IEEE Software.

[5]  Sebastián Uchitel,et al.  Compatibility verification for Web service choreography , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[6]  Kenneth J. Turner,et al.  Graphical Composition of Grid Services , 2006, RISE.

[7]  David S. Rosenblum,et al.  Model checking service compositions under resource constraints , 2007, ESEC-FSE '07.

[8]  Rudolf Schmid,et al.  Organization for the advancement of structured information standards , 2002 .

[9]  Borja Sotomayor,et al.  Globus toolkit 4 : programming Java services , 2006 .

[10]  Andrea Ferrara,et al.  Web services: a process algebra approach , 2004, ICSOC '04.

[11]  Richard O. Sinnott,et al.  Development of a Grid Enabled Occupational Data Environment , 2006 .

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

[13]  Liang Chen,et al.  Sedna: A BPEL-Based Environment for Visual Scientific Workflow Modeling , 2007, Workflows for e-Science, Scientific Workflows for Grids.

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

[15]  Guy Leduc,et al.  A Formal Definition of Time in LOTOS , 1998, Formal Aspects of Computing.

[16]  Itu-T Specification and Description Language (SDL) , 1999 .

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

[18]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[19]  Jing Zhou,et al.  Describing and Reasoning on the Composition of Grid Services Using Pi-Calculus , 2006, The Sixth IEEE International Conference on Computer and Information Technology (CIT'06).

[20]  Steven J. DeRose,et al.  XML Path Language (XPath) Version 1.0 , 1999 .

[21]  Shin Nakajima Model-Checking Behavioral Specification of BPEL Applications , 2006, Electron. Notes Theor. Comput. Sci..

[22]  Kenneth J. Turner,et al.  Orchestrating Grid Services using BPEL and Globus Toolkit 4 , 2006 .

[23]  Richard O. Sinnott,et al.  Enabling Quantitative Data Analysis Through e-Infrastructure , 2009 .

[24]  Wil M.P. van der Aalst,et al.  Pi calculus versus petri nets: let us eat humble pie rather than further inflate the Pi hype , 2005 .

[25]  Anura Gurugé,et al.  Universal Description, Discovery, and Integration , 2004 .

[26]  Paola Inverardi,et al.  Deadlock-free software architectures for COM/DCOM Applications , 2003, J. Syst. Softw..

[27]  Hubert Garavel An Overview of the Eucalyptus Toolbox , 1996 .

[28]  Luciano Baresi,et al.  Keep It Small, Keep It Real: Efficient Run-Time Verification of Web Service Compositions , 2009, FMOODS/FORTE.

[29]  Mark O'Neill,et al.  Web Services Security , 2003 .

[30]  Behçet Sarikaya,et al.  Test Generation from LOTOS Specifications , 1991, IEEE Trans. Computers.

[31]  Stuart Kent The unified modeling language , 2001, FME 2001.

[32]  Wolfgang Ziegler,et al.  Trust Issues in Shibboleth-Enabled Federated Grid Authentication and Authorization Infrastructures Supporting Multiple Grid Middleware , 2007, Third IEEE International Conference on e-Science and Grid Computing (e-Science 2007).

[33]  Wolfgang Emmerich,et al.  Deadlock detection in distributed object systems , 2001, FSE 2001.

[34]  Jean-Sébastien Sottet,et al.  An MDE-SOA Approach to Support Plastic User Interfaces in Ambient Spaces , 2007, HCI.

[35]  C.A. Vissers,et al.  Formal description techniques , 1983, Proceedings of the IEEE.

[36]  Aleksander Slomiski,et al.  On using BPEL extensibility to implement OGSI and WSRF Grid workflows , 2006, Concurr. Comput. Pract. Exp..

[37]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[38]  Laure Petrucci,et al.  The Petri Net Markup Language: Concepts, Technology, and Tools , 2003, ICATPN.

[39]  Kenneth J. Turner,et al.  Representing and analysing composed web services using Cress , 2007, J. Netw. Comput. Appl..

[40]  Jan Mendling,et al.  Business Process Execution Language for Web Services , 2006, EMISA Forum.

[41]  Mihaela Sighireanu,et al.  Efficient on-the-fly model-checking for regular alternation-free mu-calculus , 2003, Sci. Comput. Program..

[42]  Colin J. Fidge A Comparative Introduction to CSP, CCS and LOTOS , 2004 .

[43]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[44]  Wil M. P. van der Aalst,et al.  WofBPEL: A Tool for Automated Analysis of BPEL Processes , 2005, ICSOC.

[45]  C. Petri Kommunikation mit Automaten , 1962 .

[46]  Christian Stahl,et al.  A Petri Net Semantics for BPEL , 2005 .

[47]  Kenneth J. Turner,et al.  A Rigorous Methodology for Composing Services , 2009, FMICS.

[48]  Steven Tuecke,et al.  The Physiology of the Grid An Open Grid Services Architecture for Distributed Systems Integration , 2002 .

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

[50]  Kenneth J. Turner,et al.  Automated Analysis and Implementation of Composed Grid Services , 2007 .

[51]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[52]  J. Hillston,et al.  Analysing Web Service Composition with PEPA , 2004 .

[53]  MengChu Zhou,et al.  A Petri Net Approach to Analysis and Composition of Web Services , 2010, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[54]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[55]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[56]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[57]  Cesare Pautasso,et al.  JOpera: an agile environment for Web service composition with visual unit testing and refactoring , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[58]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[59]  Jean-Raymond Abrial,et al.  Formal methods in industry: achievements, problems, future , 2006, ICSE.

[60]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[61]  Joseph Sifakis,et al.  Compilation and verification of LOTOS specifications , 1990, PSTV.

[62]  Luciano Baresi,et al.  Validation of web service compositions , 2007, IET Softw..

[63]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[64]  Wil M. P. van der Aalst,et al.  Formal semantics and analysis of control flow in WS-BPEL , 2007, Sci. Comput. Program..

[65]  Shing-Chi Cheung,et al.  Checking safety properties using compositional reachability analysis , 1999, TSEM.

[66]  Ami Marowka,et al.  What is the GRID? , 2002, Scalable Comput. Pract. Exp..

[67]  Carron Shankland,et al.  A Symbolic Semantics and Bisimulation for Full LOTOS , 2001, FORTE.

[68]  Karsten Wolf,et al.  Transforming BPEL to Petri Nets , 2005, Business Process Management.

[69]  Liang Chen,et al.  Grid Service Orchestration Using the Business Process Execution Language (BPEL) , 2005, Journal of Grid Computing.

[70]  Kenneth J. Turner Formalising Web Services , 2005, FORTE.

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

[72]  Holger Hermanns,et al.  On Combining Functional Verification and Performance Evaluation Using CADP , 2002, FME.

[73]  Donald F. Ferguson,et al.  Web Services Addressing (WS- Addressing) , 2004 .

[74]  Paola Inverardi,et al.  Connectors synthesis for deadlock-free component based architectures , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[75]  Hubert Garavel,et al.  Compilation of LOTOS Abstract Data Types , 1989, FORTE.

[76]  Regina Dunlea,et al.  Simple Object Access Protocol (SOAP) , 2005 .

[77]  Kenneth J. Turner,et al.  Formalising Graphical Behaviour Descriptions , 2004, AMAST.

[78]  Kenneth J. Turner Formalising the Chisel Feature Notation , 2000, FIW.

[79]  Radu Mateescu,et al.  An overview of CADP 2001 , 2001 .

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

[81]  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).

[82]  Luís Ferreira Pires,et al.  What Makes Industries Believe in Formal Methods , 1993, PSTV.

[83]  Peter Fettke,et al.  Business Process Modeling Notation , 2008, Wirtschaftsinf..

[84]  Jeremy Gibbons,et al.  A Process-Algebraic Approach to Workflow Specification and Refinement , 2007, SC@ETAPS.

[85]  Brian W. Kernighan,et al.  The m4 macro processor , 1977 .

[86]  S. Krishnan,et al.  2 XLANG : Web Services for Business Process Design , 2002 .

[87]  Richard O. Sinnott,et al.  Data curation standards and the messy world of social science occupational information resources , 2006 .

[88]  Paola Inverardi,et al.  Automatic synthesis of behavior protocols for composable web-services , 2009, ESEC/FSE '09.

[89]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[90]  Richard O. Sinnott,et al.  GEODE - Sharing Occupational Data Through the Grid , 2006 .

[91]  Jian-shi Li,et al.  A Process Algebra Approach of BPEL4WS , 2009 .

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

[93]  Michael Weiss,et al.  Feature Interactions in Web Services , 2003, FIW.

[94]  Chuang Lin,et al.  A Formal Approach to Verify Grid Service Composition Based on Interaction Pattern , 2008, 2008 IEEE Asia-Pacific Services Computing Conference.

[95]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[96]  Kenneth J. Turner,et al.  A rigorous approach to orchestrating grid services , 2007, Comput. Networks.

[97]  Frédéric Lang,et al.  SVL: A Scripting Language for Compositional Verification , 2001, FORTE.

[98]  Manuel Mazzara,et al.  A pi-calculus based semantics for WS-BPEL , 2007, J. Log. Algebraic Methods Program..

[99]  Gwen Salaün,et al.  Describing and reasoning on Web services using process algebra , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[100]  Hubert Garavel,et al.  State Space Reduction for Process Algebra Specifications , 2004, AMAST.

[101]  Wolfgang Emmerich,et al.  Validating Distributed Object and Component Designs , 2003, SFM.

[102]  Sjouke Mauw,et al.  Message Sequence Chart (MSC) , 1996 .

[103]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .