<!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>fcm-js: A Tool for Design-Time Support of Fragment-Based Case Management</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kerstin Andree</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leon Bein</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maximilian König</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Caterina Mandel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marc Rosenau</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carla Terboven</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dorina Bano</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stephan Haarmann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Weske</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hasso Plattner Institute for Digital Engineering, University of Potsdam</institution>
          ,
          <addr-line>Prof.-Dr.Helmert-Str. 2-3, 14482 Potsdam</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>87</fpage>
      <lpage>91</lpage>
      <abstract>
        <p>Fragment-based Case Management (fCM) is an approach to handle flexible, knowledge-intensive business processes. An fCM model is composed of four artifacts, modeling process behavior and data. Diferent modeling languages and hidden dependencies among these artifacts make modeling especially challenging. However, no adequate tooling that supports designers exists. To close this gap, we propose fcm-js, a modeling tool that provides a joint, visual user interface for all artifacts and integrates automated guideline checking based on fCM guidelines.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Hybrid Process Modeling</kwd>
        <kwd>Design-Time Support</kwd>
        <kwd>Case Management</kwd>
        <kwd>Process Modeling Guidelines</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Recently, knowledge-intensive processes receive more and more attention in the BPM
community. Knowledge-work is highly flexible and driven by the decisions of experts (e.g., physicians).
Existing BPM approaches provide insuficient support for these processes [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ]. Thus, novel
approaches have been proposed, one of which is Fragment-based Case Management (fCM) [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ].
fCM process models stand out because they consist of four artifacts: a set of process fragments,
a domain model, a set of object lifecycles, and a goal state [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. The use of diferent modeling
languages in these artifacts and hidden dependencies among them make modeling challenging.
      </p>
      <p>
        While tools for modeling with process-centered languages, such as BPMN [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and with
data-centered ones, such as PHILharmonicFlows [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], exist, hybrid approaches, such as fCM, lack
up-to-date tooling that deals with their unique challenges and supports designers in creating
high-quality models.
      </p>
      <p>In this demo, we present the open-source fCM modeling tool fcm-js1. It enhances the modeling
process by ofering an intuitive user interface and improves the model quality by integrating
several fCM modeling guidelines. fcm-js allows the user to model all artifacts of an fCM model
at the same time, which gives a good overview of the progress and can speed up modeling.
Furthermore, fcm-js includes an extensive guideline checking system. Currently, 20 guidelines
regarding good fCM modeling2 are implemented on diferent levels. Users are informed of
1
2
potential errors and best practice violations in their artifacts, and they are ofered quick-fixes.
Moreover, some guidelines regarding the consistency between the artifacts are enforced by
the tool, thereby ensuring a certain degree of quality. In the remainder, we present the main
functionalities in more detail and discuss the maturity of the tool. For this, a small user study is
presented, and future work is highlighted.
2. Overview and Features
fcm-js is a web application mainly written in HTML and JavaScript. One of its core features is
that it is composed of one modeler for each artifact of fCM models. Figure 1 shows a screenshot
with all important visual components: the modelers for (1) fragments, (2) data model, (3) goal
state, and (4) object lifecycles (OLCs); (5) the guideline violation table. In the following, the
modelers are described in more detail, and we briefly explain the implementation of two other
core features, namely consistency and guideline checking.</p>
      <sec id="sec-1-1">
        <title>2.1. Individual Artifact Modelers</title>
        <p>The individual modelers are technologically based on diagram-js, a “toolbox for displaying
and modifying diagrams on the web”3. Hence, they are designed similarly: as user interface,
SVG-based diagram canvases are provided, featuring drag-and-drop-based visual modeling
and advanced features such as copy and paste. As interface for custom internal modules and
auxiliary components, each modeler features an event bus, which can be used to listen to,
handle, and fire various events. It is the key component to communicate with the modelers on
a software level.</p>
        <p>The Fragment Modeler builds upon the BPMN modeler bpmn-js4, as fCM fragment models use
a subset of BPMN. The Fragment Modeler supports users, for example, when placing data object
references by making them choose data classes and states from the data and object lifecycle
models. The Data Modeler allows creating basic UML class diagrams consisting of classes with
names and attributes, and associations with multiplicities and fCM-specific goal multiplicities.
In the Goal State Modeler, states from the OLCs can be put together in disjunctive normal form
with dropdown menus. The Object Lifecycle Modeler allows selecting a data class whose OLC
should be displayed. OLCs are modeled exclusively with states and unlabeled transitions.</p>
      </sec>
      <sec id="sec-1-2">
        <title>2.2. Modeler Interplay</title>
        <p>One inherent challenge of fCM modeling is having to work in four models at the same time,
and ensuring their consistency with each other.</p>
        <p>fcm-js displays all four modelers side by side (cp. Fig. 1). It allows users to adjust the spacing
on-the-fly and select which modeler to display “in focus” on the left side. This way, users can
seamlessly work on multiple artifacts at the same time, avoiding mental context switches.</p>
        <p>Furthermore, fcm-js enforces general consistency between the artifacts. To this end, we put
a mediator component in place, which connects to each event bus. For instance, deleting and
renaming data classes or OLC states is captured and propagated across the modelers, which can
then adapt their models automatically.</p>
        <p>All artifacts can be imported and exported as one file, allowing users to save their models
and continue modeling later on.</p>
      </sec>
      <sec id="sec-1-3">
        <title>2.3. Guideline Checking</title>
        <p>Modeling guidelines help designers to detect errors and to assess the quality of a model. However,
checking guidelines manually is tedious and error-prone. With the mediator component, fcm-js
already automatically enforces most consistency-based guidelines from the fCM guideline
catalog5 . For many other guidelines, fcm-js features automated checking. Guidelines are
translated into one or more checks, which are unambiguously met or violated by a given model.
These checks are reevaluated whenever the user changes the model.</p>
        <p>As an example, consider the guideline with catalog ID C36, which states that state transitions
induced by activities should be covered by the OLCs. Furthermore, consider the process fragment
displayed in Fig. 2, which shows the activity Invite Speakers that changes instances of class
Conference from state reviewing closed to state speakers invited. If there is no matching transition
in the OLC of class Conference, this fragment violates C3. In fcm-js, this violation is detected,
and the user is made aware of it by highlighting the activity (cp. Fig. 2) and listing the violation
4https://github.com/bpmn-io/bpmn-js
5https://github.com/bptlab/fCM-design-support/wiki
6https://github.com/bptlab/fCM-design-support/wiki/Consistency#c3
in a hideable guideline violation table (cp. (5) in Fig. 1). For each violation, fcm-js provides
an explanatory message, and optionally a list of quick-fixes, i.e., concrete actions to fix the
violation that can be applied automatically. In the example, clicking on the first option would
automatically create the missing OLC transition for the user, which solves the violation.</p>
        <p>Immediate feedback through automated violation detection and highlighting helps designers
to learn fCM in a trial-and-error fashion. Furthermore, quick-fixes accelerate the user workflow
by resolving violations more quickly.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. Maturity</title>
      <p>While fcm-js is still active in development, it is already in a stable version and can be used in
projects. In this section, we will first showcase two small user studies conducted with the tool
and then provide an outlook for future work.</p>
      <sec id="sec-2-1">
        <title>3.1. User Studies</title>
        <p>We assessed the efectiveness of fcm-js though a user study comparing the quality of fCM models
created by hand with models created with fcm-js. Two groups of each five competent fCM
designers modeled the same knowledge-intensive process. One group received the guideline
catalog and fcm-js, the other did not. Manually checking created models showed an increase
of fulfilled guidelines in the tool-supported group (66% vs. 84%). This efect was even higher
when only considering guidelines that were implemented in fcm-js (66% vs. 91%). With that,
we conclude that fcm-js helps designers to fulfill guidelines and thus produces fCM models of
higher quality.</p>
        <p>Furthermore, we conducted think-aloud sessions and interviews with five diferent competent
fCM designers, who were asked to model an fCM case model based on a textual description
using fcm-js. The participants stated that they felt more confident in modeling and rated their
models as higher in quality compared to previous modeling procedures. In particular, the general
tool structure and automatically performed consistency checks were positively highlighted. We
infer that fcm-js improves the fCM modeling experience.
Our tool is a stand-alone web application that focuses on the design-time support and aims
to make fCM more accessible to novice users. Future work could consider an integration into
existing fCM execution pipelines. Regarding the expandability of fcm-js, more guidelines can
be easily added through the unified guideline interface.</p>
        <p>Furthermore, user experience can be improved. For instance, undoing and redoing are
currently not possible in fcm-js and could be a significant enhancement. However, especially
considering our strict consistency guidelines which automatically synchronize all artifacts,
implementing un- and redoing is a challenging task.</p>
        <p>In general, the design of fcm-js can be transferred to future projects on hybrid modeling
approaches. We want to stress especially the side-by-side layout and the consistency and
guideline checking, which helped designers to cope with the complexity induced by composed
models.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C. D.</given-names>
            <surname>Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marrella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <article-title>Knowledge-intensive processes: Characteristics, requirements and analysis of contemporary approaches</article-title>
          ,
          <source>J. Data Semant</source>
          .
          <volume>4</volume>
          (
          <year>2015</year>
          )
          <fpage>29</fpage>
          -
          <lpage>57</lpage>
          . doi:
          <volume>10</volume>
          .1007/s13740-014-0038-4.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K. D.</given-names>
            <surname>Swenson</surname>
          </string-name>
          ,
          <article-title>Position: BPMN is incompatible with ACM, in: Business Process Management Workshops - BPM 2012 International Workshops</article-title>
          , Tallinn, Estonia, September 3,
          <year>2012</year>
          . Revised Papers,
          <year>2012</year>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>58</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -36285-9\_7.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
            , M. Pesic,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Schonenberg</surname>
          </string-name>
          ,
          <article-title>Declarative workflows: Balancing between flexibility and support</article-title>
          ,
          <source>Comput. Sci. Res</source>
          . Dev.
          <volume>23</volume>
          (
          <year>2009</year>
          )
          <fpage>99</fpage>
          -
          <lpage>113</lpage>
          . doi:
          <volume>10</volume>
          .1007/ s00450-009-0057-9.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hewelt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          ,
          <article-title>A hybrid approach for flexible case modeling and execution</article-title>
          ,
          <source>in: Business Process Management Forum - BPM Forum</source>
          <year>2016</year>
          , Rio de Janeiro, Brazil,
          <source>September 18-22</source>
          ,
          <year>2016</year>
          , Proceedings, volume
          <volume>260</volume>
          <source>of Lecture Notes in Business Information Processing</source>
          , Springer,
          <year>2016</year>
          , pp.
          <fpage>38</fpage>
          -
          <lpage>54</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -45468-9\_3.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Haarmann</surname>
          </string-name>
          ,
          <article-title>Fragment-based case management models: Metamodel, consistency, &amp; correctness</article-title>
          , in
          <source>: Proceedings of the 13th European Workshop on Services and their Composition (ZEUS</source>
          <year>2021</year>
          ), Bamberg, Germany,
          <source>February 25-26</source>
          ,
          <year>2021</year>
          , volume
          <volume>2839</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2839</volume>
          /paper1.pdf.
        </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, Data Knowl</article-title>
          .
          <source>Eng</source>
          .
          <volume>113</volume>
          (
          <year>2018</year>
          )
          <fpage>129</fpage>
          -
          <lpage>154</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.datak.
          <year>2017</year>
          .
          <volume>11</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Steinau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Andrews</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          ,
          <article-title>A modeling tool for philharmonicflows objects and lifecycle processes</article-title>
          ,
          <source>in: Proceedings of the BPM Demo Track and BPM Dissertation Award (BPM</source>
          <year>2017</year>
          ), Barcelona, Spain,
          <year>September 13</year>
          ,
          <year>2017</year>
          , volume
          <volume>1920</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2017</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-1920/BPM_2017_paper_196. pdf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>