de.uni.freiburg.iig.telematik.sepia.overlap.Overlap Maven / Gradle / Ivy
Show all versions of SEPIA Show documentation
package de.uni.freiburg.iig.telematik.sepia.overlap;
import de.invation.code.toval.thread.ExecutorListener;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractFlowRelation;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractMarking;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractPlace;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractTransition;
import de.uni.freiburg.iig.telematik.sewol.log.LogEntry;
public class Overlap {
public static < P extends AbstractPlace,
T extends AbstractTransition,
F extends AbstractFlowRelation,
M extends AbstractMarking,
S extends Object,
E extends LogEntry>
void
initiateOverlapCalculation( OverlapCallableGenerator
generator,
ExecutorListener> listener)
throws OverlapException {
ThreadedOverlapCalculator calculator = new ThreadedOverlapCalculator
(generator);
calculator.addExecutorListener(listener);
calculator.runCalculation();
}
public static < P extends AbstractPlace,
T extends AbstractTransition,
F extends AbstractFlowRelation,
M extends AbstractMarking,
S extends Object,
E extends LogEntry>
OverlapResult
calculateOverlap(OverlapCallableGenerator generator)
throws OverlapException {
ThreadedOverlapCalculator
calculator = new ThreadedOverlapCalculator
(generator);
calculator.runCalculation();
return calculator.getResult();
}
}