diff options
author | Kristóf Marussy <kris7topher@gmail.com> | 2019-06-08 18:44:41 -0400 |
---|---|---|
committer | Kristóf Marussy <kris7topher@gmail.com> | 2019-06-08 18:44:41 -0400 |
commit | 885899d6de5d2e2a630ca8fb33d1e08450008caa (patch) | |
tree | cb7b3294c4875e8ecdafaae6d2bfdad708eaa091 | |
parent | MDEOptimiser tuning for CPS (diff) | |
parent | Default state coder range set to Width, as it should be (diff) | |
download | VIATRA-Generator-885899d6de5d2e2a630ca8fb33d1e08450008caa.tar.gz VIATRA-Generator-885899d6de5d2e2a630ca8fb33d1e08450008caa.tar.zst VIATRA-Generator-885899d6de5d2e2a630ca8fb33d1e08450008caa.zip |
Merge remote-tracking branch 'origin/master' into kris
3 files changed, 10 insertions, 3 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend index 179690dd..50f088d4 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend | |||
@@ -32,7 +32,7 @@ class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{ | |||
32 | val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE | 32 | val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE |
33 | val extension EClassMapper classMapper; | 33 | val extension EClassMapper classMapper; |
34 | 34 | ||
35 | public new(EClassMapper classMapper) { | 35 | new(EClassMapper classMapper) { |
36 | this.classMapper = classMapper | 36 | this.classMapper = classMapper |
37 | } | 37 | } |
38 | 38 | ||
@@ -117,7 +117,7 @@ class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{ | |||
117 | def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { | 117 | def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { |
118 | trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap | 118 | trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap |
119 | for(reference : references) { | 119 | for(reference : references) { |
120 | if(reference.EOpposite!=null) { | 120 | if(reference.EOpposite!==null && references.exists[it === reference.EOpposite]) { |
121 | val opposite = reference.EOpposite | 121 | val opposite = reference.EOpposite |
122 | if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) { | 122 | if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) { |
123 | trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite)) | 123 | trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite)) |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend index bf593add..6dc40705 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/PartialInterpretation2NeighbourhoodRepresentation.xtend | |||
@@ -41,6 +41,13 @@ abstract class PartialInterpretation2NeighbourhoodRepresentation<ModelRepresenta | |||
41 | return createRepresentation(model,range,parallels,maxNumber,null,null) | 41 | return createRepresentation(model,range,parallels,maxNumber,null,null) |
42 | } | 42 | } |
43 | 43 | ||
44 | /** | ||
45 | * Creates a neighbourhood representation with traces | ||
46 | * @param model The model to be represented. | ||
47 | * @param range The range of the neighbourhood. | ||
48 | * @param parallels The maximal number of parallel references to be differentiated. | ||
49 | * @param maxNumber The maximal number of elements in a equivalence class that chan be differentiated. | ||
50 | */ | ||
44 | def public createRepresentation( | 51 | def public createRepresentation( |
45 | PartialInterpretation model, | 52 | PartialInterpretation model, |
46 | int range, int parallels, int maxNumber, | 53 | int range, int parallels, int maxNumber, |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend index b6d2043d..a86bcd1f 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/statecoder/NeighbourhoodBasedStateCoderFactory.xtend | |||
@@ -43,7 +43,7 @@ class NeighbourhoodBasedStateCoderFactory implements IStateCoderFactory { | |||
43 | val Set<RelationDeclaration> relevantRelations | 43 | val Set<RelationDeclaration> relevantRelations |
44 | 44 | ||
45 | public new() { | 45 | public new() { |
46 | this.range = PartialInterpretation2NeighbourhoodRepresentation::FixPointRage | 46 | this.range = PartialInterpretation2NeighbourhoodRepresentation::GraphWidthRange |
47 | this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels | 47 | this.parallels = PartialInterpretation2NeighbourhoodRepresentation::FullParallels |
48 | this.maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers | 48 | this.maxNumber = PartialInterpretation2NeighbourhoodRepresentation::MaxNumbers |
49 | this.relevantTypes = null | 49 | this.relevantTypes = null |