This project is an extension to the BeepBeep 3, event stream processing engine, called a palette, that provides functionalities to evaluate hyperqueries on event logs.
The code contained in this repository provides an implementation and a benchmark for the concepts described in the following research paper:
C. Soueidi, Y. Falcone, S. Hallé. (2023). Hypercompliance: Business Process Compliance Across Multiple Executions. Submitted to EDOC 2023.
The repository is made of three separate projects, all contained in the
Source
folder:
Core
contains the implementation of the palette itself. Building this project using Ant generates a library (JAR file) that can be used to evaluate hyperqueries on event logs.Examples
is a project showing examples of hyperqueries that can be evaluated using the palette. It requires the library created by theCore
project.Benchmark
contains an instance of a LabPal laboratory to evaluate the performance of the palette on various properties and logs. It also requires theCore
library. More information about the benchmark can be found in its own Readme file.
To compile the palette (i.e. the Core
project), make sure you have the
following:
- The Java Development Kit (JDK) to compile. The palette complies with Java version 8; it is probably safe to use any later version.
- Ant to automate the compilation and build process
At the command line, in the Source
folder, simply typing
ant
should take care of downloading all dependencies and compiling all three
projects. Otherwise, each project can be built separately by typing ant
in their respective folders.
The palette requires the following Java libraries:
- The latest version of BeepBeep 3, and two of its palettes: Ltl and Tuples
- The latest version of OpenXES, and its dependencies:
These dependencies can be automatically downloaded and placed in the
dep
folder of the project by typing:
ant download-deps
The Benchmark
project requires yet more libraries, which are documented in
the file config.xml
of this specific folder.