Abstract
Process mining is one of the research disciplines belonging to the field of Business Process Management (BPM). The central idea of process mining is to use real process execution logs in order to discover, model, and improve business processes. There are multiple approaches to modeling processes with the most prevalent one being the procedural models like Petri nets and BPMN models. However, procedural models can be difficult to use for processes like software processes that are highly variable and can have a high number of different branches and exceptions. In these cases, it may be better to use declarative models, because declarative models do not aim to model the end-to-end process step by step, but they constrain the behavior of the process using rules thus allowing for more flexibility in the process executions. The goal of this paper is to introduce the main principles of declarative process mining (i.e., process mining based on declarative models) and to show which state-of-the-art declarative process mining techniques have been implemented in the RUM toolkit and in the DECLARE4PY Python library.