A logical verification methodology for service-oriented computing

We introduce a logical verification methodology for checking behavioral properties of service-oriented computing systems. Service properties are described by means of SocL, a branching-time temporal logic that we have specifically designed for expressing in an effective way distinctive aspects of services, such as, acceptance of a request, provision of a response, correlation among service requests and responses, etc. Our approach allows service properties to be expressed in such a way that they can be independent of service domains and specifications. We show an instantiation of our general methodology that uses the formal language COWS to conveniently specify services and the expressly developed software tool CMC to assist the user in the task of verifying SocL formulas over service specifications. We demonstrate the feasibility and effectiveness of our methodology by means of the specification and analysis of a case study in the automotive domain.

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

[2]  Faron Moller,et al.  The Mobility Workbench - A Tool for the pi-Calculus , 1994, CAV.

[3]  Rocco De Nicola,et al.  A modal logic for mobile agents , 2004, TOCL.

[4]  José Luiz Fiadeiro,et al.  A Model-Checking Approach for Service Component Architectures , 2009, FMOODS/FORTE.

[5]  Joël Ouaknine,et al.  State/Event Software Verification for Branching-Time Specifications , 2005, IFM.

[6]  David Walker,et al.  Local Model Checking in the Modal mu-Calculus , 1991, Theoretical Computer Science.

[7]  Mads Dam,et al.  Model Checking Mobile Processes , 1993, Inf. Comput..

[8]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[9]  Ekkart Kindler,et al.  ESTL: A Temporal Logic for Events and States , 1998, ICATPN.

[10]  Maurice H. ter Beek,et al.  CMC-UMC: a framework for the verification of abstract service-oriented properties , 2009, SAC '09.

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

[12]  Nora Koch,et al.  Formal verification of an automotive scenario in service-oriented computing , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[13]  Francesco Tiezzi,et al.  Specifying and Analysing SOC Applications with COWS , 2008, Concurrency, Graphs and Models.

[14]  T. D. Fletcher,et al.  Web Services Choreography Description Language Version 1.0, W3C , 2004 .

[15]  Charles Pecheur,et al.  Symbolic Model Checking of Logics with Actions , 2007, MoChArt.

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

[17]  Laura Bocchi,et al.  From Architectural to Behavioural Specification of Services , 2009, Electron. Notes Theor. Comput. Sci..

[18]  Colin Stirling,et al.  Modal and Temporal Properties of Processes , 2001, Texts in Computer Science.

[19]  Nora Koch,et al.  A Model-Driven Approach to Service Orchestration , 2008, 2008 IEEE International Conference on Services Computing.

[20]  Mads Dam,et al.  Proof systems for pi-calculus logics , 2002 .

[21]  Helmut Veith,et al.  25 Years of Model Checking - History, Achievements, Perspectives , 2008, 25 Years of Model Checking.

[22]  Diego Latella,et al.  Model checking mobile stochastic logic , 2007, Theor. Comput. Sci..

[23]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[24]  Laura Bocchi,et al.  Specifying and Composing Interaction Protocols for Service-Oriented System Modelling , 2007, FORTE.

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

[26]  Nora Koch,et al.  Sensoria - Software Engineering for Service-Oriented Overlay Computers , 2011, Results of the SENSORIA Project.

[27]  Ivan Lanese,et al.  Disciplining Orchestration and Conversation in Service-Oriented Computing , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[28]  Maurice H. ter Beek,et al.  An Action/State-Based Model-Checking Approach for the Analysis of Communication Protocols for Service-Oriented Applications , 2007, FMICS.

[29]  Stefania Gnesi,et al.  JACK: Just Another Concurrency Kit. The intergration Projekt , 1994, Bull. EATCS.

[30]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[31]  Francesco Tiezzi,et al.  A WSDL-Based Type System for WS-BPEL , 2006, COORDINATION.

[32]  Gustavo Alonso,et al.  Web Services: Concepts, Architectures and Applications , 2009 .

[33]  João Costa Seco,et al.  The Conversation Calculus: A Model of Service-Oriented Computation , 2008, ESOP.

[34]  Laura Bocchi,et al.  A Formal Approach to Service Component Architecture , 2006, WS-FM.

