<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>DCR-JS: An Online Environment for Declarative Process Mining</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Axel K.F. Christfort</string-name>
          <email>axel@di.ku.dk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hugo A. López</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DTU Compute, Technical University of Denmark</institution>
          ,
          <addr-line>Kongens Lyngby</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Declarative Process Mining, DCR Graphs, Process Discovery</institution>
          ,
          <addr-line>Conformance Checking, Event log Generation</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Computer Science, University of Copenhagen.</institution>
          <addr-line>Copenhagen</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>This paper presents an enhanced version of DCR-js, a modeling tool for DCR graphs, aimed at supporting novice users in the most common process mining tasks with declarative process models. Declarative models better capture business rules and knowledge-intensive processes but lack accessible tooling, limiting their industrial adoption. Our enriched DCR-JS framework supports modeling, simulation, discovery, conformance checking, and log generation with DCR graphs. The tool is actively used in academic settings, including BPM courses at the Technical University of Denmark, promoting an active learning environment for declarative process mining.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>CEUR</p>
      <p>ceur-ws.org
of DCR-JS. Section 6 provides links to source code and documentation, and Section 7 concludes.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        DCR-JS is part of the ecosystem of declarative process modelling tools, including RUM [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
Declarejs [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and EasyDeclare [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. While [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] focus on modelling, they do not consider process
mining tasks. RUM [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] will be the closest tool from the Declare toolset, with an intended use as a
standalone application. The set of DCR-based tools includes the DCR Portal [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], DCR4Py [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and our
previous version of DCR-JS [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. These tools are complementary to us, being the DCR process portal
an authoring tool for executable DCR models, and DCR4Py [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is a tool for process mining of DCR
graphs for process analysts with coding skills. DCR-JS focus is to render the typical declarative process
mining tasks accessible to novice users, with no installation or coding skills required.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. A Primer on DCR graphs</title>
      <p>
        We use a simple DCR graph for a booking
process in Figure 1 to illustrate the main modelling
constructs. For the formal definition of the
constructs used, please refer to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and for a full
overview of the language set in DCR graphs,
see [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. A DCR can be seen as a collection
of events linked by relations. Each event has a
marking, denoting whether the event has been
executed, is pending, or has been excluded.
Relations impose constraints on accepting traces.
      </p>
      <p>The type of constraint determines the accepted
behaviour. A condition relation ( ) defines
precedence, and a response ( ) will deter- Figure 1: Booking Process in DCR Graphs
mine obligatory consequences. An exclusion
( ) will remove elements from the environment that can later be included via inclusion relations
( ). Milestone relations ( ) block activities from being executed if their included dependencies
are pending. Finally, relations can be composed via simple conjunction, and a nesting event will denote
the application of the rules to the outermost event to its innermost constituents.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Innovations of the Tool</title>
      <p>
        This version of DCR-JS includes major innovations in its five existing modules, illustrated in Figure 2:
Modelling: This is the only prior module in DCR-JS [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The current version includes support for three
DCR graphs process notations, including the formal notations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], as well as support for commercial3
and notations optimized for semantic-transparency [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and accessibility options for color-blind
users. Moreover, we provide automatic layout capabilities, including alternatives to reduce the graphic
complexity via automated event nestings [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], as well as the capability to do test-driven modeling with
open test cases [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] to ensure compliance throughout modeling and extension.
      </p>
      <p>
        Discovery: It generates DCR graphs from XES event logs. The module supports the introduction of
multiple DCR discovery algorithms, including DisCoveR [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and the rejection miner [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], as well as
noise-filtering capabilities [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Simulation: It supports the step-based simulation of DCR graphs, providing user feedback on the
execution of disabled events, and allowing the generation of non-conforming traces for testing.
Userbased simulations can be stored as XES logs.
Conformance Checking: This new mode supports rule-based and alignment-based conformance
checking for DCR graphs [
        <xref ref-type="bibr" rid="ref12 ref19">12, 19</xref>
        ]. Visualization capabilities are based on Gestalt principles, supporting
the user in understanding the rules that have been triggered and fulfilled, violated, or not activated.
Log Generation It allows the generation of XES event logs from a DCR
graph. To support the generation of non-conforming traces, the mode
supports the automatic injection of noise levels for the traces generated.
4.1. DCR-JS Architecture
DCR-JS is composed of three main modules:
First, a main interactive web-based tool
supports modelling, simulation, and manipulation
of DCR graphs. Second, the original
DCRJS [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] editor provides visualization and
modelling capabilities. Finally, the DCR engine
performs model updates and process mining
tasks. Figure 3 shows its main modules.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Maturity of the tool</title>
      <p>
        DCR-JS has been developed since 2023 [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
has grown with major re-engineering eforts
and software engineering projects at the Tech- Figure 3: Component Diagram for DCR-JS
nical University of Denmark and Copenhagen
University. It is currently used in two MSc
courses at DTU, with students contributing to
the tool. DCR-JS supports the following use cases:
Process of Process Mining: Discover a DCR graph from an event log, then use the modeler to modify
the graph (add/remove/change the type of constraints), and use conformance checking to identify the
      </p>
      <p>Size (MB)</p>
      <p>Time (ms) Constraints</p>
      <p>Graph
impact of the changes. Final models can be used as part of a PAIS.</p>
      <p>Iterative Modelling/Redesign: Here, the task is to build a process model that abides by a certain set
of constraints. Here, starting in the modeling tool, the modeler adds constraints and verifies them in
a step-wise simulator to generate characteristic logs with compliant/violated traces, and iteratively
adding new constraints or events. Once the modeler is satisfied, they can use the event log generator to
characterize scenarios used for testing in a later process evolution phase.</p>
      <p>
        Test-Driven Modelling: Starting with either a set of events or an existing DCR graph, Test-Driven
Modelling defines several open test cases to ensure compliance of the model before adding constraints
or extending it. Each test case consists of a partial trace, a context, and a polarity. A positive test
ensures that there exists a trace in the model that, when projected onto the context, is exactly the test
trace. A negative test ensures that there is no such trace in the model. By having these partial traces
and contexts, you ensure that old test cases still work, even if the model is extended.
Scalability: The tool has an academic scope, and the design decision of making it easily accessible
has ruled over scalability. DCR-JS is constrained by the memory limitations of the browser being
used. Table 1 reports process discovery times over a range of classical event logs4, showing acceptable
performance in most of them. The largest overhead comes from log parsing, followed by discovery
and layout. Larger logs (e.g., Road Trafic Fines, BPIC’19) would represent a bottleneck, and standalone
implementations [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] should be used instead. Future extensions of the tool will consider the inclusion
of asynchronous threads and standalone versions to remove memory limitations.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Availability</title>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>DCR-JS can be accessed at https://hugoalopez-dtu.github.io/dcr-js/ and does not require installation.
The code and the user manual are available at https://github.com/hugoalopez-dtu/dcr-js under the MIT
license. A screencast documenting the most important use cases is available at http://tiny.cc/ya1o001.
DCR-JS is designed to facilitate the introduction of process modelling and process mining techniques
for novice practitioners interested in learning about the benefits of declarative process modelling. In
future work, we want to extend the support to models including time, data, and object-centric variants.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments</title>
      <p>Thanks to A. Andaloussi, K. de Place, M. Al-Helo, J. Nørgaard, T. Slaats, and D. Trinh for their suggestions
and/or contributions to the tool. This work is supported by the research grant “Center for Digital
4Tests executed on an Apple M1 Pro with 32 GB RAM, running Mac OS 15.5, and Google Chrome 138.0.7204.93
CompliancE (DICE)” (VIL57420) from VILLUM FONDEN, and by the Innovation Foundation project
“Explainable Hybrid-AI for Computational Law and Accurate Legal Chatbots” 4355-00018B XHAILe.</p>
    </sec>
    <sec id="sec-9">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used Grammarly as a grammar and spell-checker.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T. 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="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Debois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. O.</given-names>
            <surname>Back</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. K. F. Christfort</surname>
          </string-name>
          ,
          <article-title>Foundations and practice of binary process discovery</article-title>
          ,
          <source>Information Systems</source>
          <volume>121</volume>
          (
          <year>2024</year>
          )
          <fpage>102339</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Burattin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sperduti</surname>
          </string-name>
          ,
          <article-title>Conformance checking based on multi-perspective declarative process models</article-title>
          ,
          <source>Expert systems with applications 65</source>
          (
          <year>2016</year>
          )
          <fpage>194</fpage>
          -
          <lpage>211</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <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>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          , T. T. Hildebrandt,
          <article-title>Business process compliance using reference models of law</article-title>
          , in: FASE,
          <year>2020</year>
          , pp.
          <fpage>378</fpage>
          -
          <lpage>399</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Marengo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dallasega</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Nutt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Reifer</surname>
          </string-name>
          ,
          <article-title>Process management in construction: Expansion of the bolzano hospital</article-title>
          ,
          <source>in: BPM Cases</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>257</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T. T.</given-names>
            <surname>Hildebrandt</surname>
          </string-name>
          , et al.,
          <article-title>Ecoknow: Engineering efective, co-created and compliant adaptive case management systems for knowledge workers</article-title>
          ,
          <source>in: ICSSP</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>155</fpage>
          -
          <lpage>164</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Marquard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Shahzad</surname>
          </string-name>
          , T. Slaats,
          <article-title>Web-based modelling and collaborative simulation of declarative processes</article-title>
          ,
          <source>in: BPM</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>209</fpage>
          -
          <lpage>225</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Alman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Di Ciccio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          , H. van der Aa,
          <article-title>Rum: declarative process mining, distilled</article-title>
          , in: BPM, Springer,
          <year>2021</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L. K.</given-names>
            <surname>Tamo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abbad-Andaloussi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M. T.</given-names>
            <surname>Trinh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <article-title>An open-source modeling editor for declarative process models</article-title>
          ,
          <source>in: CoopIS</source>
          <year>2023</year>
          , CEUR-WS,
          <year>2023</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Nagel</surname>
          </string-name>
          , E. Amann, P. Delfmann, declare
          <article-title>-js: A web-based viewer and editor for declarative process models</article-title>
          .,
          <source>in: ICPM Doctoral Consortium/Demo</source>
          ,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Blasilli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. S.</given-names>
            <surname>Ferro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lenti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marrella</surname>
          </string-name>
          , T. Catarci,
          <article-title>Edd: A web-based editor for declarative process models using easydeclare (</article-title>
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Hermansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Jónsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Kjeldsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. P.</given-names>
            <surname>Cosma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. A.</given-names>
            <surname>López</surname>
          </string-name>
          ,
          <article-title>DCR4Py: A PM4Py library extension for declarative process mining in python</article-title>
          , in: ICPM,
          <string-name>
            <surname>CEUR-WS</surname>
          </string-name>
          ,
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <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>
          ,
          <source>in: PoEM</source>
          <year>2022</year>
          , CEUR-WS,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <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>
          , in: CoopIS, Springer,
          <year>2023</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V. P.</given-names>
            <surname>Cosma</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. K. F. Christfort</surname>
            ,
            <given-names>T. T.</given-names>
          </string-name>
          <string-name>
            <surname>Hildebrandt</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>H. A.</given-names>
          </string-name>
          <string-name>
            <surname>Reijers</surname>
          </string-name>
          , T. Slaats,
          <article-title>Improving simplicity by discovering nested groups in declarative models</article-title>
          ,
          <source>in: CAISE</source>
          , Springer,
          <year>2024</year>
          , pp.
          <fpage>440</fpage>
          -
          <lpage>455</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>A. K. Christfort</surname>
            ,
            <given-names>V. P.</given-names>
          </string-name>
          <string-name>
            <surname>Cosma</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Debois</surname>
          </string-name>
          , T. T. Hildebrandt, T. Slaats,
          <article-title>Static and dynamic techniques for iterative test-driven modelling of dynamic condition response graphs</article-title>
          ,
          <source>Data Knowl Eng</source>
          <volume>157</volume>
          (
          <year>2025</year>
          )
          <fpage>102413</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C. O.</given-names>
            <surname>Back</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Slaats</surname>
          </string-name>
          , T. T. Hildebrandt,
          <string-name>
            <given-names>M.</given-names>
            <surname>Marquard</surname>
          </string-name>
          ,
          <article-title>Discover: accurate and eficient discovery of declarative process models</article-title>
          ,
          <source>International Journal on STTT 24</source>
          (
          <year>2022</year>
          )
          <fpage>563</fpage>
          -
          <lpage>587</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>A. K. F. Christfort</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Debois</surname>
          </string-name>
          , T. Slaats,
          <article-title>Improving declarative process mining with a priori noise ifltering</article-title>
          ,
          <source>in: BPM</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>286</fpage>
          -
          <lpage>297</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>A. K. F. Christfort</surname>
          </string-name>
          , T. Slaats,
          <article-title>Eficient optimal alignment between dynamic condition response graphs and traces</article-title>
          , in: BPM, Springer,
          <year>2023</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>