<!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>Tool for Extracting Features from BPMN Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ivan Compagnucci</string-name>
          <email>ivan.compagnucci@unicam.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Flavio Corradini</string-name>
          <email>flavio.corradini@unicam.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabrizio Fornari</string-name>
          <email>fabrizio.fornari@unicam.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Re</string-name>
          <email>barbara.re@unicam.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Camerino, School of Science and Technology, Computer Science Department</institution>
          ,
          <addr-line>Via Madonna</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>delle Carceri</institution>
          ,
          <addr-line>7, Camerino</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <abstract>
        <p>Leveraging BPMN models for validating novel approaches and tools is a common practice among researchers in the BPM field. To ensure the results validation accuracy of the such research activities, it is important to have an in-depth understanding of the sample models' features. This mitigates the avoidance of any biased factors that could potentially impact the validation process. In this work, we present BPMN Inspector, a web application designed to streamline the inspection process of BPMN models. The inspection process efectively distinguishes various model types (i.e. collaboration, choreography, and conversation) while eliminating the need for manual efort in identifying duplicate models, validity issues, and non-English models. In addition, BPMN Inspector provides detailed insights into the collection of models by investigating the usage of BPMN notation elements, their combinations, syntactic violations of the standard and the adherence to established good modeling practices.</p>
      </abstract>
      <kwd-group>
        <kwd>Business Process Model and Notation</kwd>
        <kwd>Notation usage</kwd>
        <kwd>Model validation</kwd>
        <kwd>Validation practices</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        BPMN has been widely acknowledged as the standard modeling notation for designing business
process models. It holds the promise of providing a standardized lingua franca to represent
business processes, which can be easily understood by all stakeholders involved in the business
process life cycle [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Since its release, BPMN models have often been used to validate research
activities in the BPM field. The selection of models used for validation plays a crucial role in
determining the result of novel research approaches. In fact, the validation process of the research
activities is directly influenced by the specific features of the models used. Understanding these
features provides a solid foundation for a wide range of research activities. As an example, in
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], researchers rely on precise and well-defined features of BPMN models to develop formal
methods and verification techniques. Similarly, in studies that focus on the BPMN language
[
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ], understanding the features of BPMN models becomes crucial for analyzing and
interpreting the collected data to analyze trends and usage of the notation. Therefore, a reliable
benchmark is needed that outlines the characteristics of the models.
      </p>
      <p>In this paper, we introduce BPMN Inspector, a web application designed to extract features
from a collection of BPMN models. By examining and interpreting the information obtained
from the models, researchers can improve the eficiency and efectiveness of their research
validation process, thereby ensuring the reliability and accuracy of their research findings.
Additionally, the tool provides users with the opportunity to access detailed reports. These
reports ofer comprehensive and structured information about BPMN models, catering to the
specific needs of educators, researchers, and standardization bodies. Users can tailor their
analyses based on their research objectives, teaching requirements, or standardization goals to
obtain relevant implications and suggestions.</p>
    </sec>
    <sec id="sec-2">
      <title>2. BPMN Inspector Main Functionalities</title>
      <p>BPMN Inspector is made available through a RESTful web application, which enables users to
upload a set of BPMN models, apply optional filters, and explore their features by performing
a set of analyses. The process of inspecting the model collection is depicted in Figure 1 and
can be divided into three main phases: BPMN Collection Upload, BPMN Collection Filtering, and
BPMN Collection Analysis.</p>
      <p>1.BPMN Collection Upload
2.BPMN Collection Filtering</p>
      <p>3.BPMN Collection Analysis
Download</p>
      <p>BPMN Models
Upload.bpmn
or.zip Files
BPMN Models</p>
      <p>Filter BPMN
Models
(Optiona)l
Filtered BPMN</p>
      <p>Models</p>
      <p>Inspect BPMN</p>
      <p>Models</p>
      <p>Generate
Analyses's
Reports
.csv Reports</p>
      <p>BPMN Collection Upload. This is the initial phase where the collection of models is uploaded.
One or more BPMN models can be uploaded in file formats such as .bpmn or compressed into a
.zip archive. If the file is in .zip format, the content is extracted, and the extensions of the file
are examined to exclude any file that does not conform to the .bpmn format.</p>
      <p>BPMN Collection Filtering. After uploading the models, the preview window is shown.
