Skip to content
Snippets Groups Projects
Commit b03817cb authored by Sebastian Krings's avatar Sebastian Krings
Browse files

improve output in model checking dialog

parent cc6ee52b
Branches
Tags
No related merge requests found
......@@ -63,11 +63,11 @@ public final class ModelCheckingCommand implements IComposableCommand {
.getValue().intValue();
int numStates = ((IntegerPrologTerm) stats.getArgument(1)).getValue()
.intValue();
int workedSoFar = (int) (1000 * Math.pow((double) processedTotal
/ numStates, 5));
int numTransitions = ((IntegerPrologTerm) stats.getArgument(2))
.getValue().intValue();
result = new ModelCheckingResult<Result>(Result.class, term,
workedSoFar);
processedTotal, numStates, numTransitions);
}
@Override
......
......@@ -14,15 +14,18 @@ public class ModelCheckingResult<T extends Enum<T>> {
private final T result;
private final List<PrologTerm> arguments = new ArrayList<PrologTerm>();
private final int worked;
private final int processedTotal, numStates, numTransitions;
public ModelCheckingResult(final Class<T> enumeration,
final CompoundPrologTerm term, int workDone) {
final CompoundPrologTerm term, int total, int numStates,
int numTransitions) {
result = Enum.valueOf(enumeration, term.getFunctor());
for (int i = 1; i <= term.getArity(); i++) {
arguments.add(term.getArgument(i));
}
worked = workDone;
processedTotal = total;
this.numStates = numStates;
this.numTransitions = numTransitions;
}
public PrologTerm getArgument(final int i) {
......@@ -33,7 +36,19 @@ public class ModelCheckingResult<T extends Enum<T>> {
return result;
}
public int getProcessedTotal() {
return processedTotal;
}
public int getNumStates() {
return numStates;
}
public int getNumTransitions() {
return numTransitions;
}
public int getWorked() {
return worked;
return (int) (1000 * Math.pow((double) processedTotal / numStates, 5));
}
}
......@@ -47,12 +47,18 @@ public class ModelCheckingJob extends Job {
return Status.CANCEL_STATUS;
}
monitor.beginTask("Model checking", 1000);
monitor.beginTask("Model Checking", 1000);
while (!abort) {
try {
modelCheckingResult = doSomeModelchecking();
options.remove("inspect_existing_nodes");
monitor.setTaskName("Model Checking - States: "
+ modelCheckingResult.getNumStates() + " Transitions: "
+ modelCheckingResult.getNumTransitions()
+ " Processed States: "
+ modelCheckingResult.getProcessedTotal());
int difference = modelCheckingResult.getWorked() - workedSoFar;
if (difference > 0) {
monitor.worked(difference);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment