<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modeling and Verifying Workflow-based Regulations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>University of Leipzig</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Department of Computer Science</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Augustusplatz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leipzig</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Germany</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>foetsch@informatik.uni-leipzig.de</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Friedrich-Schiller-University Jena, Department of Computer Science</institution>
          ,
          <addr-line>Ernst-Abbe Platz 1-4, D-07743 Jena</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>825</fpage>
      <lpage>830</lpage>
      <abstract>
        <p>In this paper we present our approach to model and verify workflowintensive systems. Besides the functional properties (given by the temporal workflow description) we augment the model and model checking with additional property treatment to deal with multifarious non-functional properties and property hierarchies. This enables a more powerful verification of requirements such as given business-driven regulations in these system workflows.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Workflow-intensive systems are systems consisting of hardware and software which
focus on workflows, i.e. on the temporal order of processing documents and data.</p>
      <p>Workflow-intensive systems require both a model incorporating the functional and
non-functional properties as well as a temporal verification of (some of) these
properties. The latter allows to ensure that certain (temporal) regulations hold in the system
model. Symbolic time and order are an important issue in workflow-intensive systems.
This characteristic makes them a suitable task for their verification by means of model
checking.</p>
      <p>
        Workflow models describe a set of activities and their relationships in a temporal
order, start and termination criterions, and information about the individual activities,
such as associated IT applications and data, etc. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In the web service development,
which is a specific workflow domain, workflows can be defined using XML-based
(standardized) languages such as BPEL4WS, WSCI, and BPML. BPEL4WS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is quickly
emerging as the language of choice for the description of process interactions.
      </p>
      <p>However, in all these standardized languages (and also in BPEL4WS) no explicit
support for the non-functional quality characteristics, e.g. efficiency or reliability, is
available. There are no explicit quality guidelines and no explicit modeling elements
are foreseen yet to capture or describe those in a structured way. But, modeling process
rules and business- or government-driven regulations require both to consider functional
(directly workflow related) and multifarious non-functional properties.</p>
      <p>
        Applying model checking, the workflow system is modeled as a special kind of
finite state automata, so-called Kripke automatas or Kripke models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The relevant
properties are connected to the states (labeling). Selected temporal requirements the
system is expected to fulfill are formulated as temporal logic formulas. The temporal
logic languages used are CTL or LTL, for instance. Based on graph algorithms like
reachability algorithms, the model checking algorithm determines if the given temporal
requirement is fulfilled in the system model.
      </p>
      <p>In the current practice, however, the world of Kripke automata with labelled states
and transitions offers a limited potential for (non-functional) property treatment.
Labels attached to states are atomic propositions. Neither their structure (e.g. to reflect a
quality hierarchy) nor their operations can be explicitely defined. However, for
multifarious properties different processing rules have to be taken into consideration within
the model checking algorithms (e.g. the efficiency properties are processed differently
to certain reliability properties).</p>
      <p>In the following we describe our approach to XML-based modeling (extension to
BPEL4WS) and our verification approach (extension to CTL model checking
algorithms) to tackle the current problem of insufficient (non-functional) property treatment.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Model and Verification Extensions</title>
      <p>To approach the above mentioned deficiencies both, existing modeling and verification
techniques have to be adapted. The verification algorithms have to exploit the available
model information to detail the verification results.
2.1</p>
      <sec id="sec-2-1">
        <title>Non-functional Extensions in BPEL4WS Models</title>
        <p>To obey the BPEL4WS standard, the properties are added by means of processing
instructions which can be processed by our transformation framework. These
processing instructions are structured as depicted in figure 1. The structured instructions define
an excerpt of the ISO 9126-1 quality model (cf. figure 2).</p>
        <p>The main types of the instruction structure are the propertyDef, the
algebraDef, the domainDef and the operationDef types. The propertyDef
type defines a specific non-functional property type in a hierarchical manner
referring to the super-property (superProperty). The algebraDef connects a
userdefined algebra to a quality property. This algebra is defined with a value domain via the
domainDef type and with corresponding operations via the operationDef type.
The example in figure 1 details the maturity quality property. Its domain is defined
as the number of years of development experience. The semantics behind this is the
assumption that the higher the development experience the higher the maturity is.</p>
        <p>The opORsemantic, opANDsemantic and opNOTsemantic character strings
in figure 1 represent (each) a processing rule for the specific maturity property. The
three Boolean operations AND, OR and NOT have to be defined as these are used by
the model checking algorithms. In the case of the “developer experience” property, the
AND-operation (character string opANDsemantic) may be defined as a maximum
function, for instance. In syntax:
opANDsemantic :=</p>
        <p>AND(developerExperienceDom,developerExperienceDom)
and semantics: AND(e1,e2) = e1 iff e1 e2 else e2.</p>
        <p>The concrete operation semantic definition is user-defined and depends on the expected
verification result semantic.</p>
        <p>The BPEL4WS code depicted in figure 3 gives an example for the application of
the extended non-functional properties in BPEL4WS activities.</p>
        <p>The activity defines a synchronous invocation with variable ”shippingRequest” and
