=Paper=
{{Paper
|id=Vol-3216/paper_148
|storemode=property
|title=fcm-js: A Tool for Design-Time Support of Fragment-Based Case Management
|pdfUrl=https://ceur-ws.org/Vol-3216/paper_148.pdf
|volume=Vol-3216
|authors=Kerstin Andree,Leon Bein,Maximilian König,Caterina Mandel,Marc Rosenau,Carla Terboven,Dorina Bano,Stephan Haarmann,Mathias Weske
|dblpUrl=https://dblp.org/rec/conf/bpm/AndreeBKMRTBHW22
}}
==fcm-js: A Tool for Design-Time Support of Fragment-Based Case Management==
fcm-js: A Tool for Design-Time Support of
Fragment-Based Case Management
Kerstin Andree1 , Leon Bein1 , Maximilian König1 , Caterina Mandel1 , Marc Rosenau1 ,
Carla Terboven1 , Dorina Bano2 , Stephan Haarmann2 and Mathias Weske2
Hasso Plattner Institute for Digital Engineering, University of Potsdam, Prof.-Dr.Helmert-Str. 2-3, 14482 Potsdam, Germany
1 {firstname.lastname}@student.hpi.de
2 {firstname.lastname}@hpi.de
Abstract
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. Different 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.
Keywords
Hybrid Process Modeling, Design-Time Support, Case Management, Process Modeling Guidelines
1. Introduction
Recently, knowledge-intensive processes receive more and more attention in the BPM commu-
nity. Knowledge-work is highly flexible and driven by the decisions of experts (e.g., physicians).
Existing BPM approaches provide insufficient support for these processes [1, 2, 3]. Thus, novel
approaches have been proposed, one of which is Fragment-based Case Management (fCM) [4, 5].
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 [4]. The use of different modeling
languages in these artifacts and hidden dependencies among them make modeling challenging.
While tools for modeling with process-centered languages, such as BPMN [6], and with
data-centered ones, such as PHILharmonicFlows [7], 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.
In this demo, we present the open-source fCM modeling tool fcm-js1 . It enhances the modeling
process by offering 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 different levels. Users are informed of
Proceedings of the Demonstration & Resources Track, Best BPM Dissertation Award, and Doctoral Consortium at BPM 2022 co-located
with the 20th International Conference on Business Process Management, BPM 2022, Münster, Germany, September 11–16, 2022
© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
Workshop
Proceedings
http://ceur-ws.org
ISSN 1613-0073
CEUR Workshop Proceedings (CEUR-WS.org)
1 Repository with source code, documentation, and tutorial: https://github.com/bptlab/fCM-design-support
Exemplary deployment at: https://bpt-lab.org/fcm-js/
2 https://github.com/bptlab/fCM-design-support/wiki
87
Kerstin Andree et al. CEUR Workshop Proceedings
1 2
3
4
5
Figure 1: Screenshot of fcm-js user interface
potential errors and best practice violations in their artifacts, and they are offered 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.
2.1. Individual Artifact Modelers
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
3 https://github.com/bpmn-io/diagram-js
88
Kerstin Andree et al. CEUR Workshop Proceedings
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.
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.
2.2. Modeler Interplay
One inherent challenge of fCM modeling is having to work in four models at the same time,
and ensuring their consistency with each other.
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.
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.
All artifacts can be imported and exported as one file, allowing users to save their models
and continue modeling later on.
2.3. Guideline Checking
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.
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
4 https://github.com/bpmn-io/bpmn-js
5 https://github.com/bptlab/fCM-design-support/wiki
6 https://github.com/bptlab/fCM-design-support/wiki/Consistency#c3
89
Kerstin Andree et al. CEUR Workshop Proceedings
Figure 2: Violation highlighting, a clipping from the fragment modeler of fcm-js
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.
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.
3. Maturity
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.
3.1. User Studies
We assessed the effectiveness 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 effect 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.
Furthermore, we conducted think-aloud sessions and interviews with five different 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.
90
Kerstin Andree et al. CEUR Workshop Proceedings
3.2. Future Work
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.
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.
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.
References
[1] C. D. Ciccio, A. Marrella, A. Russo, Knowledge-intensive processes: Characteristics, re-
quirements and analysis of contemporary approaches, J. Data Semant. 4 (2015) 29–57.
doi:10.1007/s13740-014-0038-4.
[2] K. D. Swenson, Position: BPMN is incompatible with ACM, in: Business Process Manage-
ment Workshops - BPM 2012 International Workshops, Tallinn, Estonia, September 3, 2012.
Revised Papers, 2012, pp. 55–58. doi:10.1007/978-3-642-36285-9\_7.
[3] W. M. P. van der Aalst, M. Pesic, H. Schonenberg, Declarative workflows: Balancing
between flexibility and support, Comput. Sci. Res. Dev. 23 (2009) 99–113. doi:10.1007/
s00450-009-0057-9.
[4] M. Hewelt, M. Weske, A hybrid approach for flexible case modeling and execution, in:
Business Process Management Forum - BPM Forum 2016, Rio de Janeiro, Brazil, September
18-22, 2016, Proceedings, volume 260 of Lecture Notes in Business Information Processing,
Springer, 2016, pp. 38–54. doi:10.1007/978-3-319-45468-9\_3.
[5] S. Haarmann, Fragment-based case management models: Metamodel, consistency, & cor-
rectness, in: Proceedings of the 13th European Workshop on Services and their Composition
(ZEUS 2021), Bamberg, Germany, February 25-26, 2021, volume 2839 of CEUR Workshop
Proceedings, CEUR-WS.org, 2021, pp. 1–8. URL: http://ceur-ws.org/Vol-2839/paper1.pdf.
[6] F. Corradini, A. Ferrari, F. Fornari, S. Gnesi, A. Polini, B. Re, G. O. Spagnolo, A guidelines
framework for understandable BPMN models, Data Knowl. Eng. 113 (2018) 129–154.
doi:10.1016/j.datak.2017.11.003.
[7] S. Steinau, K. Andrews, M. Reichert, A modeling tool for philharmonicflows objects
and lifecycle processes, in: Proceedings of the BPM Demo Track and BPM Dissertation
Award (BPM 2017), Barcelona, Spain, September 13, 2017, volume 1920 of CEUR Workshop
Proceedings, CEUR-WS.org, 2017. URL: http://ceur-ws.org/Vol-1920/BPM_2017_paper_196.
pdf.
91