<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">DCR4Py: A PM4Py Library Extension for Declarative Process Mining in Python</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Simon</forename><forename type="middle">V H</forename><surname>Hermansen</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Technical University of Denmark</orgName>
								<address>
									<addrLine>Richard Petersens Plads</addrLine>
									<postCode>321, 2800</postCode>
									<settlement>Kgs. Lyngby</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Ragnar</forename><surname>Jónsson</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Technical University of Denmark</orgName>
								<address>
									<addrLine>Richard Petersens Plads</addrLine>
									<postCode>321, 2800</postCode>
									<settlement>Kgs. Lyngby</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jonas</forename><forename type="middle">L</forename><surname>Kjeldsen</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Technical University of Denmark</orgName>
								<address>
									<addrLine>Richard Petersens Plads</addrLine>
									<postCode>321, 2800</postCode>
									<settlement>Kgs. Lyngby</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Tijs</forename><surname>Slaats</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">University of Copenhagen</orgName>
								<address>
									<settlement>Copenhagen</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Vlad</forename><forename type="middle">Paul</forename><surname>Cosma</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">University of Copenhagen</orgName>
								<address>
									<settlement>Copenhagen</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hugo</forename><forename type="middle">A</forename><surname>López</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Technical University of Denmark</orgName>
								<address>
									<addrLine>Richard Petersens Plads</addrLine>
									<postCode>321, 2800</postCode>
									<settlement>Kgs. Lyngby</settlement>
									<country key="DK">Denmark</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">DCR4Py: A PM4Py Library Extension for Declarative Process Mining in Python</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">2DF026DFE4E2CCF86EBBBFEAA4438553</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T16:32+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>DCR Graphs</term>
					<term>Declarative process mining</term>
					<term>PM4Py</term>
					<term>Open-source software</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>DCR4Py is the first open-source library to offer a broad range of features and up-to-date algorithms for Dynamic Condition Response Graphs. It extends the popular PM4Py library with a new declarative language and matches PM4Py's GPL3 license, design, installation steps, maturity, and performance. Our key contribution consists of an open-source implementation in Python of all existing discovery and conformance-checking algorithms for DCR graphs, as well as import and export capabilities, visualization, and conversion, all in a single, well-documented, open-access, easy-to-use library that closely follows the research literature definitions and nomenclature.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Process mining <ref type="bibr" target="#b0">[1]</ref> aims to optimize business processes by using event data to discover and analyze process models. As processes become more digitized, they include not only structured production applications but also flexible knowledge-intensive fields <ref type="bibr" target="#b1">[2]</ref>, diversifying their event data. Therefore it is not enough to analyze only the imperative, procedural, perspective of your business process, one needs to also consider the declarative, rule-based, perspective. Declarative ICPM 2024 Tool Demonstration Track, October 14-18, 2024, Kongens Lyngby, Denmark Envelope slaats@di.ku.dk (T. Slaats); vco@di.ku.dk (V. P. Cosma); hulo@dtu.dk (H. A. López) GLOBE http://lopezacosta.net (H. A. López) Orcid 0000-0001-6244-6970 (T. Slaats); 0000-0001-8022-6402 (V. P. Cosma); 0000-0001-5162-7936 (H. A. López) process models can capture unstructured processes more concisely than imperative models and have been proven to capture better process insights for knowledge-intensive processes <ref type="bibr" target="#b1">[2]</ref>, achieving greater levels of optimization via process mining. Process mining tools<ref type="foot" target="#foot_0">1</ref> aim to easily onboard practitioners and researchers, increase the dissemination of new ideas, and speed up the adoption of emerging techniques. Furthermore, as process mining positions itself as the bridge between data science and process science it also increases demand for tool interoperability concerning process modeling, verification, machine learning, and statistical analysis.</p><p>Dynamic Condition Response (DCR) Graphs <ref type="bibr" target="#b2">[3]</ref> are a relatively new modeling notation that belongs to the declarative paradigm. From its core definition, DCR Graphs have evolved to include six relation types as well as hierarchy, through nestings <ref type="bibr" target="#b3">[4]</ref>, and to capture other process dimensions, such as time <ref type="bibr" target="#b4">[5]</ref> and roles <ref type="bibr" target="#b2">[3]</ref>. In addition, recent work on process discovery <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b3">4]</ref>, conformance checking <ref type="bibr" target="#b6">[7]</ref>, and transformation to Petri Nets <ref type="bibr" target="#b7">[8]</ref> has made the DCR notation practically interesting. However, tool support for DCR either covers broad functionality with closed source software <ref type="bibr" target="#b8">[9]</ref> or provides open source code showcasing narrow functionality coded in a variety of programming languages and lacking continuous maintenance and support.</p><p>This paper proposes DCR4Py as the first broad functionality open source Python library developed as a seamless extension to the popular PM4Py (Process Mining for Python) project <ref type="bibr" target="#b9">[10]</ref> using the same code structure and licenses. DCR4Py is an up-to-date implementation of DCR Graphs complete with process discovery, rule and alignment-based conformance checking, and a transformation to Petri Nets. Additional functionality includes execution semantics, visualization, and import/export capabilities via XML files compatible with both the DCR Solutions Portal <ref type="bibr" target="#b8">[9]</ref> and the DCR-js modeling tool <ref type="bibr" target="#b10">[11]</ref>. By extending a mature well-established library we enable users already familiar with PM4Py to get started with process mining with DCR graphs. As the library is open source it encourages the community to develop new extensions and algorithms for DCR Graphs. Being an extension of PM4Py, it allows for the reuse of the same installation requirements, automatic documentation generation, and testing.</p><p>Related work Tool support for declarative notations already exists in PM4Py for DECLARE <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b11">12]</ref> and Log-Skeletons <ref type="bibr" target="#b12">[13]</ref>. In addition DECLARE benefits from dedicated software which exposes a wide range of features, such as RUM <ref type="bibr" target="#b11">[12]</ref> and Declare4Py <ref type="bibr" target="#b13">[14]</ref>. PromTools <ref type="bibr" target="#b14">[15]</ref> offers a no-code alternative to PM4Py where plug-ins for DECLARE <ref type="bibr" target="#b15">[16]</ref> and Log-Skeletons <ref type="bibr" target="#b12">[13]</ref> exist. Unlike DECLARE, DCR Graphs have been adopted commercially through the DCR Portal <ref type="bibr" target="#b8">[9]</ref>. However, while freely available for academic use, the portal is closed source. Some open-source implementations for process mining techniques in DCR Graphs exists <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b3">4,</ref><ref type="bibr" target="#b7">8]</ref>, but each repository is narrow in scope, and not all are actively maintained. For example, the original DisCoveR repository written in Java lacks the newer extensions for nestings and roles. DCR-js <ref type="bibr" target="#b10">[11]</ref> allows users to model DCR Graphs.</p><p>The remainder of the paper is structured as follows: Section 2 briefly defines DCR Graphs. In Section 3 we present the new features DCR4Py. Next in Section 4 we discuss the tool's maturity. We conclude in Section 5. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">What is a DCR graph?</head><p>The DCR Graphs <ref type="bibr" target="#b2">[3]</ref> modeling notation represents events as nodes and relations as edges in a directed graph. Events can be atomic, or part of a hierarchy (nestings or subprocesses), and can be associated with roles. Events have a notion of state through a three-tuple binary marking (included, executed, pending). Directed relations either constrain or affect events in the direction of the edge. The condition (→•) and milestone (→ ♦ ) relations between two events 𝐴 and 𝐵 limit the execution of 𝐵 based on the marking of 𝐴. The include (→+), exclude (→%), response (•→) and no-response (•→×) effect relations change the marking of 𝐵 after the execution of 𝐴. An event is enabled if it is included, all conditions have been executed and all milestones are not pending. The effect of executing an enabled event is that its marking becomes executed and all effect relations from that event apply their changes to the marking of the target event. Finally, we say that a DCR Graph is accepting when none of its events are both included and pending. The condition and response relations can also be timed with delays on conditions (</p><formula xml:id="formula_0">𝑘 →•)</formula><p>and deadlines on responses ( 𝑑 •→). Figure <ref type="figure" target="#fig_0">1</ref> shows a prototypical DCR graph. Event logs are defined as a set of traces and a trace is a finite sequence of events. A trace is a run of a DCR Graph if only enabled events are executed, and at the end of the trace, the DCR Graph is accepting. If all log traces are accepting then the DCR Graph perfectly fits the log.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Overview of DCR4Py Features</head><p>A brief overview of the library can be seen in Figure <ref type="figure" target="#fig_1">2</ref>. DCR4Py supports the main process mining tasks of conformance checking and process discovery for DCR Graphs. They include implementations of alignment <ref type="bibr" target="#b6">[7]</ref>, a new rule-checking algorithm, and the DisCoveR algorithm <ref type="bibr" target="#b5">[6]</ref>. The DisCoveR algorithm is extended with the mining of nestings <ref type="bibr" target="#b3">[4]</ref>, roles, time <ref type="bibr" target="#b4">[5]</ref>, and initially pending events. The latter 3 are new contributions. The objects component exposes the existing conversion of DCR Graphs to Petri Nets <ref type="bibr" target="#b7">[8]</ref> and new Python object definitions of DCR Graphs, execution semantics, and import/export capabilities. Finally visualizations for DCR Graphs are implemented through reuse of the existing PM4Py functionality.</p><p>DCR Graph class variants. The core DCR Graph class, based on the original definition from <ref type="bibr" target="#b2">[3]</ref>, consists of events, markings, and the include, exclude, condition, and response relations. Four main variants inherit from the core object. The Distributed variant covers the distributed definition <ref type="bibr" target="#b2">[3]</ref>, the Extended variant covers new relation extensions <ref type="bibr" target="#b16">[17]</ref>, the Hierarchical one covers nestings <ref type="bibr" target="#b3">[4]</ref>, and the Timed variant covers the time perspective <ref type="bibr" target="#b4">[5]</ref>. Execution semantics are also extended for the Distributed, Extended, and Timed DCR Graphs classes. Hierarchical DCR Graphs map to Extended DCR Graphs, therefore do not have execution semantics.</p><p>Process Discovery. Process discovery for core DCR Graphs in DCR4Py consists of the Dis-CoveR algorithm <ref type="bibr" target="#b5">[6]</ref>. The algorithm is called via the pm4py.discover_dcr method. Additional post-processing can be called using the post_process parameter. Roles, pending, and time enhance the richness of the discovered graphs, while nestings improve their simplicity. Roles are mined by associating events with the org:resource attribute of event logs. Pending events are mined to discover graphs with a non-accepting initial marking. Time is mined as delays and deadlines, according to the execution semantics of conditions and responses respectively.</p><p>Rule and Alignment-based Conformance checking. DCR4Py implements both rulebased and alignment-based conformance <ref type="bibr" target="#b6">[7]</ref>. Rule-based conformance checking for DCR Graphs performs a replay of traces in a given event log. The algorithm utilizes the execution semantics to determine deviations. If any deviations occur, the algorithm notes the deviation and what caused it. The implementation utilizes a handleChecker, that determines the kind of DCR Graphs, to allow for correct notation of deviations, and currently supports core and distributed DCR Graphs. The algorithm is called via the pm4py.conformance_dcr method. DCR4Py also features the optimal alignment algorithm proposed in <ref type="bibr" target="#b6">[7]</ref>. Alignment-based conformance checking directly connects deviations between the expected process flow, as per the DCR Graph, and the actual execution, as recorded in the logs. The TraceAlignment class aligns each trace in the log with the paths in the DCR graph. The computation of the alignment is performed by the Alignment class. The Performance class, calculates fitness as one minus the ratio of the optimal alignment cost to the worst-case alignment cost. The alignment algorithm is called via the pm4py.optimal_alignment_dcr method.</p><p>Conversion, visualization, import/export. The conversion to Petri Nets <ref type="bibr" target="#b7">[8]</ref> is exposed via the pmpy.convert_to_petri_net function when passing a DCR Graph object. Visualizations of DCR Graphs, as shown in fig. <ref type="figure" target="#fig_0">1</ref>, are provided via the pm4py.view_dcr and pm4py.save_vis_dcr functions. Finally, DCR4Py provides import/export capabilities for DCR Graphs to maintain interoperability with the existing DCR-js <ref type="bibr" target="#b10">[11]</ref> and DCR Portal <ref type="bibr" target="#b8">[9]</ref> modeling tools. Detailed instructions can be found in the notebook dcr_tutorial.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Maturity of the tool</head><p>Benchmarks. We compare the runtime of DCR4Py against the existing DECLARE, Log Skeletons, Petri Net, and DFG implementations in PM4Py. We selected logs in Knowledge Intensive Processes, including Sepsis <ref type="bibr" target="#b17">[18]</ref>, Road Traffic <ref type="bibr" target="#b18">[19]</ref>, BPIC13i <ref type="bibr" target="#b19">[20]</ref> and the Dreyers Fond <ref type="bibr" target="#b20">[21]</ref>. For process discovery, we see in fig. <ref type="figure" target="#fig_3">3a</ref> that DCR4Py is the fastest overall, with DECLARE being the slowest on Road traffic. For conformance checking we take 10% of the log to discover a model and run the full log through the checker. For the rule checker, we see in fig. <ref type="figure" target="#fig_3">3b</ref> that DCR4Py is, on average the slowest, and slowest overall on the Road traffic log. A similar pattern is seen in fig. <ref type="figure" target="#fig_3">3c</ref> for the alignment checker. Installation, testability, and reuse. DCR4Py uses the same installation steps and requirements as PM4Py and unit tests and regression tests guarantee the testability of the new features and the integrity of the existing functionality. Automatic documentation generation is supported through the reuse of existing PM4Py functionality. As an academic tool, subsets of DCR4Py were successfully used to showcase new research, student projects, and in the classroom setting.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Conclusion</head><p>We introduced DCR4Py, an extension of the process mining library PM4Py supporting process discovery, conformance-checking, visualization, conversion and I/O capabilities for DCR Graphs. By extending PM4Py's API we lower the entry barrier for declarative process mining for researchers and practitioners. In future work, we will look at adding subprocesses, at multithreaded conformance checking to improve performance and object-centric mining of DCR Graphs.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: DCR graph visualization in DCR4Py</figDesc><graphic coords="3,110.13,84.19,374.99,111.09" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: DCR4Py features and dependencies in PM4Py (classes in bold are PM4Py classes)</figDesc><graphic coords="4,89.29,84.19,416.67,74.47" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Runtime performance (log scale) of DCR4Py compared to existing PM4Py algorithms.</figDesc><graphic coords="5,370.54,89.32,133.35,62.15" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">processmining.org/software.html</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>We thank Axel Christfort and Thomas Hildebrandt for their contribution to the codebase and the underlying theory. This work was supported by the research grant "Center for Digital CompliancE (DICE)" (VIL57420) from VILLUM FONDEN.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<title level="m">Process Mining</title>
				<meeting>ess Mining</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Declarative workflows: Balancing between flexibility and support</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Pesic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Schonenberg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science-Research and Development</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="page" from="99" to="113" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Declarative event-based workflow as distributed dynamic condition response graphs</title>
		<author>
			<persName><forename type="first">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mukkamala</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">EPTCS</title>
		<imprint>
			<biblScope unit="page" from="59" to="73" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Improving simplicity by discovering nested groups in declarative models</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">P</forename><surname>Cosma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K F</forename><surname>Christfort</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Lu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>Reijers</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">CAISE</title>
		<imprint>
			<biblScope unit="page" from="440" to="455" />
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Contracts for cross-organizational workflows as timed dynamic condition response graphs</title>
		<author>
			<persName><forename type="first">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">R</forename><surname>Mukkamala</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Zanitti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">JLAMP</title>
		<imprint>
			<biblScope unit="volume">82</biblScope>
			<biblScope unit="page" from="164" to="185" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">O</forename><surname>Back</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Marquard</surname></persName>
		</author>
		<idno type="arXiv">arXiv:2005.10085</idno>
		<title level="m">Discover: Accurate &amp; efficient discovery of declarative process models</title>
				<imprint>
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Efficient optimal alignment between dynamic condition response graphs and traces</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K F</forename><surname>Christfort</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Business Process Management</title>
				<imprint>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="3" to="19" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Transforming dynamic condition response graphs to safe petri nets</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">P</forename><surname>Cosma</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Application and Theory of Petri Nets and Concurrency</title>
				<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Web-based modelling and collaborative simulation of declarative processes</title>
		<author>
			<persName><forename type="first">M</forename><surname>Marquard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Shahzad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">BPM</title>
		<imprint>
			<biblScope unit="page" from="209" to="225" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Pm4py: A process mining library for python</title>
		<author>
			<persName><forename type="first">A</forename><surname>Berti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Van Zelst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schuster</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Software Impacts</title>
		<imprint>
			<biblScope unit="volume">17</biblScope>
			<biblScope unit="page">100556</biblScope>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">An open-source modeling editor for declarative process models</title>
		<author>
			<persName><forename type="first">L</forename><surname>Tamo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Abbad-Andaloussi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Trinh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>López</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CoopIS Demos</title>
				<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Declarative process mining for software processes: The rum toolkit and the declare4py python library</title>
		<author>
			<persName><forename type="first">A</forename><surname>Alman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Donadello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Maggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Montali</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2023">2023</date>
			<publisher>PROFES, Springer</publisher>
			<biblScope unit="page" from="13" to="19" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The log skeleton visualizer in prom 6.9: the winning contribution to the process discovery contest 2019</title>
		<author>
			<persName><forename type="first">H</forename><surname>Verbeek</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal on STTT</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="page" from="549" to="561" />
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Declare4py: A python library for declarative process mining</title>
		<author>
			<persName><forename type="first">I</forename><surname>Donadello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Riva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Maggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Shikhizada</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CEUR Workshop Proceedings</title>
				<imprint>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="117" to="121" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">The prom framework: A new era in process mining tool support</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">F</forename><surname>Van Dongen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">K A</forename><surname>De Medeiros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">M</forename><surname>Verbeek</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Weijters</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M</forename><surname>Van Der Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICATPN</title>
		<imprint>
			<biblScope unit="page" from="444" to="454" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Declarative process mining with the declare component of prom</title>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Maggi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Demos</title>
		<imprint>
			<biblScope unit="page">1021</biblScope>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
	<note>BPM</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Decision modelling in timed dynamic condition response graphs with data</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">T</forename><surname>Hildebrandt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Normann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Marquard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Debois</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">BPM Workshops</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="362" to="374" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Sepsis cases-event log</title>
		<author>
			<persName><forename type="first">F</forename><surname>Mannhardt</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Eindhoven university of technology</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">Road traffic fine management process</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">De</forename><surname>Leoni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Mannhardt</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2015">Dataset. 2015</date>
			<biblScope unit="page">284</biblScope>
		</imprint>
		<respStmt>
			<orgName>Eindhoven University of Technology</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Automated discovery of process models from event logs: Review and benchmark</title>
		<author>
			<persName><forename type="first">A</forename><surname>Augusto</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Conforti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Rosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">M</forename><surname>Maggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Marrella</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mecella</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Soo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE transactions on knowledge and data engineering</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<biblScope unit="page" from="686" to="705" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">The analysis of a real life declarative process</title>
		<author>
			<persName><forename type="first">S</forename><surname>Debois</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Slaats</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE Symposium Series on Computational Intelligence</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2015">2015. 2015</date>
			<biblScope unit="page" from="1374" to="1382" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