Figure 2 depicts the preview page that allows users to filter and download the models as a
.zip file, or inspect the collection by applying optional filters. Each model presents a set of
general information such as name, model type (i.e., Process Collaboration, Choreography,
or Conversation), whether the model is valid, whether it is duplicated within the collection,
whether the label’s model is in English language, and the file size. The collection can be filtered
based on two aspects: model features or model type. Regarding model features, the following
iflters can be applied: (i) removal of duplicate models; (ii) removal of syntactically invalid
models; and (iii) removal of models whose labels are in a language diferent from English.
Duplicate models are identified by reading and comparing all the bytes from each model’s file.
To determine syntactically invalid patterns, BPMN Inspector compares each model with the
standard BPMN XML schema provided by the OMG. The language of the models is extracted
using “Lingua”,1 a natural language detection library for Java. Considering the model’s type,
they can be filtered diferently based on Process Collaboration, Choreography, and Conversation
models. The model’s type is detected by analyzing the XML definition of each .bpmn file.</p>
      <p>BPMN Collection Analysis. This is the main phase of the tool and consists of a set of
analyses performed on the collection of BPMN models previously uploaded. The inspection
process involves four main analyses: BPMN Element Usage, BPMN Element Combined Usage,
BPMN Syntactic Validation, and BPMN Good Modeling Practices. In the following, we report a
description of each analysis.</p>
      <p>
        BPMN Element Usage. In this analysis, each model of the collection is analyzed by counting
