From 93fcbba4aca1893da7c577e37b882da5cbf9b1d6 Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Thu, 14 Jun 2018 17:27:00 +0200 Subject: Visualisation example using matches during generation --- .../dse/BestFirstStrategyForModelGeneration.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java index 63bd3b17..12533535 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/BestFirstStrategyForModelGeneration.java @@ -11,9 +11,11 @@ package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.dse; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.PriorityQueue; import java.util.Random; @@ -77,6 +79,7 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { private volatile boolean isInterrupted = false; private ModelResult modelResultByInternalSolver = null; private Random random = new Random(); + private Collection> matchers; // Statistics private int numberOfStatecoderFail = 0; @@ -110,10 +113,12 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { ViatraQueryEngine engine = context.getQueryEngine(); // TODO: visualisation -// for(IQuerySpecification> p : this.method.getAllPatterns()) { -// ViatraQueryMatcher matcher = p.getMatcher(engine); -// matcher.getAllMatches(); -// } + matchers = new LinkedList>(); + for(IQuerySpecification> p : this.method.getAllPatterns()) { + System.out.println(p.getSimpleName()); + ViatraQueryMatcher matcher = p.getMatcher(engine); + matchers.add(matcher); + } this.solutionStoreWithCopy = new SolutionStoreWithCopy(); this.solutionStoreWithDiversityDescriptor = new SolutionStoreWithDiversityDescriptor(configuration.diversityRequirement); @@ -183,6 +188,10 @@ public class BestFirstStrategyForModelGeneration implements IStrategy { context.executeAcitvationId(nextActivation); visualiseCurrentState(); + for(ViatraQueryMatcher matcher : matchers) { + System.out.println(matcher.getPatternName() + " - " + matcher.countMatches()); + } + boolean consistencyCheckResult = checkConsistency(currentTrajectoryWithFittness); if(consistencyCheckResult == true) { continue mainLoop; } -- cgit v1.2.3-54-g00ecf