return value ”shippingInfo”. This invoke-activity is augmented with an additional
non-functional property: the information about the web service that it has been
developed by somebody with equal or less than 5 years of development experience.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Transformation Framework</title>
        <p>
          In order to verify the workflow definitions and also their non-functional properties, we
implemented the framework illustrated in figure 4. Our framework realizes a
multilevel transformation process from workflow definitions such as BPEL4WS in a formal
intermediate representation and further in a specific input model to verification tools
such as CoV [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. As intermediate representation we use a guarded labelled automata
stored in XML.
        </p>
        <p>
          To implement the transformations, we define new complex operators on top of
elementary ones. This is provided by an XML transformation technology (similar to
XSLT) applying the operator hierarchy concept which is discussed extensively in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>Besides the transformation of higher-level into verification specific models, the
transformation framework enables to incorporate optimizing operations on the
intermediate representation (e.g. minimizing product automatas for parallel workflow parts).
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Model checking Extensions</title>
        <p>
          Model checking CTL temporal formulas requires a special finite state automata as
model input (besides the temporal formula). The presented transformation framework
allows the transformation of the extended BPEL4WS workflow models into an extended
Kripke model preserving the following information in addition to traditional Kripke
structures (details may be found in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]):
– Property algebras: Instead of simple atomic propositions of current Kripke models
these extended Kripke models define property algebras. By this means, it is possible
to model check user-defined types (i.e. user-defined domains and their operations).
The operation AND, OR and NOT build the set of operations which have to be defined
for each quality. The user-defined algebras form a parameter to the model checker.
– Property hierarchies: Instead of simple atomic propositions of current Kripke
models a property tree is attached to the model elements (the states) reflecting the reality
of quality hierarchies. The property assignment of the properties p1 and p2 to the
states s1 and s2 may be defined hierarchically as follows, for instance: s1 :=
p1, s2; s2 := p2 (hierarchically assigning s2 to s1 besides the regular leaf
property p1).
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>
        The transformation framework is based on an earlier XML-based transformation
