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.

Usage of "Anti-Alignment Precision/Generalizaiton"

Hello everyone (or probably just eric),

I want to use the plugin "Anti-Alignment Precision/Generalizaiton" (AAPG) to compute anti alignment generalization. Do I need to do this in two steps with using the AAPG plugin (with two inputs: log and petri net) first and afterwards using the AAPG plugin (with three inputs: log, petri net and PNRepResult)?

If yes, unfortunately it did not work out for me. These are my anti-alignments, which i get as a result from the AAPG plugin with two inputs:

If i put everything in the AAPG plugin with three inputs I get the following error message:

With the following Stacktrace:

Start plug-in Anti-Alignment Precision/Generalization

-------- The following exception was logged by the framework:

     The exception was probalby handled properly.

java.util.concurrent.ExecutionException: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double

    at java.util.concurrent.FutureTask.report(FutureTask.java:122)

    at java.util.concurrent.FutureTask.get(FutureTask.java:192)

    at javax.swing.SwingWorker.get(SwingWorker.java:602)

    at org.processmining.framework.plugin.ProMFuture.get(ProMFuture.java:119)

    at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.done(AbstractPluginDescriptor.java:187)

    at org.processmining.framework.plugin.ProMFuture$1.done(ProMFuture.java:66)

    at javax.swing.SwingWorker$5.run(SwingWorker.java:737)

    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)

    at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)

    at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)

    at javax.swing.Timer.fireActionPerformed(Timer.java:313)

    at javax.swing.Timer$DoPostEvent.run(Timer.java:245)

    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)

    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

    at java.awt.EventQueue.access$500(EventQueue.java:97)

    at java.awt.EventQueue$3.run(EventQueue.java:709)

    at java.awt.EventQueue$3.run(EventQueue.java:703)

    at java.security.AccessController.doPrivileged(Native Method)

    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)

    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)

    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double

    at org.processmining.antialignments.ilp.antialignment.HeuristicAntiAlignmentAlgorithm.<init>(HeuristicAntiAlignmentAlgorithm.java:56)

    at org.processmining.antialignments.ilp.antialignment.AntiAlignmentPlugin.basicCodeStructureWithAlignments(AntiAlignmentPlugin.java:162)

    at org.processmining.antialignments.ilp.antialignment.AntiAlignmentPlugin.measurePrecision(AntiAlignmentPlugin.java:89)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:498)

    at org.processmining.framework.plugin.impl.PluginDescriptorImpl.execute(PluginDescriptorImpl.java:331)

    at org.processmining.framework.plugin.impl.AbstractPluginDescriptor$1.doInBackground(AbstractPluginDescriptor.java:149)

    at org.processmining.framework.plugin.ProMFuture$1.doInBackground(ProMFuture.java:56)

    at javax.swing.SwingWorker$1.call(SwingWorker.java:295)

    at java.util.concurrent.FutureTask.run(FutureTask.java:266)

    at javax.swing.SwingWorker.run(SwingWorker.java:334)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

    at java.lang.Thread.run(Thread.java:750)

--------------------------------------------------------------


Maybe someone has an idea whats going on here, because i do not (i mean the exception makes sense but i dont know where its coming from) :)

Thanks for helping!

Josh


(btw: the other generalization plugins from Arya Adriansyah work fine for me but i origninally wanted to use the anti alignment method because it fulfills the most propositions from several papers)

Comments

  • The Event Log and Petri Net i have used:


  • Hi Josh,

    You can use the plugin that takes the Petri net and the event log as inputs, no need to replay it first.

    The problem with the plugin (in its current state) is that it requires the folder "D:\temp\antialignment" to exist :-(. While computing the anti-alignment, it writes two file to that folder. If that folder does not exist, an exception is thrown and the calculation for the current trace is stopped. As a result, the model gets stuck in the initial marking and never moves.

    Creating the above mentioned folder solves the issue, at least, it did so for me. As an alternative, you can download a new version of the AntiAlignments package from https://github.com/promworkbench/AntiAlignments/tree/main/latestrelease where the issue now has been solved. Just copy the AntiAlignments.jar file over the one you are currently using.

    Kind regards, Eric.

  • Hi Eric,

    I downloaded the new version of the AntiAlignments package and the issue is now solved, thank you very much!

    Greetings, Josh

Sign In or Register to comment.