Skip to content

Latest commit

 

History

History
73 lines (58 loc) · 3.67 KB

README.md

File metadata and controls

73 lines (58 loc) · 3.67 KB

HIBPM - Handling Inconsistencies in Business Process Modelling

Prototype for removing inconsistency in declare model via remainders.

Git submodules are used for libraries. To download the submodules either clone using git clone --recurse-submodules <url> or after git clone use git submodule init and git submodule update.


Dependencies:

Following libraries are required to build the project.

System Installation Required:

  • BISON version: 3.7.6
  • FLEX version: 2.6.4

Submodule:

  • EvalMaxSAT: MaxSAT solver
  • MINERful: Process miner for event logs. This is not a direct dependency. Nevertheless, it is used to generate benchmark data. Further information is provided below.

Make sure that you haven't forgotten to clone, init and update the submodules.


Building

To build the project:

cd <...>/hibpm
mkdir build && cd build
cmake ..
make -j<X> # X is the number of jobs/thread that you want to give the compiler to be quicker 

It could be that some compilers; e.g. AppleClang 12.0.5.x fail on trying to build EvalMaxSAT. In this case, g++ was tested and works with this setup. To switch the compiler for building use:

cmake -DCMAKE_CXX_COMPILER=g++ ..

instead of the first line above.

On MasOS it might be, that you have to call the explicit version of g++ by g++-<version> because Apple redirect g++ back to AppleClang.

cmake -DCMAKE_CXX_COMPILER=g++-10 ..

Recourses and Data Generation

This repository provides several DECLARE models for testing and benchmarking. Those can be find in the Resources Directory. In it you will find some text files (.txt) that enumerate constraints in a list. This data was provided by Carl Coreas repository: TODO.

In addition, this folder also contains the directory BPIC2020. In it you can find event logs and models generated by MINERful in .csv and .json format. MINERful is included in this project as a submodule. More details can be found in the wiki of the developers. The following commands can be used to reconstruct the event logs used in this project:

./run-MINERful.sh -iLF ../BPIC2020/logs/DomesticDeclarations.xes.gz -s 0.95 -c 0.5 -i 0.125 -prune 'hierarchyconflictredundancydouble' -oCSV ../BPIC2020/models/DomesticDeclarations.csv -oJSON ../BPIC2020/models/DomesticDeclarations.json
./run-MINERful.sh -iLF ../BPIC2020/logs/InternationalDeclarations.xes.gz -s 0.95 -c 0.5 -i 0.125 -prune 'hierarchyconflictredundancydouble' -oCSV ../BPIC2020/models/InternationalDeclarations.csv -oJSON ../BPIC2020/models/InternationalDeclarations.json
./run-MINERful.sh -iLF ../BPIC2020/logs/PermitLog.xes.gz -s 0.95 -c 0.5 -i 0.125 -prune 'hierarchyconflictredundancydouble' -oCSV ../BPIC2020/models/PermitLog.csv -oJSON ../BPIC2020/models/PermitLog.json
./run-MINERful.sh -iLF ../BPIC2020/logs/PrepaidTravelCost.xes.gz -s 0.95 -c 0.5 -i 0.125 -prune 'hierarchyconflictredundancydouble' -oCSV ../BPIC2020/models/PrepaidTravelCost.csv -oJSON ../BPIC2020/models/PrepaidTravelCost.json
./run-MINERful.sh -iLF ../BPIC2020/logs/RequestForPayment.xes.gz -s 0.95 -c 0.5 -i 0.125 -prune 'hierarchyconflictredundancydouble' -oCSV ../BPIC2020/models/RequestForPayment.csv -oJSON ../BPIC2020/models/RequestForPayment.json

Attention: Make sure to be in the directory /Resources/MINERful/ while executing the commands. Depending on the hardware and the size of the event log, the generation of a DECLARE-model can take several hours.