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.

Using Anne Rozinat Conformance Plugin in ProM 6

SebastianSebastian Posts: 10
Dr. Anne Rozinat's conformance checker framework, that was available as a ProM 5 plugin, has been ported to ProM 6 by Seppe vanden Broucke of CoBeFra, as noted here. I have found the jar file in the CoBeFra GitHub project.

However, just adding the jar to the Java classpath in ProM69.bat did not have the effect of making new actions available in UITopia. Can anyone tell me what I have to do to make this work, or what current ProM 6 package is equivalent?

 -- Sebastian

Comments

  • hverbeekhverbeek Posts: 583
    Hi Sebastian,

    Are you using Java 9 or newer? If so, then you are also using the "-Djava.system.class.loader=org.processmining.framework.util.ProMClassLoader" option for the VM running ProM. As a result, ProM 6.9 will only scan the packages for plugins, that is, jar files in the classpath will not be scanned. A remedy for this could be to start using the latest Nightly Build, which does not have this problem (it will also scan the jar files in the classpath).

    If you are using Java 8 or older, then please start ProM 6.9 using the ProM69.bat file, and post the information displayed in the command prompt here. This may contain hints what is going wrong.

    Kind regards,
    Eric.



  • SebastianSebastian Posts: 10
    Hi Eric,

    thanks for looking at this. I downloaded the package with JRE8 included (prom-6.9-jre8-installer.exe), so must be using Java 8.

    The console output of ProM69.bat does not show any obvious error message, just a list of the plugin-containing classes that do get found:

    [Boot] Repository http://www.promtools.org/prom6/packages69/packages.xml took 109309 nanoseconds.
    [Boot] New best repository http://www.promtools.org/prom6/packages69/packages.xml
    [Boot] Repository https://sefmining01.qut.edu.au/prom6/packages69/packages.xml took 426424 nanoseconds.
    [PackageConfigPerister] Context URL set to http://www.promtools.org/prom6/packages69/
    [PluginDescriptorImpl] Found no icon at
    INFO class com.processmininguc.slog.plugins.ImportSimpleLogPlugin contains plug-ins.
    INFO class com.processmininguc.srlog.plugins.ImportSimpleResourceLogPlugin contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.converter.BPMNConverterPlugin contains plug-ins.
    INFO class com.processmininguc.trlog.plugins.ImportTRLogPlugin contains plug-ins.
    INFO class test.ProduceAprModel2 contains plug-ins.
    INFO class prompt.roles.plugins.DecorateDataPetriNet contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.PetrinetWithMarkingVisualizer contains plug-ins.
    INFO class com.processmininguc.srlog.plugins.WriteSimpleResourceLogUsingEditorPlugin contains plug-ins.
    INFO class prompt.roles.plugins.DecorateBPMNModel contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.extractors.PetrinetFromPetrinetWithMarkingExtractor contains plug-ins.
    INFO class com.processmininguc.slog.plugins.WriteSimpleLogUsingEditorPlugin contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.converter.BPMNCleanerPlugin contains plug-ins.
    INFO class prompt.roles.plugins.PreprocessModel contains plug-ins.
    INFO class prompt.roles.plugins.SwimlaneDiscovery contains plug-ins.
    INFO class com.processmininguc.trlog.plugins.WriteTRLogUsingEditorPlugin contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.metrics.BPMNMetricsPlugin contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.converter.BPMNSimplifierPlugin contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.converter.BPMNToPetriNetConverterPlugin contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.extractors.BPMNFromPetrinetWithMarkingExtractor contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.prom.BPMNMinerPlugin contains plug-ins.
    INFO class test.FlexValidation contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.impl.heuristics.HeuristicsAlgorithmWrapper contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.impl.ILPAlgorithmWrapper contains plug-ins.
    INFO class com.raffaeleconforti.bpmnminer.converter.HeuristicsNetToBPMNConverterPlugin contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.impl.alpha.AlphaPlusWrapper contains plug-ins.
    INFO class test.ProduceAPr contains plug-ins.
    INFO class com.raffaeleconforti.wrapper.impl.inductive.InductiveMinerIMfWrapper contains plug-ins.
    INFO class test.ProduceAprPlugIn contains plug-ins.
    INFO class myprefix.C.A.A.A.A.A contains plug-ins.
    [PluginDescriptorImpl] Found icon at prom_duck_300.png
    INFO class com.raffaeleconforti.wrapper.impl.heuristics.Heuristics52AlgorithmWrapper contains plug-ins.
    INFO class myprefix.C.A.A.A.A.B contains plug-ins.
    INFO class myprefix.A.A.B.A contains plug-ins.
    INFO class myprefix.C.A.A.A.A.A contains plug-ins.
    INFO class myprefix.C.A.A.A.A.B contains plug-ins.
    INFO class myprefix.A.A.B.A contains plug-ins.


    Old ProM 5 plugins seem to be included (at least partly, I only checked a few) in the following jar in the ProM 6 installation: <my_user_dir>\.ProM69\packages\prom5-6.9.78\lib\ProM-plugins-5.2.jar

    So I made sure that the new jar appeared first on the classpath in ProM69.bat:
    @jre8\bin\java -da -Xmx4G -classpath "./plugins/*;%X%" -Djava.library.path=.//ProM69_lib -Djava.util.Arrays.useLegacyMergeSort=true org.processmining.contexts.uitopia.UI

    Perhaps the port wasn't done right. Are there any requirements on the jar file?
    It does contain a class org.processmining.
    .plugins\
    .rozinatconformance\
    .VisualPetrinetEvaluatorPlugin with a Plugin-annotation:

    @Plugin(
       name = "Start Rozinat's Conformance Log on Petri Net",
       parameterLabels = {"Log", "Petri net", "Marking"},
       returnLabels = {"Evaluation Result"},
       returnTypes = {RozinatJComponent.class},
       help = "Start Rozinat's conformance checking suite"
    )
    public class VisualPetrinetEvaluatorPlugin


    Best Regards,
    Sebastian




  • hverbeekhverbeek Posts: 583
    Hi Sebastian,

    No, you should just copy the jar file into the plugins folder as described by the CoBeFra people, and add "./plugins/*" to the classpath. Works for me...

    In the ProM.ini file, can you set VERBOSE to ALL (instead of NONE), and try again?

    Kind regards,
    Eric.
  • SebastianSebastian Posts: 10
    Hi Eric,

    with "VERBOSE = ALL", I see the following lines, which certainly look as if it should have worked:

    Plug-in level threshold set to Local
    Plug-in quality threshold set to VeryPoor
    Ini file processed
    >>> Loading packages from C:\Users\y2046\.ProM69\packages\packages.xml
    [PackageConfigPerister] Context URL set to http://www.promtools.org/prom6/packages69/
    >>> All dependencies have been resolved
    >>> Scanning for packages took 0.088 seconds
    known jar file: file:/C:/Users/y2046/Documents/Conformance%20Check/ProM%206.9/plugins/rozinatconformance-20180726.jar
    ...
    Loading from: classpath
    Processing url: file:/C:/Users/y2046/Documents/Conformance%20Check/ProM%206.9/plugins/rozinatconformance-20180726.jar
    Scanning for plugins: file:/C:/Users/y2046/Documents/Conformance%20Check/ProM%206.9/plugins/rozinatconformance-20180726.jar
    Plugins found in cache.
    ...

    But I still don't see the plugin in the "Actions" list in UITopia. Do you?

    Regards,
    Sebastian



  • hverbeekhverbeek Posts: 583
    Hi Sebastian,

    Yes, I do:

    An option could be to use the ProM Packager Manager first to clear the cache, just to be sure.

    Kind regards,
    Eric.

  • SebastianSebastian Posts: 10
    Hi Eric,

    I also tried that and it still didn't work.

    I also tried starting from scratch with the platform-agnostic tar archive and an empty packages folder, and using the command that Seppe recommended directly on a command prompt (java -classpath ./plugins/*;./ProM69_lib/*;./ProM69_dist/*;./* -Djava.util.Arrays.useLegacyMergeSort=true -Djava.library.path=./ProM69_lib -ea -Xmx2g -XX:+UseCompressedOops org.processmining.contexts.uitopia.UI).

    I used Java version "1.8.0_161" (the version that comes with the installer).

    Well, as it works for you, it must be some quirk of my environment. Thank you for trying to help. I'll keep looking and get back to this thread if I find out anything.

    Best Regards,
    Sebastian


  • SebastianSebastian Posts: 10
    Hi Eric,

    it was all my fault: I was using the wrong jar-file.
    I got the jar from https://github.com/Macuyiko/cobefra/blob/master/kulib/rozinatconformance-20180726.jar
    But should have downloaded http://processmining.be/rozinatconformance/downloads/rozinatconformance-20180726.jar

    I didn’t notice the mistake, because the jar from the GitHub repo also has the correct date tag. In fact those files are different.

    Thanks again for your help,
    Sebastian

  • hverbeekhverbeek Posts: 583
    Hi Sebastian,

    Thanks for letting me know. Always good to know that it now works as expected :-).

    Kind regards,
    Eric.
Sign In or Register to comment.