approach [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Other aspect-oriented invasive composition approaches based on XML (e.g.
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) ignore operator hierachies and non-functional properties.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a requirement-driven approach is proposed for the design and verification of
web services. The formal requirements are used to derive process skeletons in BPEL4WS
and to validate the refined BPEL4WS process against the constraints described in the
requirements applying the symbolic model checker NuSMV. A number of alternative
approaches to validate workflow-intensive systems based on explicit state model
checking and SPIN may be found in [
        <xref ref-type="bibr" rid="ref10 ref11 ref12">10–12</xref>
        ], for instance. However, all of these approaches
do not support the validation of non-functional regulations and property hierarchies.
      </p>
      <p>
        Details to the CoV model checker and its extended property treatment may be found
in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Other existing extensions to model checking algorithms consider special
properties like time [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or dynamic variable assignment [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Again, user-definable property
algebras and the hierarchical non-functional property treatment are not considered. A
related approach in user-definable property algebras may be found in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] (based on
Quasi-Boolean lattices). Their intention, however, is the realization of a multi-valued
model checking to deal with the synthesis of different models of one and the same
system.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Summary and Conclusion</title>
      <p>In the web environment, standards (and BPEL4WS in particular) gain growing
importance for the modeling of workflows. Besides the workflow models to capture the
system, specific requirements to the system form the base for the verification of the model.
These requirements are business- and government-driven regulations, for instance. As
workflows are closely connected to time and order temporal requirements are natural.
Therefore, model checking, which is suited for temporal logic, is the means of choice
to verify that a requirement is satisfied in a given workflow model.</p>
      <p>In our approach we extend the BPEL4WS definition language exploiting BPEL4WS
processing instructions. Structured instructions allow the augmentation of non-functional
and hierarchical properties with user-defined property algebras. A transformation
framework converts the input into an intermediate XML format and further into the verifier
input format. By means of an operator hierarchy different input formats may be
processed and also different output formats may be produced. In our approach, we refer
to the CoV output format. CoV is a model checker which is able to deal with property
hierarchies and user-defined property algebras.</p>
      <p>The intermediate model of our transformation framework does not yet handle some
advanced BPEL4WS features (e.g. the correlation sets and dynamic process
instantiation). Further work is also needed to support the optimization of the intermediate
models (minimizing their size, for instance). We are currently working on optimizing
operators. Moreover, the verification algorithm efficiency in open (web) systems can be
improved directly. AI and compositional techniques are currently under investigation.
The management of model evolution and the consequences for the reuse of existing
verification results is a further domain for future research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Workflow</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Coalition 2 Crown Walk, Winchester, Hampshire SO23 8BB</article-title>
          , UK.: Terminology &amp; Glossary
          <string-name>
            <surname>-</surname>
          </string-name>
          WFMC
          <source>-TC-1011, Version</source>
          <volume>3</volume>
          .
          <fpage>0</fpage>
          . (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Andrews</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dholakia</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goland</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thatte</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trickovic</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weerawarana</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <source>Business Process Execution Language for Web Services, Version</source>
          <volume>1</volume>
          .
          <issue>1</issue>
          , 5 May
          <year>2003</year>
          . (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Clarke</surname>
            ,
            <given-names>E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grumberg</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peled</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          :
          <source>Model Checking</source>
          .
          <volume>3</volume>
          <fpage>edn</fpage>
          . The MIT Press, Cambridge, Massachusetts; London, England (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <source>ISO/IEC: FCD 9126-1.2: Information Technology - Software Product Quality. Part</source>
          <volume>1</volume>
          :
          <string-name>
            <given-names>Quality</given-names>
            <surname>Model</surname>
          </string-name>
          . (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Pulvermu¨ller, E.:
          <article-title>Verifikation von Komponenten-basierten Systemen auf Basis eines erweiterten temporalen Verifikationsverfahrens</article-title>
          .
          <source>PhD thesis</source>
          , Friedrich-Schiller-University of Jena, Jena, Germany (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. Fo¨tsch,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Speck</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          , Ha¨nsgen, P.:
          <article-title>The Operator Hierarchy Concept for XML Document Transformation Technologies</article-title>
          .
          <source>Berliner XML Tage 2005 (BXML'05)</source>
          ,
          <fpage>12</fpage>
          .-
          <lpage>14</lpage>
          .
          <article-title>September 2005 in Berlin</article-title>
          . In Eckstein, R.,
          <string-name>
            <surname>Tolksdorf</surname>
          </string-name>
          , R., eds.:
          <source>Berliner XML Tage</source>
          <year>2005</year>
          , XMLClearinghouse (
          <year>2005</year>
          )
          <fpage>59</fpage>
          -
          <lpage>70</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Schonger</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Pulvermu¨ller, E.,
          <string-name>
            <surname>Sarstedt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Aspect-Oriented Programming and Component Weaving: Using XML Representations of Abstract Syntax Trees</article-title>
          .
          <source>In: Proceedings of the 2nd German GI Workshop on Aspect-Oriented Software Development; - Technical Report No. IAI-TR-2002-1</source>
          ,
          <string-name>
            <given-names>Rheinische</given-names>
            <surname>Friedrich-Wilhelms-Universita¨t Bonn</surname>
          </string-name>
          ,
          <article-title>Institut fu¨r Informatik III (</article-title>
          <year>2002</year>
          )
          <fpage>59</fpage>
          -
          <lpage>64</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Kessler</given-names>
            <surname>Piveta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Zancanella</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>Architecture of an XML-based Aspect Weaver</article-title>
          .
          <source>In: Proccedings of Workshop on Correctness of Model-based Software Composition (CMC)</source>
          ,
          <article-title>ECOOP 2003</article-title>
          . No.
          <year>2003</year>
          -
          <volume>13</volume>
          , Darmstadt, Germany, Universita¨t
          <string-name>
            <surname>Karlsruhe</surname>
          </string-name>
          (
          <year>2003</year>
          )
          <fpage>9</fpage>
          -
          <lpage>14</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roveri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Busetta</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Requirements-Driven Verification</surname>
          </string-name>
          of Web Services.
          <source>Electr. Notes Theor. Comput. Sci</source>
          . (
          <volume>105</volume>
          )
          <fpage>95</fpage>
          -
          <lpage>108</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Nakajiama</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Model-Checking Verification for Reliable Web Service</article-title>
          .
          <source>In: OOPSLA 2002 Workshop on Object-Oriented Web Services</source>
          . (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kazhamiakin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roveri</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Formal Verification of Requirements using SPIN: A Case Study on Web Services</article-title>
          .
          <source>In: 2nd International Conference on Software Engineering and Formal Methods (SEFM</source>
          <year>2004</year>
          ),
          <fpage>28</fpage>
          -30
          <source>September</source>
          <year>2004</year>
          , Beijing,China, IEEE Computer Society (
          <year>2004</year>
          )
          <fpage>406</fpage>
          -
          <lpage>415</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Analysis of interacting BPEL web services</article-title>
          .
          <source>In: WWW '04: Proceedings of the 13th international conference on World Wide Web</source>
          , New York, NY, USA, ACM Press (
          <year>2004</year>
          )
          <fpage>621</fpage>
          -
          <lpage>630</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Be´rard,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Bidoit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Finkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Laroussinie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Petit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Petrucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Schnoebelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Ph.</given-names>
            ,
            <surname>McKenzie</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <source>Systems and Software Verification: Model-Checking Techniques and Tools</source>
          . Springer-Verlag (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Cho</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>H.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cha</surname>
            ,
            <given-names>S.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bae</surname>
            ,
            <given-names>D.H.</given-names>
          </string-name>
          :
          <article-title>Specification and Validation of Dynamic Systems Using Temporal Logic</article-title>
          .
          <source>IEE Proceedings Software</source>
          <volume>148</volume>
          (
          <year>2001</year>
          )
          <fpage>135</fpage>
          -
          <lpage>140</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Chechik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Devereux</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Easterbrook</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gurfinkel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>: Multi-Valued Symbolic ModelChecking</article-title>
          .
          <source>ACM Transactions on Software Engineering Methodology</source>
          <volume>12</volume>
          (
          <year>2003</year>
          )
          <fpage>371</fpage>
          -
          <lpage>408</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>