Specifying and Validating Data-Aware Temporal Web Service Properties
Most works that extend workflow validation beyond syntactical checking consider constraints on the sequence of messages exchanged between services. These constraints are expressed only in terms of message names and abstract away their actual data content. We provide examples of real-world "data-aware" Web service constraints where the sequence of messages and their content are interdependent. To this end, we present CTL-FO(+), an extension over Computation Tree Logic that includes first-order quantification on message content in addition to temporal operators. We show how CTL-FO(+) is adequate for expressing data-aware constraints, give a sound and complete model checking algorithm for CTL-FO(+), and establish its complexity to be PSPACE-complete. A "naive" translation of CTL-FO(+) into CTL leads to a serious exponential blowup of the problem that prevents existing validation tools to be used. We provide an alternate translation of CTL-FO(+) into CTL, where the construction of the workflow model depends on the property to validate. We show experimentally how this translation is significantly more efficient for complex formulas and makes model checking of data-aware temporal properties on real-world Web service workflows tractable using off-the-shelf tools.
web services model checking software/program verification temporal logic