The parameters of the Alpha Miner in CLI

GDLP8GDLP8 Posts: 6
Hi all,

I am working on a project (I already explained it on a different discussion) and I need to obtain a Petrinet that I will later convert to an UML. In that moment, I was using the ILP miner, but I realized that some relations went missing. This is not acceptable for me, as this project is expected to run on critical environments. 

Due to this, I tried using other ProM plugins and I found out that the Alpha Miner in version Alpha+ generates acceptable values. However, I need to run this from the CLI, using the following function:

alpha_miner(XLog, XEventClassifier, AlphaMinerParameters) -> (Petrinet, Marking)

I assume that I need this variant because I need to specify the version of the Alpha Miner. However, I do not know how I have to create neither the XEventClassifier nor the AlphaMinerParameters especifying the version.

I would be really grateful if someone could point to me which are the paths to the classes to use and how to create the instances, in order for the Alpha Miner to use them.


  • hverbeekhverbeek Posts: 910

    The typical way to get the classifier is to select the first classifier from the log, if it has any, and to use the default classifier otherwise, like follows:
    classifier = (log.getClassifiers().isEmpty() ? new XEventAndClassifier(new XEventNameClassifier(), new XEventLifeTransClassifier()) : log.getClassifiers().get(0));
    The parameters can be instantiated as follows (for the classic version of the Alpha miner):
    parameters = new org.processmining.alphaminer.parameters.AlphaMinerParameters(org.processmining.alphaminer.parameters.AlphaVersion.CLASSIC);
    You can then call the Alpha miner and get the results as follows:
    res = alpha_miner(log, classifier, parameters); 
    petriNet = res[0];
    marking = res[1];

    Kind regards,

  • GDLP8GDLP8 Posts: 6
    Thanks, but in the alphaminer parameters, I need to use the Alpha+ version, as the classic one does not generate acceptable values for me. Instead of CLASSIC, what value should I write so the Alpha+ version is utilized?
  • hverbeekhverbeek Posts: 910
    Please have a look at, which contains the possible parameter classes for the Alpha miner. My guess is that you then need to instantiate the AlphaPlusMinerClass.

  • hverbeekhverbeek Posts: 910
    Or use PLUS instead of CLASSIC, see the AlphaVersion class.
  • GDLP8GDLP8 Posts: 6
    Thanks, it worked.
Sign In or Register to comment.