<!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>Modeling Editor for Declarative Process Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Lucien Kiven Tamo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Amine Abbad-Andaloussi</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dung My Thi Trinh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hugo A. López</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>DCR Graphs, Declarative Process Models, Modeling Editor</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technical University of Denmark</institution>
          ,
          <addr-line>Richard Petersens Plads, 321, 2800 Kgs. Lyngby</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of St Gallen</institution>
          ,
          <addr-line>St Gallen</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents an open-source modeling environment for Declarative Process Models. Traditionally, process models have described rigid structures, where re-work, process variants, and alternatives are dificult to represent. The Dynamic Condition Response (DCR) Graphs notation is a declarative process modeling notation that enables the description of processes with a high level of flexibility, using behavioral constraints to allow only compliant executions. The DCR-js editor is an open-source web-based editor for DCR graphs for academic use that enables the process management community to interact with declarative process models. As part of the innovations of the tool, DCR-js provides an alternative, semantic-transparent representation of declarative process models. Its web-based interface makes it ideal to be used as a component in tool-based experiments on cognitive aspects of modeling business processes. With DCR-js, we expect to render declarative process models more accessible to novice and academic users.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In the pursuit of continuous improvement and innovation, organizations have historically turned
to process modeling techniques as indispensable tools for optimizing eficiency and productivity
while ensuring customer satisfaction. Traditionally, process modeling has served as a crucial
method for capturing and depicting how multiple agents in an organization interact to achieve
objectives by an ordered execution of tasks. These well-established techniques, commonly
referred to as imperative processes, have proven invaluable in facilitating a structured approach
to handling routine tasks within an organization [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. However, as the business landscape evolves
and complexity grows, there is a rising recognition that imperative process modeling may have
limitations in addressing the dynamic and adaptive nature of modern operations. To bridge
this gap, declarative process modeling was proposed. Unlike its predecessor, declarative process
modeling focuses on leaving an open execution canvas, limiting the possible executions via
behavioral constraints between activities [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        One valuable notation that falls under the declarative paradigm is the Dynamic Condition
Response (DCR) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In comparison to other declarative process modeling notations like
DECLARE [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and CMMN [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], DCR has gained popularity in the process modeling community
with a limited but solid base of users and it is actively being taught in many Scandinavian
universities. DCR provides a graphical formalism for modeling, analyzing, and optimizing dynamic
processes, that has evolved over years to capture complex behavioral patterns including control
lfows [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], subprocesses [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], data [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], time [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and message-passing constraints [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Over the
past years, DCR has also benefited from a large array of empirical studies aiming at improving
the modeling and comprehension of declarative process models [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. However, despite their
lfexibility, there is a considerable lack of adoption of declarative process models compared to
their imperative counterparts. Several factors may contribute to the lack of adoption. One
prominent obstacle is the absence of adequate open-source tools tailored to facilitate DCR graph
modeling and rendering. Existing solutions are intended for expert users, focus on process
execution use cases, and live under closed-use licenses, thus limiting the accessibility of DCR
graphs for a larger audience of novices in declarative process languages. Moreover, without
simpler tools intended for novice users, potential users may find the learning curve steep and,
as a result, be discouraged from adopting novel declarative modeling techniques.
      </p>
      <p>
        This paper introduces DCR-js, an open-source DCR graphs editor intended for novice users.
Our primary objective is to render declarative process models easier to access for a larger
population of users, mainly interested in diferent use cases than the ones covered by commercial
distributions, namely teaching, researching and process mining. DCR-js draws inspiration from
existing web-based process editors like bpmn-js1. We leverage the capabilities of the
diagramjs2 library (empoyering bpmn-js) to construct a process editor specifically designed for DCR
graphs. Our focus remains on achieving comprehensive support for the standard DCR graphs
modeling syntax but introduces novel notations intended to solve some of the shortcomings of
the existing notation explored in the literature [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. The alternative representations aim at
supporting novice users in the adoption of DCR graphs while still being compliant with the
standard notation used by DCR experts. The remainder of this paper is structured as follows:
Section 2 presents a brief background on DCR graphs. Then, Section 3 provides an overview of
the DCR-js features. Afterward, Section 4 discusses the maturity of the DCR-js editor. Finally,
Section 5 concludes the paper and provides an overview of the planned future work.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Background on DCR</title>
      <p>
        Since its inception in 2011 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the DCR process modeling notation has known many changes
and additions to the language [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The fragment of the DCR language implemented in the tool
includes control flow operators and roles [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], nesting [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and subprocesses [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and constitute
the most common features used for teaching DCR graphs. They are illustrated in Figure 1.
      </p>
      <p>
        The DCR notation includes events, relations, and markings. An Event describes the possible
1 https://github.com/bpmn-io/bpmn-js
2 https://www.npmjs.com/package/diagram-js
activities existing in a process. Events can take the form of atomic occurrences (e.g.  in Fig. 1)
or be grouped in event collections (e.g.  ). Additionally, events can be associated with zero
or multiple roles (e.g.  and  ). Directed Relations constrain the execution of events. The
notation implemented corresponds to the operators in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and includes 6 types of relations:
() conditions (→•), () includes (→+), () responses (•→), ( ) excludes (→%), ( ) milestones
(→), and ( ) spawns (→∗). A condition from  to  limits the execution of  until  is executed
or excluded. A response from  to  makes  pending if  is executed. An include from  to
 makes  included if  is executed. The exclude does exactly the opposite of an include. A
milestone from  to  blocks the execution of  if  is pending for execution.
      </p>
      <p>
        Event states are represented using markings which determine if an event can be executed
or not. The set of markings comprises included/excluded events (diferentiated via solid/dashed
borders, e.g.,  and  respectively), executed/not executed events (e.g. those having the check
mark e.g.  ), and pending/non-pending events (e.g. those having the ! symbol e.g.  ). Markings
are compositional (e.g.  ). Event collections consist of a stateless nesting structure (e.g.  )
which is a graphic economy operator, reducing the complexity of the model by allowing modelers
to apply a single constraint to multiple events [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Stateful single-instance and multi-instance
subprocesses (e.g.  ,  respectively) create copies of each of the enclosed events and relations at
runtime [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. A multi-instance sub-process is bound to normal events via the spawn relation.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Overview of Tool Features</title>
      <p>
        The DCR-js editor is a web-based framework adapted to recent web browsers. Figure 2 shows
the graphical user interface of our application while its principal components (i.e., Canvas,
Palette Panel, Export/Import Panel, Context Pad and Popup Menu, Settings Panel) are discussed
in the following paragraphs:
Canvas. When opening the DCR graph modeling tool, users are presented with the canvas as
the central area of interaction. The canvas serves as the workspace where users can construct
and modify DCR graphs. It is designed to support a range of functionalities, including drag and
drop of modeling constructs, zooming in and out, repositioning, resizing and labeling.
Palette Panel. The palette panel provides users with a collection of tools to construct and
modify DCR graphs. It consists of three tools for manipulation (hand tool, lasso tool, and space
tool) and four pre-defined elements (Events, relations, nesting and sub-processes, and labels).
Import/Export Panel. The import/export panel implements the persistency layer of the tool,
adding cross-platform compatibility with the XML definition schema of DCR graphs [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
Context Pad and Popup Menu. The context pad is an interactive menu that appears when the
user selects an element on the canvas. It allows connecting, configuring, and deleting elements.
Configuring an element can be done through the wrench button which opens a popup menu
with element-specific functionalities. For instance, If the element is an event, the popup menu
shows event modifiers, that encode the markings for pending, included, and executed events,
whereas, if the element is a relation, the popup menu allows changing its type.
Settings Panel. The settings panel consists of three buttons: “Toggle Proposed DCR Relation
Design”, “Keyboard”, and “Fullscreen”. The “Toggle Proposed DCR Relation Design” allows
users to model DCR graphs using the alternative, semantic-transparent notation for DCR graphs
derived following our recent empirical study investigating how to model DCR relations with
higher semantic transparency [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The “Keyboard” and ”Fullscreen” buttons provide usability
features to facilitate the interaction with the editor on larger screens and using the keyboard.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Maturity</title>
      <p>
        The DCR-js editor is implemented in JavaScript and tested on Google Chrome and
Microsoft Edge browsers for compatibility. The project is available at the GitHub repository
https://github.com/hugoalopez-dtu/dcr-js. The editor is available online at
https://hugoalopezdtu.github.io/dcr-js/ . Additionally, the features of DCR-js are showcased in the following video
https://youtu.be/1AQ6YdtgUUA. The editor supports a wide range of DCR graph elements,
allowing us to model the control flow of business processes, much like the well-established
commercial-grade but closed-sourced tool the DCR Graphs Portal3. However, unlike the DCR
3See https://www.dcrgraphs.net/
Graphs Portal, our editor provides users with an open-source framework that allows for the
extension of the tool (e.g., the implementation of a new representation of DCR relations based
on the proposal in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]). Furthermore, the editor is conceived with interoperability in mind,
and users can export DCR models in the XML format using the schema described in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
The DCR-js editor aims to support teaching and research on declarative process models. In
future work, we expect to extend the editor with further language capabilities such as data,
time, and communication flows, as well as analysis, simulation, and verification capabilities.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Reichert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <article-title>Enabling flexibility in process-aware information systems: challenges, methods, technologies</article-title>
          , volume
          <volume>54</volume>
          , Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Mukkamala</surname>
          </string-name>
          ,
          <article-title>Declarative event-based workflow as distributed dynamic condition response graphs</article-title>
          ,
          <source>arXiv preprint arXiv:1110.4161</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pesic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schonenberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. Van der Aalst</surname>
          </string-name>
          ,
          <article-title>Declare: Full support for loosely-structured processes</article-title>
          , in: EDOC, IEEE,
          <year>2007</year>
          , pp.
          <fpage>287</fpage>
          -
          <lpage>287</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>[4] OMG, Case Management Model and Notation, Version 1.1</source>
          ,
          <year>2016</year>
          . URL: http://www.omg. org/spec/CMMN/1.1.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Mukkamala</surname>
          </string-name>
          , T. Slaats,
          <article-title>Nested dynamic condition response graphs</article-title>
          ,
          <source>in: FSEN</source>
          , Springer,
          <year>2011</year>
          , pp.
          <fpage>343</fpage>
          -
          <lpage>350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Strømsted</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Debois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Marquard</surname>
          </string-name>
          ,
          <article-title>Dynamic evaluation forms using declarative modeling</article-title>
          , in: BPM (Dissertation/Demos/Industry), volume
          <volume>2196</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>172</fpage>
          -
          <lpage>179</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Debois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          , T. Slaats,
          <article-title>Replication, refinement &amp; reachability: complexity in dynamic condition-response graphs</article-title>
          ,
          <source>Acta Informatica</source>
          <volume>55</volume>
          (
          <year>2018</year>
          )
          <fpage>489</fpage>
          -
          <lpage>520</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          , T. Slaats,
          <article-title>Declarative choreographies with time and data</article-title>
          ,
          <source>in: BPM (Forum)</source>
          , volume
          <volume>490</volume>
          <source>of LNBIP</source>
          , Springer,
          <year>2023</year>
          , pp.
          <fpage>73</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Abbad Andaloussi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Burattin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <article-title>Understanding quality in declarative process modeling through the mental models of experts</article-title>
          , in: BPM, Springer,
          <year>2020</year>
          , pp.
          <fpage>417</fpage>
          -
          <lpage>434</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Abbad-Andaloussi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Burattin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <article-title>Complexity in declarative process models: Metrics and multi-modal assessment of cognitive load</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>233</volume>
          (
          <year>2023</year>
          )
          <fpage>120924</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. D.</given-names>
            <surname>Simon</surname>
          </string-name>
          ,
          <article-title>How to (re) design declarative process notations? a view from the lens of cognitive efectiveness frameworks</article-title>
          , in: PoEM, CEUR-WS,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>D. M. T. Trinh</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Abbad-Andaloussi</surname>
            ,
            <given-names>H. A.</given-names>
          </string-name>
          <string-name>
            <surname>López</surname>
          </string-name>
          ,
          <article-title>On the semantic transparency of declarative process models: The case of constraints</article-title>
          ,
          <source>in: COOPIS</source>
          <year>2023</year>
          ,
          <article-title>(Accepted for publication</article-title>
          ), Springer,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Mukkamala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Marquard</surname>
          </string-name>
          ,
          <article-title>Exformatics declarative case management workflows as dcr graphs</article-title>
          ,
          <source>in: BPM</source>
          , Springer,
          <year>2013</year>
          , pp.
          <fpage>339</fpage>
          -
          <lpage>354</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>