[35]  Rocco De Nicola,et al.  Three logics for branching bisimulation , 1995, JACM.

[36]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[37]  Huimin Lin,et al.  A Verification Tool for Value-Passing Processes , 1993, PSTV.

[38]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[39]  Stefania Gnesi,et al.  A Model Checking Approach for Verifying COWS Specifications , 2008, FASE.

[40]  Xiang Fu,et al.  Synchronizability of conversations among Web services , 2005, IEEE Transactions on Software Engineering.

[41]  Colin Stirling,et al.  Modal Logics and mu-Calculi: An Introduction , 2001, Handbook of Process Algebra.

[42]  Jonathan S. Ostroff,et al.  Model Reduction of Modules for State-Even Temporal Logics , 1996, FORTE.

[43]  Robert Meolic,et al.  ACTLW - An action-based computation tree logic with unless operator , 2008, Inf. Sci..

[44]  Roberto Gorrieri,et al.  Choreography and Orchestration Conformance for System Design , 2006, COORDINATION.

[45]  Marco Pistore,et al.  A model-checking verification environment for mobile processes , 2003, TSEM.

[46]  Nobuko Yoshida,et al.  Structured Communication-Centred Programming for Web Services , 2007, ESOP.

[47]  Rocco De Nicola,et al.  Multi Labelled Transition Systems: A Semantic Framework for Nominal Calculi , 2007, Electron. Notes Theor. Comput. Sci..

[48]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[49]  Faron Mollerz,et al.  The Mobility Workbench | a Tool for the -calculus | , 1994 .

[50]  Roberto Gorrieri,et al.  : A Calculus for Service Oriented Computing , 2006, ICSOC.

[51]  Thierry Jéron,et al.  Using On-The-Fly Verification Techniques for the Generation of test Suites , 1996, CAV.

[52]  Radu Mateescu,et al.  A Model Checking Language for Concurrent Value-Passing Systems , 2008, FM.

[53]  Rob van Glabbeek,et al.  Handbook of Process Algebra , 2001 .

[54]  C. R. Ramakrishnan,et al.  A logical encoding of the π-calculus: model checking mobile processes using tabled resolution , 2002, International Journal on Software Tools for Technology Transfer.

[55]  Mark Ryan,et al.  Logic in Computer Science: Modelling and Reasoning about Systems , 2000 .

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

[57]  Francesco Tiezzi,et al.  A Calculus for Orchestration of Web Services , 2007, ESOP.

[58]  Nora Koch,et al.  MDD4SOA: Model-Driven Service Orchestration , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[59]  Allan Clark,et al.  Semantic-Based Development of Service-Oriented Systems , 2006, FORTE.

[60]  Girish Bhat,et al.  Efficient on-the-fly model checking for CTL , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[61]  Roberto Bruni,et al.  Sessions and Pipelines for Structured Service Programming , 2008, FMOODS.

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

[63]  Giovanni Denaro,et al.  ACM Transactions on Software Engineering and Methodology : Volume 22, Nomor 4, 2013 , 2014 .

[64]  Roberto Bruni,et al.  Multiparty Sessions in SOC , 2008, COORDINATION.

[65]  Orna Grumberg,et al.  Abstract interpretation of reactive systems , 1997, TOPL.

[66]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[67]  Alwen Tiu,et al.  Model Checking for pi-Calculus Using Proof Search , 2005, CONCUR.

[68]  Roberto Gorrieri,et al.  SOCK : A calculus for service oriented computing , 2006 .

[69]  Bernhard Steffen,et al.  Model-Checking: A Tutorial Introduction , 1999, SAS.

[70]  Matthew Hennessy,et al.  A modal logic for message passing processes , 2005, Acta Informatica.

[71]  Christel Baier,et al.  Model checking action- and state-labelled Markov chains , 2004, International Conference on Dependable Systems and Networks, 2004.

[72]  Nobuko Yoshida,et al.  A Symbolic Semantics for a Calculus for Service-Oriented Computing , 2009, Electron. Notes Theor. Comput. Sci..

[73]  TiezziFrancesco,et al.  A logical verification methodology for service-oriented computing , 2012 .

[74]  Francesco Tiezzi,et al.  An accessible verification environment for UML models of services , 2011, J. Symb. Comput..