<!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>Detecting Interoperability and Correctness Issues in BPMN 2.0 Process Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Geiger</string-name>
          <email>matthias.geiger@uni-bamberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guido Wirtz</string-name>
          <email>guido.wirtz@uni-bamberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Distributed Systems Group, University of Bamberg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Although BPMN 2.0 is an international standard widely used in practice, interoperability of process models is still an issue. Even between tools and engines claiming to be BPMN compliant the model exchange is often complicated or impossible as the tools produce incorrect model representations or do not support the standardized BPMN serialization format. In this position paper we present reasons for interoperability issues and show why defining a set of constraints derived from the standard is crucial to fix an important subset of those issues. We are currently developing a tool which can check this set of rules automatically.</p>
      </abstract>
      <kwd-group>
        <kwd>BPMN 2</kwd>
        <kwd>0</kwd>
        <kwd>Interoperability</kwd>
        <kwd>Correctness</kwd>
        <kwd>XML Serialization</kwd>
        <kwd>Standard compliance</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <sec id="sec-1-1">
        <title>1 http://www.activiti.org</title>
        <p>2 see for example the “BPMN-I” initiative of Bruce Silver (http://www.brsilver.com/
2011/04/05/a-profile-for-bpmn-interoperability/)</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Reasons for Missing Interoperability</title>
      <p>The reasons for incorrect models and therefore interoperability issues are manifold
but can be divided into two main groups:
– Vendor Policy: The usage of a proprietary serialization format, missing
import and (especially) export functionality is often intentionally used by
vendors. Either the ability to switch to competitive products is limited (vendor
lock-in) or a simpler format is used to comply to the internal meta model.
This is especially the case when a tool is not initially designed for BPMN
models but an existing process and workflow modeling tool is enhanced to
deal also with BPMN models.</p>
      <p>
        For instance, the BizAgi Process Modeler3 is not able to handle BPMN
