IEEE Transactions on Software Engineering · 2005 · 116 citations · 29 references
ComputingComputer ScienceComputer SystemsDistributed SystemsFormal MethodsModel-based Systems EngineeringAsynchronous Web CommunicationConcurrent System VerificationDistributed SynchronizationModel CheckingQueueing TheoryReliable Distributed SystemsAsynchronous Communication ProtocolsDistributed Systems VerificationMessage QueuesModel Checking For ConcurrencyModel Checking SpecificationsState Space ExplosionWeb Service ArchitectureWeb Services
We present a framework for analyzing interactions among Web services that communicate with asynchronous messages. We model the interactions among the peers participating in a composite Web service as conversations, the global sequences of messages exchanged among the peers. This naturally leads to the following model checking problem: Given an LTL property and a composite Web service, do the conversations generated by the composite Web service satisfy the property? We show that asynchronous messaging leads to state space explosion for bounded message queues and undecidability of the model checking problem for unbounded message queues. We propose a technique called synchronizability analysis to tackle this problem. If a composite Web service is synchronizable, its conversation set remains the same when asynchronous communication is replaced with synchronous communication. We give a set of sufficient conditions that guarantee synchronizability and that can be checked statically. Based on our synchronizability results, we show that a large class of composite Web services with unbounded message queues can be verified completely using a finite state model checker such as SPIN. We also show that synchronizability analysis can be used to check the reliability of top-down conversation specifications and we contrast the conversation model with the Message Sequence Charts. We integrated synchronizability analysis to a tool we developed for analyzing composite Web services.
29
E. M. Clarke, Orna Grümberg, D. Long · 1996 · 6.9K citations
Gerard J. Holzmann · IEEE Transactions on Software Engineering · 1997 · 3.8K citations
Communicating sequential processes
C. A. R. Hoare · Communications of the ACM · 1978 · 3.5K citations · Full text
The Semantics of a Simple Language for Parallel Programming.
Gilles Kahn · IFIP Congress · 1974 · 2.1K citations
On the synthesis of a reactive module
Amir Pnueli, Roni Rosner · 1989 · 1.4K citations · Full text