pm4js
Version:
Process Mining for Javascript
28 lines (25 loc) • 913 B
JavaScript
class FlowerMiner {
static apply(eventLog, activityKey="concept:name") {
let activities = GeneralLogStatistics.getAttributeValues(eventLog, activityKey);
let loop = new ProcessTree(null, ProcessTreeOperator.LOOP, null);
let xor = new ProcessTree(loop, ProcessTreeOperator.EXCLUSIVE, null);
let redo = new ProcessTree(loop, null, null);
loop.children.push(xor);
loop.children.push(redo);
for (let act in activities) {
let actNode = new ProcessTree(xor, null, act);
xor.children.push(actNode);
}
Pm4JS.registerObject(loop, "Process Tree (Flower Miner)");
return loop;
}
}
try {
module.exports = {FlowerMiner: FlowerMiner};
global.FlowerMiner = FlowerMiner;
}
catch (err) {
// not in Node
//console.log(err);
}
Pm4JS.registerAlgorithm("FlowerMiner", "apply", ["EventLog"], "ProcessTree", "Mine a Process Tree using the Flower Miner", "Alessandro Berti");