A Rigorous Model of Service Component Architecture

The Service Component Architecture (SCA) provides a platform-independent component model for service-oriented development. A service component with different communication mechanisms and implementation languages can be modeled in SCA. However, it lacks a formal foundation for SCA-based system specification and verification. This paper presents a formal service component signature model with respect to the specification of the SCA assembly model. Inspired by the idea of independence in SCA, a language-independent dynamic behaviour model is proposed for specifying the interface behaviour of the service component by port activities. Based on the dynamic behaviour model, the compatibility relation between components is discussed. A set of transition rules are given to map Business Process Execution Language for Web Services (BPEL) to dynamic behaviour expressions and then to Petri nets, thus the service component based system can be verified with existing tools. A case study is demonstrated to illustrate how to use our approach to constructing a web application in a rigorous way.

[1]  D. Box,et al.  Simple object access protocol (SOAP) 1.1 , 2000 .

[2]  Wilson C. Hsieh,et al.  SuperGlue: Component Programming with Object-Oriented Signals , 2006, ECOOP.

[3]  Zhenbang Chen,et al.  A Contract-based Approach to Specifying and Verifying Safety Critical Systems , 2007, FESCA@ETAPS.

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

[5]  Carlos Delgado Kloos,et al.  Formal Verification of BPEL4WS Business Collaborations , 2004, EC-Web.

[6]  Rüdiger Valk,et al.  Petri nets for systems engineering - a guide to modeling, verification, and applications , 2010 .

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

[8]  Wing Lok Yeung,et al.  Mapping WS-CDL and BPEL into CSP for Behavioural Specification and Verification of Web Services , 2006, 2006 European Conference on Web Services (ECOWS'06).

[9]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

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

[11]  Antonio Vallecillo,et al.  Formalizing Web Service Choreographies , 2004, Electron. Notes Theor. Comput. Sci..

[12]  Zhenbang Chen,et al.  A Refinement Driven Component-Based Design , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

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

[14]  Roozbeh Farahbod,et al.  Specification and Validation of the Business Process Execution Language for Web Services , 2004, Abstract State Machines.

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

[16]  Geguang Pu,et al.  Towards the Semantics and Verification of BPEL4WS , 2006, WLFM@FM.

[17]  Jeffrey J. P. Tsai,et al.  An empirical evaluation of deadlock detection in software architecture specifications , 1999, Ann. Softw. Eng..

[18]  David M. Booth,et al.  Web Services Architecture , 2004 .

[19]  Scott F. Smith,et al.  Modules with Interfaces for Dynamic Linking and Communication , 2004, ECOOP.

[20]  Antonio Brogi,et al.  Component adaptation through flexible subservicing , 2006, Sci. Comput. Program..

[21]  LiuZhiming,et al.  Refinement and verification in component-based model-driven design , 2009 .

[22]  Zhenbang Chen,et al.  Refinement and verification in component-based model-driven design , 2009, Sci. Comput. Program..

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

[24]  Geguang Pu,et al.  A Formal Model forWeb Service Choreography Description Language (WS-CDL) , 2006, 2006 IEEE International Conference on Web Services (ICWS'06).

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

[26]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[27]  Matthew Flatt,et al.  Jiazzi: new-age components for old-fasioned Java , 2001, OOPSLA '01.