To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Trying to use ProM through Command Line Interface

Hello all,

I have ProM 6.4.1 installed on my PC(OS - Windows). For executing ProM through CLI I have made a batch file which contains this-

java -da -Xmx1G -XX:MaxPermSize=256m -classpath ProM641.jar -Djava.util.Arrays.useLegacyMergeSort=true org.processmining.contexts.cli.CLI 

I have just changed the main class from org.processmining.contexts.uitopia.UI to org.processmining.contexts.cli.CLI as 
guided in the tutorial -

After executing the batch file, it runs for first few seconds then the execution is stuck at "initializing all plugins" point 
from past 3 hours. So I wanted to know whether I am doing in the correct way or am I doing something wrong.  


  • Hello,

        I am trying to execute ProM by commando line but I have tried another option. I have ProM 6.8 installed and I checkout the source code of the framework. I have tried to execute ProM CLI by running ProM with CLI (run example script).launch. I have changed the "examplescript.txt" to correctly point to my log file and the ProM CLI started to run ok. But it could not find the command alpha_miner. I have used the script provided on the ProM Framework project.

    Command not found: alpha_miner( org.deckfour.xes.model.impl.XLogImpl )

        I don't know why it is not recognizing the alpha_miner command, but maybe you can try this way.

  • hverbeekhverbeek Posts: 783
    edited July 2019
    Hi Denise,

    The problem with the Alpha Miner is that there is no version available for the CLI context that takes only the log as input. The version that is available that only takes a log as input, is only available for the UI context.

    As a result, you need to use a version that is available in the CLI context. This version takes a classifier and parameters as additional objects. Replace:
    res = alpha_miner(log);
    clss = (log.getClassifiers().isEmpty() ? new XEventAndClassifier(new XEventNameClassifier(), new XEventLifeTransClassifier()) : log.getClassifiers().get(0));
    pars = new org.processmining.alphaminer.parameters.AlphaMinerParameters(org.processmining.alphaminer.parameters.AlphaVersion.CLASSIC);
    res = alpha_miner(log, clss, pars);
    This causes the (Classic) Alpha Miner to use the first classifier as found in the log, or otherwise (if not available) to use the MXML legacy classifier.

    While you are at it, you also need to change the line that exports the PNML file a bit. Replace:
    pnml_export(pnet, file);    
    pnml_export_petri_net_(pnet, file);   
    Otherwise, the export will fail. The name of this plug-in has changed.

    Finally, it would be good to add the following as the last line:
    This causes ProM to stop as soon as the script has run. Otherwise, ProM will just hang around for quite some time (so it seems)...

    I hope this helps you a bit...

    Kind regards,

    Post edited by hverbeek on
  • Tirth_17Tirth_17 Posts: 7
    Hi Eric & Denise,

    Thank you for responding to my question and helping me solve the issue. In my case the issue was that while running the command we had to provide 2 arguments (-f, myScript.txt). So after then the ProM started through CLI context and my script was able to execute.

    Also Denise I tried using CLI for ProM 6.8 version but was having some issues using the CLI Context as Eric rightly mentioned. Then I shifted to ProM 6.4.1 version. Before using the CLI context I first ran the ProM Package manager as I read somewhere that we have to first install the packages before using it through CLI. So after that I was able to execute my scripts. So check once that you have installed the alpha miner through ProM package manager and then try to run it through the CLI. 

    At last thank you Eric for mentioning about the exit(). I was wondering that why the Terminal was not able to terminate after the successful execution of the script. :smile:  
Sign In or Register to comment.