<!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>
      <article-id pub-id-type="doi">10.1007/978-3-031-94634-9_18</article-id>
      <title-group>
        <article-title>BPMNinvest: Feedback on Change in Process Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Thomas M. Prinz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yongsun Choi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Course Evaluation Service, Friedrich Schiller University Jena</institution>
          ,
          <addr-line>07743 Jena</addr-line>
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Industrial and Management Engineering, Inje University</institution>
          ,
          <addr-line>Gimhae</addr-line>
          ,
          <country>Republic of Korea</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>15714</volume>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>Developing sound business process models is not trivial, even for experts. Although new tools, such as the BPMN Analyzer 2.0, are evolving, the majority of them are based on model checking or state-space exploration leading to known drawbacks in software testing such as fault blocking and fault masking. This paper presents BPMNinvest as an extension of the bpmn.io framework that provides fault feedback on every change of the model through structural approaches of the state of the art. This feedback contains a detailed explanation and localization of the fault and the possibility to manifest the fault as error during execution. For this reason, it is also suitable for teaching and quality training purposes. Currently, it detects 11 kinds of flaws and faults and was developed with the challenges of coverage, immediacy, and consumability in mind.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Business process model</kwd>
        <kwd>Analysis</kwd>
        <kwd>Modeling</kwd>
        <kwd>Soundness</kwd>
        <kwd>Loop decomposition</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        (a) Fault masking: Unbounded number of tokens
produced by the left loop hinders a deadlock at the right
structure. The browser crashes when to analyze this
model with BPMN Analyzer 2.0.
(b) Fault blocking: BPMN Analyzer 2.0 detects the
deadlock situation at the left-most parallel gateway
but not the lack of synchronization at the right-most
exclusive gateway.
(a) Fault illusion: BPMN Analyzer 2.0 detects a deadlock
situation at the right-most parallel gateway but it is caused by the
previous lack of synchronization at the exclusive gateway.
(b) Although BPMN Analyzer 2.0 states that
this model is not guaranteed to terminate, no
visual feedback is provided.
(an unsound behavior, such as deadlock, prevents other unsound behaviors from being reached). To verify
such disadvantages, example cases in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] have been analyzed with BPMN Analyzer 2.0. Figure 1 (a)
illustrates a BPMN process model with fault masking: The left loop produces an unbounded number
of tokens (a lack of synchronization), which hinders the right deadlock-incurring structure to encounter
a deadlock. Surprisingly, this simple process model crashes the browser while using BPMN Analyzer
2.0. We expect that the unbounded number of tokens leads the algorithms behind BPMN Analyzer 2.0
not to terminate. Figure 1 (b) shows a BPMN process model with fault blocking for which the BPMN
Analyzer 2.0 can only show hints for the deadlock in the left-most parallel gateway. The potential lack of
synchronization at the right-most exclusive gateway remains undetected. A fault illusion is illustrated in
Figure 2 (a) where the BPMN Analyzer 2.0 detects a deadlock in the right-most parallel gateway although
the “real” fault is the non-synchronizing exclusive gateway causing the right-most parallel gateway to
have a remaining token. Unfortunately, in some situations, as illustrated in Figure 2 (b), BPMN Analyzer
2.0 does not provide any visual feedback except a statement that the model is not guaranteed to terminate.
At this point, we want to emphasize that these drawbacks are not the result of a faulty implementation
of the BPMN Analyzer 2.0. The tool is well implemented and the authors have invested much effort to
provide easy and valuable modeling support. The core of the drawbacks lay in the used methodology.
      </p>
      <p>
        This paper describes our new tool BPMNinvest, which orientates on the usability aspects and features
of BPMN Analyzer 2.0. After any change of a process model, the detected faults are illustrated directly
in the model without any noticeable delay (cf. Figure 3 (a)). The methodology of loop decomposition
in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and of compiler-based algorithms for detecting deadlocks and lacks of synchronization in acyclic
process models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] are utilized for an on the fly analysis of control flow faults. One strong benefit of those
methodologies is that they find those faults without state-space exploration, i. e., they are fast (with a
cubic computational worst-case time complexity) and they find faults instead of errors (fault distance,
masking, blocking, and illusion do not manifest). In addition, the illustrated faults in the process model are
comprehensible as a detailed explanation and localization are provided attached with literature references
(a) Faults are highlighted with colored elements and
info boxes while hovering over the element with the
mouse pointer.
(b) Each fault is explained in detail by BPMNinvest
and a simulation is provided that tries to force a faulty
situation.
(a) Inclusive gateways are not supported by BPMN
Analyzer 2.0 but in BPMNinvest.
(b) Boundary events are not analyzed by BPMN
Analyzer 2.0 but in BPMNinvest.
and the possibility to force the fault by a simulation. Besides those features, coverage, immediacy, and
consumability are the main challenges for standard users (e. g., developers) being confronted with analysis
results from formal analysis [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We addressed these challenges during development of BPMNinvest.
      </p>
      <p>The rest of this paper is structured as follow: Section 2 describes the innovative features of BPMNinvest
whereas Section 3 gives a short report of its maturity. The paper is concluded by Section 4.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Innovations</title>
      <p>Regarding the main innovations of an instantaneous and comprehensible control oflw error detection of
BPMN Analyzer 2.0, BPMNinvest extend those innovations with a broad coverage of BPMN elements, an
analysis on change, and a very detailed fault feedback.</p>
      <sec id="sec-2-1">
        <title>2.1. Broad Coverage of BPMN Elements</title>
        <p>
          BPMNinvest covers most elements available in the bpmn.io modeler except complex gateways and
message flows . It fully supports inclusive gateways regarding [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] (cf. Figure 4 (a)) and boundary
events (even non-interrupting boundary events, cf. Figure 4 (b)). Both are not covered by the BPMN
Analyzer 2.0. Expanded sub-processes as well as different lanes and pools are supported as well. The
model can further have multiple (implicit) start events and multiple (implicit) end events. For this reason,
BPMNinvest has a broad coverage of elements of the BPMN specification used in practice.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Analysis on Change</title>
        <p>
          Although Fahland et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] stated an instantaneous feedback as 500ms or less, our analyses only require
in 95% of considered cases less than 2ms [
          <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
          ]. For this reason, feedback is not just instantaneous, it is
on change. Of course, BPMNinvest is implemented in JavaScript and, therefore, interpreted and compiled
at runtime. Thus, the implementation is slower than the Java implementation of Mojo. However, even for
big process models, we do not recognize any obvious delay during modeling. In the future, collecting
detailed diagnostic information for explanations and simulations could be performed on demand if there
should be drawbacks for big models.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Comprehensible and Detailed Fault Feedback</title>
        <p>
          Instead of showing errors, which occur during execution (as returned by a state-space exploration
approach), BPMNinvest collects 11 kinds of flaws and faults in the entire model, i. e., fault masking, fault
illusion, and fault blocking are not a problem. Regarding best practices, e. g., stated in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], BPMNinvest
reports the flaws: no (implicit) start event, no (implicit) end event, usage of implicit start, usage of implicit
end, and wrongly structured gateway. As faults, it detects parallel or inclusive gateways as loop exits,
parallel gateways as loop entries, deadlocks during loop initialization, deadlocks, endless loops, and lack
of synchronization. Since it is based on research results of [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], it is complete regarding soundness.
        </p>
        <p>Figure 3 (a) illustrates BPMNinvest how it highlights BPMN elements with a fault. Overall, informative
hints are highlighted blue (such as implicit starts and ends), wrongly structured gateways are highlighted
yellow, and faults are colored red. If the user hovers the elements, a short explanation of the fault/flaw is
displayed. Clicking on the element and on the question mark opens a detailed fault explanation panel.
Furthermore, the fault with the related BPMN elements are focused in the model (as illustrated in Figure 3
(b)). It gives a general explanation of the fault, a model-oriented explanation, some repair suggestions,
and references to the literature if more detailed information is required. Most flaws and faults provide a
simulation, i. e., the attempt to manifest the fault as an error during execution. This is not trivial as a fault
is not directly associated to a trace of execution or a similar concept. Since fault blocking, fault illusion,
and fault masking may appear during simulation, forcing the error is not guaranteed but usually works
ifne. The simulation is done via a token game being based on the bpmn.io Token simulation extension. If
the error is reached, the simulation automatically pauses and provides a further hint about the error.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Maturity of the Tool</title>
      <p>
        BPMNinvest is the result of ongoing refinements on the algorithms of our business process analysis tool
Mojo. Those algorithms have been tested multiple times and were leading with regard to other approaches
in both diagnostic information and performance regarding running time [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. New insights about loops
and their relevance during soundness checking lead to even more efficient, accurate, and localized fault
detection algorithms [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The tool is open source and everyone can help to further improve the quality of
code although we take much effort to have a high code quality while staying efficient. Furthermore, the
tool is practical enough to be integrated with the Progression engine [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. BPMNinvest will be further
extended with new research results, e. g., with a “reachability checker” that will allow users to ask if a
specific state is reachable from an initial state [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The tool will be further improved regarding usability
after collecting feedback from users.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>Modeling correct business process models is not trivial. BPMNinvest supports users during modeling by
giving feedback on change directly in the model with a detailed explanation and a simulation of the faults.
Currently, it detects 11 kinds of flaws and faults. As it is based on structural instead of behavioral analysis,
it is able to detect faults behind other faults and remove difficulties such as fault masking, illusion, and
blocking. BPMNinvest addresses coverage, immediacy, and consumability of the analysis results.</p>
      <p>In the future, we plan to extend BPMNinvest to handle further flaws and faults such as loops without
entry, loops without exits, complex gateways, and message flows. Furthermore, BPMNinvest will get a
“reachability checker” allowing to ask if a specific state can be reached from an initial state.</p>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <p>The author(s) have not employed any Generative AI tools.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Reijers</surname>
          </string-name>
          , Fundamentals of Business Process Management, Springer,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fahland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Favre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Koehler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lohmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Völzer</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. Wolf,</surname>
          </string-name>
          <article-title>Analysis on demand: Instantaneous soundness checking of industrial business process models</article-title>
          ,
          <source>Data Knowl. Eng</source>
          .
          <volume>70</volume>
          (
          <year>2011</year>
          )
          <fpage>448</fpage>
          -
          <lpage>466</lpage>
          . (Mar.
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Prinz</surname>
          </string-name>
          , W. Amme,
          <article-title>Control-flow-based methods to support the development of sound workflows</article-title>
          ,
          <source>Complex Syst. Informatics Model. Q</source>
          .
          <volume>27</volume>
          (
          <year>2021</year>
          )
          <fpage>1</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Verification of workflow nets</article-title>
          , in: P. Azéma, G. Balbo (Eds.),
          <source>Application and Theory of Petri Nets</source>
          <year>1997</year>
          , 18th International Conference, ICATPN '
          <fpage>97</fpage>
          , Toulouse, France, June 23-27,
          <year>1997</year>
          , Proceedings, volume
          <volume>1248</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>1997</year>
          , pp.
          <fpage>407</fpage>
          -
          <lpage>426</lpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-63139-9_
          <fpage>48</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>B. F. van Dongen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendling</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Structural patterns for soundness of business process models</article-title>
          ,
          <source>in: Tenth IEEE International Enterprise Distributed Object Computing Conference (EDOC</source>
          <year>2006</year>
          ),
          <fpage>16</fpage>
          -20
          <source>October</source>
          <year>2006</year>
          ,
          <string-name>
            <given-names>Hong</given-names>
            <surname>Kong</surname>
          </string-name>
          , China, IEEE Computer Society,
          <year>2006</year>
          , pp.
          <fpage>116</fpage>
          -
          <lpage>128</lpage>
          . doi:
          <volume>10</volume>
          .1109/EDOC.
          <year>2006</year>
          .
          <volume>56</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Prinz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Spieß</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Amme</surname>
          </string-name>
          ,
          <article-title>A first step towards a compiler for business processes</article-title>
          , in: A.
          <string-name>
            <surname>Cohen</surname>
          </string-name>
          (Ed.),
          <source>Compiler Construction - 23rd International Conference, CC</source>
          <year>2014</year>
          ,
          <article-title>Held as Part of the European Joint Conferences on Theory and Practice of Software</article-title>
          ,
          <source>ETAPS</source>
          <year>2014</year>
          , Grenoble, France, April 5-
          <issue>13</issue>
          ,
          <year>2014</year>
          . Proceedings, volume
          <volume>8409</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2014</year>
          , pp.
          <fpage>238</fpage>
          -
          <lpage>243</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Kräuter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Stünkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rutle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lamo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>König</surname>
          </string-name>
          ,
          <source>BPMN analyzer 2</source>
          .
          <article-title>0: Instantaneous, comprehensible, and fixable control flow analysis for realistic BPMN models</article-title>
          , in: A.
          <string-name>
            <surname>del-Río-Ortega</surname>
          </string-name>
          et al. (Ed.),
          <source>Proceedings of the Best Dissertation Award, Doctoral Consortium, and Demonstration &amp; Resources Forum at BPM</source>
          <year>2024</year>
          co
          <article-title>-located with 22nd International Conference on Business Process Management (BPM</article-title>
          <year>2024</year>
          ), Krakow, Poland,
          <source>September 1st to 6th</source>
          ,
          <year>2024</year>
          , volume
          <volume>3758</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2024</year>
          , pp.
          <fpage>66</fpage>
          -
          <lpage>70</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3758</volume>
          /paper-11.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Prinz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. L.</given-names>
            <surname>Ha</surname>
          </string-name>
          ,
          <article-title>Soundness unknotted: An efcfiient soundness checking algorithm for arbitrary cyclic process models by loosening loops</article-title>
          ,
          <source>Inf. Syst</source>
          .
          <volume>128</volume>
          (
          <year>2025</year>
          )
          <fpage>102476</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Prinz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. L.</given-names>
            <surname>Ha</surname>
          </string-name>
          ,
          <article-title>Understanding and decomposing control-flow loops in business process models</article-title>
          , in: C. Di
          <string-name>
            <surname>Ciccio</surname>
          </string-name>
          et al. (Ed.),
          <source>Business Process Management - 20th International Conference, BPM</source>
          <year>2022</year>
          , Münster, Germany,
          <source>September 11-16</source>
          ,
          <year>2022</year>
          , Proceedings, volume
          <volume>13420</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2022</year>
          , pp.
          <fpage>307</fpage>
          -
          <lpage>323</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>T. M. Prinz</surname>
          </string-name>
          , W. Amme,
          <article-title>Why We Need Static Analyses of Service Compositions - Fault vs</article-title>
          .
          <source>Error Analysis of Soundness</source>
          ,
          <source>International Journal on Advances in Intelligent Systems</source>
          <volume>10</volume>
          (
          <year>2017</year>
          )
          <fpage>458</fpage>
          -
          <lpage>473</lpage>
          . ISSN 1942-
          <volume>2679</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>T. M. Prinz</surname>
            ,
            <given-names>N. L.</given-names>
          </string-name>
          <string-name>
            <surname>Ha</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Choi</surname>
          </string-name>
          ,
          <article-title>Transformation of cyclic process models with inclusive gateways to be executable on state-of-the-art engines</article-title>
          , in: J.
          <string-name>
            <surname>Filipe</surname>
          </string-name>
          et al. (Ed.),
          <source>Proceedings of the 27th International Conference on Enterprise Information Systems, ICEIS</source>
          <year>2025</year>
          , Porto, Portugal, April 4-
          <issue>6</issue>
          ,
          <year>2025</year>
          , Volume
          <volume>2</volume>
          ,
          <string-name>
            <surname>SCITEPRESS</surname>
          </string-name>
          ,
          <year>2025</year>
          , pp.
          <fpage>280</fpage>
          -
          <lpage>291</lpage>
          . doi:
          <volume>10</volume>
          .5220/0013386400003929.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>T. M. Prinz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Vetterlein</surname>
          </string-name>
          ,
          <article-title>Progression: A lightweight BPMN engine simplifying the execution and monitoring of process models</article-title>
          , in: [To be published at the 23rd
          <source>International Conference on Business Process Management (BPM</source>
          <year>2025</year>
          ) Forum], Springer,
          <year>2025</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>T. M. Prinz</surname>
            ,
            <given-names>C. T.</given-names>
          </string-name>
          <string-name>
            <surname>Schwanen</surname>
            ,
            <given-names>W. M. P. van der Aalst</given-names>
          </string-name>
          ,
          <article-title>Deciding (sub-marking) reachability in OpP2 T 2q for sound acyclic free-choice workflow nets</article-title>
          , in: E. G. Amparore, L. Mikulski (Eds.),
          <source>Application and Theory of Petri Nets and Concurrency - 46th International Conference</source>
          , PETRI
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>