A formal model for service-oriented interactions

In this paper, we provide a mathematical semantics for a fragment of a language-SRML-that we have defined in the IST-FET-GC2 Integrated Project SENSORIA for modelling service-oriented systems. The main goal of this research is to make available a foundational basis for the development of practical modelling languages and tools that designers can use to model complex services at a level of abstraction that captures business functionality independently of the languages in which services are implemented and the platforms in which they execute. The basic artefact of the language is the service module, which provides a model for a complex service in terms of a number of components that jointly orchestrate a business function and may dynamically discover and bind to external parties that can deliver required functionalities. We define a mathematical model of computation and an associated logic for service-oriented systems based on the typical business conversations that occur between the parties that deliver a service. We then define the semantics of SRML service modules over this model and logic, and formulate a property of correctness that guarantees that services programmed and assembled as specified in a module provide the business functionality advertised by that module. Finally, we define an algebraic operation of composition of service modules that preserves correctness. To the best of our knowledge, there is no other formal approach that has been defined from first principles with the aim of capturing the business nature of service conversations and support service assembly based on the business logic that is required, not as it is programmed.

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

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

[3]  Roberto Bruni Calculi for Service-Oriented Computing , 2009, SFM.

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

[5]  A. Fantechi,et al.  An action / state-based model-checking approach for the analysis of an asynchronous protocol for Service-Oriented Applications ? , 2007 .

[6]  S. Gnesi,et al.  A MODEL CHECKING VERIFICATION ENVIRONMENT FOR UML STATECHARTS , 2005 .

[7]  Wil M. P. van der Aalst,et al.  Specifying and Monitoring Service Flows: Making Web Services Process-Aware , 2007, Test and Analysis of Web Services.

[8]  João Pedro Abril de Abreu,et al.  Modelling business conversations in service component architectures , 2010 .

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

[10]  Ahmed Elfatatry,et al.  Dealing with change: components versus services , 2007, CACM.

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

[12]  Krys J. Kochut,et al.  A CP-nets-based design and verification framework for Web services composition , 2004 .

[13]  Laura Bocchi,et al.  The Sensoria Reference Modelling Language , 2011, Results of the SENSORIA Project.

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

[15]  Wil M. P. van der Aalst,et al.  Fundamentals of control flow in workflows , 2003, Acta Informatica.

[16]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[17]  L. Bocchi,et al.  A Formal Approach to Modelling Time Properties of Service-Oriented Systems ? , 2009 .

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

[19]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[20]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[21]  Nobuko Yoshida,et al.  Theoretical Aspects of Communication-Centred Programming , 2008, Electron. Notes Theor. Comput. Sci..

[22]  Laura Bocchi,et al.  From StPowla processes to SRML models , 2009, Formal Aspects of Computing.

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

[24]  Corrado Moiso,et al.  Formal Modelling and Verification of an Asynchronous Extension of SOAP , 2006, 2006 European Conference on Web Services (ECOWS'06).

[25]  J. Misra Computation Orchestration : A Basis for Wide-Area Computing , 2005 .

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

[27]  Z. Manna,et al.  Tools and rules for the practicing verifier , 1990 .

[28]  Rajeev Alur,et al.  Realizability and verification of MSC graphs , 2005, Theor. Comput. Sci..

[29]  Laura Bocchi,et al.  Service-Oriented Modelling of Automotive Systems , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[30]  Fabio Casati,et al.  Web service conversation modeling: a cornerstone for e-business automation , 2004, IEEE Internet Computing.

[31]  Axel Martens,et al.  Analyzing Web Service Based Business Processes , 2005, FASE.

[32]  José Luiz Fiadeiro,et al.  An interface theory for service-oriented design , 2013, Theor. Comput. Sci..

[33]  Michael Kaminski A Branching Time Logic with Past Operators , 1994, J. Comput. Syst. Sci..

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

[35]  José Luiz Fiadeiro,et al.  A model for dynamic reconfiguration in service-oriented architectures , 2012, Software & Systems Modeling.

[36]  Fabio Casati,et al.  Model-Driven Web Service Development , 2004, CAiSE.

[37]  Joël Ouaknine,et al.  Concurrent software verification with states, events, and deadlocks , 2005, Formal Aspects of Computing.

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

[39]  Xiang Fu,et al.  Specification of realizable service conversations using collaboration diagrams , 2007, IEEE International Conference on Service-Oriented Computing and Applications (SOCA '07).

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

[41]  Laura Bocchi,et al.  An abstract model of service discovery and binding , 2010, Formal Aspects of Computing.

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

[43]  R. V. van Nieuwpoort,et al.  The Grid 2: Blueprint for a New Computing Infrastructure , 2003 .

[44]  Radha Jagadeesan,et al.  Modal Transition Systems: A Foundation for Three-Valued Program Analysis , 2001, ESOP.

[45]  Nobuko Yoshida,et al.  A Calculus of Global Interaction based on Session Types , 2007, DCM@ICALP.

[46]  Jayadev Misra,et al.  The Orc Programming Language , 2009, FMOODS/FORTE.

[47]  Thomas A. Henzinger,et al.  Web service interfaces , 2005, WWW '05.

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

[49]  Roberto Bruni,et al.  Types and Deadlock Freedom in a Calculus of Services, Sessions and Pipelines , 2008, AMAST.

[50]  Xiang Fu,et al.  Towards a Theory of Web Service Choreographies , 2007, WS-FM.

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

[52]  José Luiz Fiadeiro,et al.  A Coordination Model for Service-Oriented Interactions , 2008, COORDINATION.

[53]  C. Peltz,et al.  Web Services Orchestration and Choreography , 2003, Computer.

[54]  Stephen Gilmore,et al.  The PEPA Workbench: A Tool to Support a Process Algebra-based Approach to Performance Modelling , 1994, Computer Performance Evaluation.

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

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

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

[58]  Lucia Acciai,et al.  A Type System for Client Progress in a Service-Oriented Calculus , 2008, Concurrency, Graphs and Models.

[59]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[60]  Roberto Bruni,et al.  SCC: A Service Centered Calculus , 2006, WS-FM.

[61]  Laura Bocchi,et al.  From BPEL to SRML: A Formal Transformational Approach , 2007, WS-FM.

[62]  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.

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

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

[65]  Wil M. P. van der Aalst,et al.  DecSerFlow: Towards a Truly Declarative Service Flow Language , 2006, WS-FM.

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

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

[68]  Valentín Valero,et al.  Automatic Translation of WS-CDL Choreographies to Timed Automata , 2005, EPEW/WS-FM.

[69]  Martin Wirsing,et al.  Rigorous Software Engineering for Service-Oriented Systems - Results of the SENSORIA Project on Software Engineering for Service-Oriented Computing , 2011, Results of the SENSORIA Project.

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

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