the occurrences of each BPMN element. BPMN Inspector is able to distinguish and count up
to 267 diferent BPMN elements [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Each element is treated as a separate entity based on
its unique combination of markers. The analysis generates a .csv report providing detailed
information about the element usage enabling a dynamic generation of the graphs. The first
graph represents the model size, indicating the total number of elements used in each model’s
design. It ofers a comprehensive view of the collection’s complexity. Additionally, a practical
complexity graph shows the number of distinct types of elements used in each model, providing
valuable visual insights into the variety of BPMN elements utilized across the collection. The
remaining analysis, focus respectively on the number of occurrences of each BPMN element in
1https://github.com/pemistahl/lingua
the collection, providing insights into the frequency of element usage, and the distribution of
elements across the collection, indicating the total number of models containing each element.
      </p>
      <p>
        BPMN Element Combined Usage. This analysis aims to identify possible relationships between
the BPMN elements within the collection of models. BPMN Inspector performs an analysis of
both pairs and groups of BPMN elements to determine the most frequently used combinations.
To gather information on possible combinations, the tool calculates the Pearson correlation
coeficient [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for each pair of elements. This coeficient measures the strength of the
relationship between two elements. The correlation index ranges from -1 to 1, where 0 indicates no
correlation, 1 suggests that the elements are used consistently together, and -1 indicates that
the elements are used alternatively. The analysis also explores groups of elements, starting
with pairs of elements that are frequently used together. Then it expands the groups by adding
the element that is most commonly used in combination with that set. This process iterates to
automatically generate sets of elements. The tool calculates the percentage of occurrence of
these element sets within the model collection using a graph to represent these combinations.
Finally, two reports are generated: one containing the Pearson coeficients for each pair of
elements, and the second one containing the percentage values of the most used sets of elements.
      </p>
      <p>BPMN Syntactic Validation. This analysis focuses on identifying and handling syntactic
violations in the BPMN models. Therefore, it will be conducted only if invalid models were not
excluded during the filtering procedure. To determine whether the models include syntactic
errors, BPMN Inspector compares each model with the standard BPMN XML schema provided
by the OMG. The analysis generates a report in the form of a .csv file, which includes the list of
the analyzed models. For invalid models, the report also provides an array of errors associated
with each model. In the web application, is shown a chart to display the types of errors and
their frequency. Additionally, is defined a table, presenting the error codes and providing a link
to the XMLdation wiki site.2 This link directs users to a detailed description of each error.</p>
      <p>
        BPMN Good Modeling Practices. This analysis investigates whether the collection of models
adheres to a set of established good modeling practices, as defined by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. To perform this
analysis, BPMN Inspector integrates a tool called BEBoP (understandaBility vErifier for Business
Process models).3 The analysis results in a .csv report that provides boolean values indicating
whether the model meets each guideline or not. In the web application, a radar graph is shown
to indicate the percentage of violations considering each good modeling practice.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Maturity of the Tool</title>
      <p>
        BPMN Inspector was specifically developed as a supporting tool for investigating trends in the
usage of the BPMN notation language, enabling research on BPMN development, adoption,
usage patterns, and impact. It has been adopted in a study conducted by [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and then in the
Business &amp; Information Systems Engineering journal, in the special issue titled “The Impact of
the Business Process Model and Notation”[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Maturity of the Tool. The maturity of BPMN Inspector was assessed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] where the
analysis involved 54,500 BPMN models obtained from seven online repositories. The
evalua2https://wiki.xmldation.com
3BEBoP tool: https://pros.unicam.it/bebop
tion process of the tool involved the four analyses described above. Starting from the usage
of notation elements, the findings revealed that certain subsets of the BPMN notation were
predominantly used, emphasizing the gap between theoretical (i.e., the total number of elements
in the modeling notation) and practical complexity [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] (i.e., the number of diferent element
types used in BPMN models) of the BPMN language. Regarding the combined usage of elements,
the study identified strong correlations among certain elements, while no inverse correlation
was found. Furthermore, an examination of syntactic errors in the models revealed that the
predominant errors were associated with the connection of objects that lacked source or target
elements. Furthermore, the study examined the adherence to good modeling practices and found
that designers generally don’t follow them. These observations have led to several implications
and suggestions for educators, researchers, and standardization bodies. Based on the insights
from the study, it is recommended that educators focus on commonly used BPMN elements and
combinations in their teaching. Researchers are encouraged to investigate the reasons behind
the underutilization of certain BPMN elements. Finally, the study has highlighted the need for
better explanations from standardization bodies.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Resources</title>
      <p>The source code for BPMN Inspector is available at https://github.com/PROSLab/BPMN-Inspector.
Additional information on the tool are available at http://pros.unicam.it/bpmn-inspector/.
Screencast showing a case study is available at https://youtu.be/pLDZyC60oRY. Finally, a
docker image of the tool is made available at https://hub.docker.com/r/proslab/bpmn-inspector.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bork</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Karagiannis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pittl</surname>
          </string-name>
          ,
          <article-title>A survey of modeling language specification techniques</article-title>
          ,
          <source>Information Systems</source>
          <volume>87</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Corradini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fornari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Re</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Tiezzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vandin</surname>
          </string-name>
          ,
          <article-title>A formal approach for the analysis of bpmn collaboration models</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>180</volume>
          (
          <year>2021</year>
          )
          <fpage>111007</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>I.</given-names>
            <surname>Compagnucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Corradini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fornari</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Re,</surname>
          </string-name>
          <article-title>Trends on the Usage of BPMN 2.0 from Publicly Available Repositories</article-title>
          , in: International Conference on Perspectives in Business Informatics Research, LNBIP, volume
          <volume>430</volume>
          <source>of LNBIP</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Compagnucci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Corradini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fornari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Re</surname>
          </string-name>
          ,
          <article-title>A Study on the Usage of the BPMN Notation for Designing Process Collaboration</article-title>
          , Choreography, and Conversation Models,
          <source>Business &amp; Information Systems Engineering</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Benesty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Cohen</surname>
          </string-name>
          ,
          <article-title>Pearson correlation coeficient, in: Noise reduction in speech processing</article-title>
          , volume
          <volume>2</volume>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Corradini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fornari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gnesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Re</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. O.</given-names>
            <surname>Spagnolo</surname>
          </string-name>
          ,
          <article-title>A Guidelines framework for understandable BPMN models</article-title>
          ,
          <source>Data Knowledge Engineering</source>
          <volume>113</volume>
          (
          <year>2018</year>
          )
          <fpage>129</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Erickson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Siau</surname>
          </string-name>
          ,
          <article-title>Theoretical and practical complexity of modeling methods</article-title>
          ,
          <source>Communications of the ACM</source>
          <volume>50</volume>
          (
          <year>2007</year>
          )
          <fpage>46</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>