models saved in the format proposed by BPMN [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The Signavio Process
Editor4 supports importing and exporting BPMN compliant XML-files but
heavily uses extension elements which hinders the usage of Signavio models
in other tools.
– Implementation Problems: Although vendors might be willing to provide
interoperable model definitions, actual interoperability is not in place, because
the constraints raised by the standard are overlooked, misinterpreted or
faultily implemented so that incorrect BPMN models might be exported.
Since the official release of BPMN 2.0, various ambiguities, inconsistencies
and faults have been revealed5 which further inhibit the successful usage of
BPMN [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Creating a Standard-based Rule Set for XML</title>
    </sec>
    <sec id="sec-4">
      <title>Serialization and Checking the Extracted Rules</title>
      <p>
        As vendor policies may not be affected easily, we focus on giving support for
implementation issues. In order to observe all rules it is needless to say that an
overview of all constraints stated in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is essential. Unfortunately, BPMN falls
short in providing such an overview.
      </p>
      <p>Sources for constraints in the standard document are the running text,
tables, class diagrams and XSD excerpts. The extraction of rules from the latter
sources is rather straightforward (e.g., mandatory attributes, cardinalities, value
constraints). In contrast to this, constraints in the running text are harder to
identify and frequently some interpretation of the text is needed. We worked
through the standard document and in a first iteration we derived more than
300 rules.</p>
      <p>Moreover, in about fifty cases inconsistencies between the text and/or the
class diagrams and the XSD have been revealed. Frequently some attributes of
elements are defined as mandatory in the text and the class diagrams, but the</p>
      <sec id="sec-4-1">
        <title>3 http://www.bizagi.com/modeler/ 4 http://www.signavio.com 5 e.g., see the issue tracking list http://www.omg.org/issues/bpmn2-rtf.open.html</title>
        <p>schema definition marks the same attribute as optional. To give an example:
Even the definition for the BPMN root element definitions is affected by this
problem: Table 8.1 in [8, p. 53] states that the attribute name is mandatory. In
contrast to that, this attribute is completely missing in the XSD excerpt in Table
8.3 [8, p. 54] and is defined as optional in the normative XSD schema6.</p>
        <p>In order to improve and check the completeness and correct interpretation of
our rule set, we are currently cross-checking it with other less extensive collections
of BPMN constraints7 and with the consistence checks integrated in various
tools8.</p>
        <p>Based on a consolidated list of rules for BPMN models, it is possible to check
whether a serialized process model is consistent to this rule set (and therefore to
the standard itself).</p>
        <p>
          Parts of the extracted rules can already be checked by performing a XML
schema validation. An example for such rules are value limitations, as for the
attribute gatewayDirection of a BPMN Gateway. Here only the values
’Unspecified’, ’Converging’, ’Diverging’ or ’Mixed’ are allowed. This restriction is
realized as a XSD SimpleType restricting Strings (see [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], p.91).
        </p>
        <p>
          However the overwhelming majority of constraints cannot be covered by
schema validation. Specific examples can also be found in the context of BPMN
Gateways: Gateways have incoming SequenceFlows which are realized as incoming
sub elements that refer to a SequenceFlow definition using a xs:QName reference.
With XML schema validation, a reference to an arbitrary or even non-existent
BPMN element would be regarded as correct. Moreover, depending on the value of
the attribute gatewayDirection the number of incoming and outgoing sequence
flows has to be limited in a different manner (see [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], p.91) which is also not
checkable by schema validation.
        </p>
        <p>To tackle these issues, we are currently developing a tool to check all extracted
rules which are not covered by schema validation yet.
4</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Academic research mainly concentrates on semantic validation, verification and
correctness checks for BPMN models [
        <xref ref-type="bibr" rid="ref3 ref5 ref9">3, 5, 9</xref>
        ], assuming that the BPMN models
used already comply to the standard. In contrast to this, we concentrate on issues
regarding the serialized form of process models. Hence, in this paper the term
correctness refers to compliance to the constraints postulated by the standard [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
and not to semantic correctness.
      </p>
      <p>
        Closer related to our work is [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which proposes a meta model and a
serialization format for the prior BPMN Version 1.1 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] including some checks regarding
reference existence and leveraging XPath for more sophisticated validations. Due
to the major revisions in BPMN 2.0, most parts of this approach are outdated
6 see http://www.omg.org/spec/BPMN/20100501/BPMN20.xsd
7 e.g., see Bruce Silver: BPMN Method &amp; Style, 2nd edition, 2011, p. 135-139
8 e.g., the itp-commerce modeling tool checks a series of constraints (see: http://help.
      </p>
      <p>itp-commerce.com/index.php?id=81&amp;L=0)
by now, as BPMN 2.0 provides a standardized XML interchange format.
Nevertheless, the proposed usage of XML Technologies like schema validation which is
now used in the current version of the standard is able to check some basic rules
as stated above.</p>
      <p>
        A good example for the importance and practical benefits of a list of relevant
constraints for a process language standard is the Web Services Business Process
Execution Language (BPEL) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. BPEL provides a list of 95 static analysis rules
which cannot be checked using a simple XML schema validation, but should
be checked by BPEL engines during the deployment process. Using such a list
tailored to BPMN, it is much easier to generate test cases and verify standard
conformance such as presented for BPEL in the tool betsy [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Outlook</title>
      <p>The main contribution of our work will be an extensive set of constraints stated in
the standard and a tool checking these constraints. These contributions provide a
basis for the successful practical usage of BPMN. The rule set and the tool may
be used by modeling tool vendors and engine developers to check if their software
generates, respectively is able to import and deploy standard compliant documents.
It might be used during import stages in order to reject non-compliant models
or to benchmark different tools/engines regarding their standard compliance.</p>
      <p>As a side effect of our work we are able to report several issues to the BPMN
2.1 Revision Task Force to improve the upcoming version of BPMN.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>E.</given-names>
            <surname>Bo</surname>
          </string-name>
          <article-title>¨rger. Approaches to modeling business processes: a critical analysis of BPMN, workflow patterns and YAWL</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>11</volume>
          :
          <fpage>305</fpage>
          -
          <lpage>318</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Chinosi</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Trombetta</surname>
          </string-name>
          .
          <article-title>Modeling and Validating BPMN Diagrams</article-title>
          . In B. Hofreiter and H. Werthner, editors,
          <source>CEC</source>
          , pages
          <fpage>353</fpage>
          -
          <lpage>360</lpage>
          . IEEE Computer Society,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>R. M. Dijkman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dumas</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ouyang</surname>
          </string-name>
          .
          <article-title>Semantics and analysis of business process models in BPMN</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <volume>50</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1281</fpage>
          -
          <lpage>1294</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Harrer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lenhard</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Wirtz. BPEL</surname>
          </string-name>
          <article-title>Conformance in Open Source Engines</article-title>
          .
          <source>In Proceedings of the 5th IEEE International Conference on Service-Oriented Computing and Applications (SOCA'12)</source>
          , Taipei, Taiwan. IEEE, December
          <volume>17</volume>
          -19
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>N.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          , E. Verbeek, and
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Dijkman</surname>
          </string-name>
          .
          <article-title>Petri net transformations for business processes - a survey</article-title>
          .
          <source>T. Petri Nets and Other Models of Concurrency</source>
          ,
          <volume>2</volume>
          :
          <fpage>46</fpage>
          -
          <lpage>63</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>OASIS. Web Services Business Process Execution Language</surname>
          </string-name>
          ,
          <year>April 2007</year>
          .
          <year>v2</year>
          .0.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OMG. Business Process Modeling Notation,
          <year>v1</year>
          .1,
          <string-name>
            <surname>January</surname>
          </string-name>
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. OMG.
          <article-title>Business Process Model and Notation (BPMN) Version 2</article-title>
          .0,
          <string-name>
            <surname>January</surname>
          </string-name>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>P.</given-names>
            <surname>Wong</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Gibbons</surname>
          </string-name>
          .
          <article-title>A Process Semantics for BPMN</article-title>
          .
          <source>In Formal Methods and Software Engineering</source>
          , LNCS, pages
          <fpage>355</fpage>
          -
          <lpage>374</lpage>
          . Springer Berlin Heidelberg,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>