Runtime monitoring of web service conversations

For a system of distributed processes, correctness can be ensured by (statically) checking whether their composition satisfies properties of interest. In contrast, Web services are being designed so that each partner discovers properties of others dynamically, through a published interface. Since the overall system may not be available statically and since each business process is supposed to be relatively simple, we propose to use runtime monitoring of conversations between partners as a means of checking behavioural correctness of the entire web service system. Specifically, we identify a subset of UML 2.0 Sequence Diagrams as a property specification language and show that it is sufficiently expressive for capturing safety and liveness properties. By transforming these diagrams to automata, we enable conformance checking of finite execution traces against the specification. We describe an implementation of our approach as part of an industrial system and report on preliminary experience.

[1]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

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

[3]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

[4]  Bowen Alpern,et al.  Recognizing safety and liveness , 2005, Distributed Computing.

[5]  Rajeev Alur,et al.  Model Checking of Message Sequence Charts , 1999, CONCUR.

[6]  Schahram Dustdar,et al.  Non-intrusive monitoring and service adaptation for WS-BPEL , 2008, WWW.

[7]  Jorge A. Baier,et al.  Planning with First-Order Temporally Extended Goals using Heuristic Search , 2006, AAAI.

[8]  Jochen Klose,et al.  Scenario-Based Monitoring and Testing of Real-Time UML Models , 2001, UML.

[9]  Manfred Reichert,et al.  Adeptflex—Supporting Dynamic Changes of Workflows Without Losing Control , 1998, Journal of Intelligent Information Systems.

[10]  Ketil Stølen,et al.  STAIRS towards formal design with sequence diagrams , 2005, Software & Systems Modeling.

[11]  Marco Pistore,et al.  Assumption-Based Composition and Monitoring of Web Services , 2007, Test and Analysis of Web Services.

[12]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[13]  Paola Inverardi,et al.  A scenario based notation for specifying temporal properties , 2006, SCESM '06.

[14]  Zheng Li,et al.  Pattern-Based Specification and Validation of Web Services Interaction Properties , 2005, ICSOC.

[15]  George Spanoudakis,et al.  Run-time monitoring of requirements for systems composed of Web-services: initial implementation and evaluation experience , 2005, IEEE International Conference on Web Services (ICWS'05).

[16]  Zheng Li,et al.  A runtime monitoring and validation framework for Web service interactions , 2006, Australian Software Engineering Conference (ASWEC'06).

[17]  Alberto Martelli,et al.  Verifying the Conformance of Web Services to Global Interaction Protocols: A First Step , 2005, EPEW/WS-FM.

[18]  Jian Yu,et al.  Pattern Based Property Specification and Verification for Service Composition , 2006, WISE.

[19]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[20]  Xiang Fu,et al.  Conversation protocols: a formalism for specification and verification of reactive electronic services , 2003, Theor. Comput. Sci..

[21]  Luciano Baresi,et al.  Smart monitors for composed services , 2004, ICSOC '04.

[22]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[23]  George Spanoudakis,et al.  A framework for requirents monitoring of service based systems , 2004, ICSOC '04.

[24]  Raman Kazhamiakin,et al.  A Parametric Communication Model for the Verification of BPEL4WS Compositions , 2005, EPEW/WS-FM.

[25]  Kousha Etessami,et al.  Events and constraints: a graphical editor for capturing logic requirements of programs , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

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

[27]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[28]  Paola Inverardi,et al.  Synthesis of correct and distributed adaptors for component-based systems: an automatic approach , 2005, ASE '05.

[29]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[30]  Alex Groce,et al.  SPECIAL S ECTION O N T OOLS A ND A LGORITHMS F OR THE C ONSTRUCTION A ND A NALYSIS O F S YSTEMS , 2005 .

[31]  Murray Shanahan,et al.  The Event Calculus Explained , 1999, Artificial Intelligence Today.

[32]  T. Bultan Modeling Interactions of Web Software , 2006, 2nd International Workshop on Automated Specification and Verification of Web Systems (WWV'06).

[33]  William N. Robinson,et al.  Monitoring Web service requirements , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[34]  Reiko Heckel,et al.  A Model-Driven Approach to Discovery, Testing and Monitoring of Web Services , 2007, Test and Analysis of Web Services.

[35]  Marco Aiello,et al.  Associating assertions with business processes and monitoring their execution , 2004, ICSOC '04.

[36]  Louise E. Moser,et al.  A graphical interval logic for specifying concurrent systems , 1994, TSEM.

[37]  David Harel,et al.  From multi-modal scenarios to code: compiling LSCs into aspectJ , 2006, SIGSOFT '06/FSE-14.

[38]  Luciano Baresi,et al.  Self-healing BPEL processes with Dynamo and the JBoss rule engine , 2007, ESSPE '07.

[39]  Henry Muccini,et al.  CHARMY: an extensible tool for architectural analysis , 2005, ESEC/FSE-13.

[40]  Qing Li,et al.  Unified Modeling Language , 2009 .

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

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

[43]  Andreas Zeller,et al.  Isolating cause-effect chains from computer programs , 2002, SIGSOFT FSE.

[44]  Luciano Baresi,et al.  Towards Dynamic Monitoring of WS-BPEL Processes , 2005, ICSOC.

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

[46]  Moshe Y. Vardi An Automata-Theoretic Approach to Linear Temporal Logic , 1996, Banff Higher Order Workshop.

[47]  Arie Gurfinkel,et al.  Algorithmic Analysis of Piecewise FIFO Systems , 2007 .

[48]  Grigore Rosu,et al.  Mop: an efficient and generic runtime verification framework , 2007, OOPSLA.

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

[50]  Mohamed Ariff Ameedeen,et al.  A Model Driven Approach to Represent Sequence Diagrams as Free Choice Petri Nets , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[51]  Radu Grosu,et al.  Safety-liveness semantics for UML 2.0 sequence diagrams , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).