aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers
diff options
context:
space:
mode:
Diffstat (limited to 'Solvers')
-rw-r--r--Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend20
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF31
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend32
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend12
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend12
5 files changed, 51 insertions, 56 deletions
diff --git a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend
index 2796e077..56668b79 100644
--- a/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend
+++ b/Solvers/SMT-Solver/hu.bme.mit.inf.dslreasoner.smt.reasoner/src/hu/bme/mit/inf/dslreasoner/smt/reasoner/Logic2Smt_TypeMapper_FilteredTypes.xtend
@@ -7,8 +7,8 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition 8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 9import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
10import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher 10import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicType
11import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher 11import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStar
12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference 12import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference
13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument 13import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument
14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral 14import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral
@@ -111,7 +111,7 @@ class Logic2Smt_TypeMapperTrace_FilteredTypes implements Logic2Smt_TypeMapperTra
111 } 111 }
112 112
113 def validate(EObject element, EObject other) { 113 def validate(EObject element, EObject other) {
114 if(element != null) { 114 if(element !== null) {
115 val headOfElement = EcoreUtil2.getContainerOfType(element,SMTDocument) 115 val headOfElement = EcoreUtil2.getContainerOfType(element,SMTDocument)
116 val expectedHeadOfElement = EcoreUtil2.getContainerOfType(other,SMTDocument) 116 val expectedHeadOfElement = EcoreUtil2.getContainerOfType(other,SMTDocument)
117 if(headOfElement !== expectedHeadOfElement) { 117 if(headOfElement !== expectedHeadOfElement) {
@@ -234,8 +234,8 @@ class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
234 } 234 }
235 235
236 protected def transformOldTypes(Iterable<Type> oldTypes,Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine) { 236 protected def transformOldTypes(Iterable<Type> oldTypes,Iterable<DefinedElement> oldElements, Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine) {
237 val possibleTypeMatcher = PossibleDynamicTypeMatcher.on(engine) 237 val possibleTypeMatcher = PossibleDynamicType.Matcher.on(engine)
238 val supertypeStarMatcher = SupertypeStarMatcher.on(engine) 238 val supertypeStarMatcher = SupertypeStar.Matcher.on(engine)
239// val possibleTypes = new LinkedList 239// val possibleTypes = new LinkedList
240// if(hasDefinedElement) possibleTypes += typesWithDefinedSupertype 240// if(hasDefinedElement) possibleTypes += typesWithDefinedSupertype
241// if(hasUndefinedElement) possibleTypes += typesWithoutDefinedSupertype 241// if(hasUndefinedElement) possibleTypes += typesWithoutDefinedSupertype
@@ -351,7 +351,7 @@ class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
351 Iterable<TypeDeclaration> typesWithoutDefinedSupertype, 351 Iterable<TypeDeclaration> typesWithoutDefinedSupertype,
352 Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine) 352 Logic2SmtMapperTrace trace, SMTInput document, ViatraQueryEngine engine)
353 { 353 {
354 val supertypeStarMatcher = SupertypeStarMatcher.on(engine) 354 val supertypeStarMatcher = SupertypeStar.Matcher.on(engine)
355 val possibleTypes = typesWithoutDefinedSupertype 355 val possibleTypes = typesWithoutDefinedSupertype
356 val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract].toList 356 val possibleConcreteTypes = possibleTypes.filter[!it.isIsAbstract].toList
357 357
@@ -483,7 +483,7 @@ class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
483 } 483 }
484 484
485 if(list.empty) throw new AssertionError('''Typereference to type is «type.name» empty''') 485 if(list.empty) throw new AssertionError('''Typereference to type is «type.name» empty''')
486 if(list.exists[it.type == null]){ 486 if(list.exists[it.type === null]){
487 throw new AssertionError('''Typereference to null!''') 487 throw new AssertionError('''Typereference to null!''')
488 } 488 }
489 return list 489 return list
@@ -520,14 +520,14 @@ class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
520 } 520 }
521 521
522 val engine = ViatraQueryEngine.on(new EMFScope(problem)) 522 val engine = ViatraQueryEngine.on(new EMFScope(problem))
523 val supertypeStarMatcher = SupertypeStarMatcher.on(engine) 523 val supertypeStarMatcher = SupertypeStar.Matcher.on(engine)
524 524
525 val Map<Type,List<DefinedElement>> type2Elements = new HashMap 525 val Map<Type,List<DefinedElement>> type2Elements = new HashMap
526 for(key : problem.types) { 526 for(key : problem.types) {
527 type2Elements.put(key,new LinkedList<DefinedElement>) 527 type2Elements.put(key,new LinkedList<DefinedElement>)
528 } 528 }
529 529
530 if(trace.typeTrace.independentClasses != null) { 530 if(trace.typeTrace.independentClasses !== null) {
531 for(type : trace.typeTrace.independentClasses.keySet) { 531 for(type : trace.typeTrace.independentClasses.keySet) {
532 if(type instanceof TypeDefinition) { 532 if(type instanceof TypeDefinition) {
533 type.lookup(type2Elements).addAll(type.elements) 533 type.lookup(type2Elements).addAll(type.elements)
@@ -537,7 +537,7 @@ class Logic2Smt_TypeMapper_FilteredTypes implements Logic2Smt_TypeMapper {
537 } 537 }
538 } 538 }
539 539
540 if(trace.typeTrace.oldObjectTypeFunction != null) { 540 if(trace.typeTrace.oldObjectTypeFunction !== null) {
541 val inverseOldTypeMap = trace.typeTrace.oldObjectTypeMap.bijectiveInverse 541 val inverseOldTypeMap = trace.typeTrace.oldObjectTypeMap.bijectiveInverse
542 for(oldElement: trace.typeTrace.elementMap.values) { 542 for(oldElement: trace.typeTrace.elementMap.values) {
543 val type = interpretation.queryEngine.resolveFunctionDefinition( 543 val type = interpretation.queryEngine.resolveFunctionDefinition(
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF
index 6510a20a..b2e3667c 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/META-INF/MANIFEST.MF
@@ -4,23 +4,22 @@ Bundle-Name: Logic2viatra
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;singleton:=true 4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;singleton:=true
5Bundle-Version: 1.0.0.qualifier 5Bundle-Version: 1.0.0.qualifier
6Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra, 6Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra,
7 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries, 7 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries
8 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.util
9Require-Bundle: hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0", 8Require-Bundle: hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0",
10 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", 9 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
11 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0", 10 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
12 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0", 11 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
13 com.google.guava, 12 com.google.guava,
14 org.eclipse.xtext.xbase.lib, 13 org.eclipse.xtext.xbase.lib,
15 org.eclipse.xtend.lib, 14 org.eclipse.xtend.lib,
16 org.eclipse.xtend.lib.macro, 15 org.eclipse.xtend.lib.macro,
17 org.eclipse.viatra.query.runtime;bundle-version="1.5.0", 16 org.eclipse.viatra.query.runtime;bundle-version="1.5.0",
18 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0", 17 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0",
19 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.5.0", 18 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.5.0",
20 com.google.inject;bundle-version="3.0.0", 19 com.google.inject;bundle-version="3.0.0",
21 org.eclipse.xtext;bundle-version="2.10.0", 20 org.eclipse.xtext;bundle-version="2.10.0",
22 org.eclipse.viatra.transformation.runtime.emf;bundle-version="1.5.0", 21 org.eclipse.viatra.transformation.runtime.emf;bundle-version="1.5.0",
23 org.eclipse.xtext.xbase;bundle-version="2.10.0" 22 org.eclipse.xtext.xbase;bundle-version="2.10.0"
24Bundle-RequiredExecutionEnvironment: JavaSE-1.8 23Bundle-RequiredExecutionEnvironment: JavaSE-1.8
25Import-Package: org.apache.log4j 24Import-Package: org.apache.log4j
26Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery 25Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend
index 395aba85..2dd01343 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/TypeAnalysis.xtend
@@ -1,21 +1,21 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra 1package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra
2 2
3import org.eclipse.xtend.lib.annotations.Data 3import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
6import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
7import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertype
8import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraint
9import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructor
10import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraint
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTarget
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
13import java.util.ArrayList
5import java.util.List 14import java.util.List
6import java.util.Map 15import java.util.Map
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
9import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine 16import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
10import org.eclipse.viatra.query.runtime.emf.EMFScope 17import org.eclipse.viatra.query.runtime.emf.EMFScope
11import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructorMatcher 18import org.eclipse.xtend.lib.annotations.Data
12import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTargetMatcher
13import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraintMatcher
14import java.util.ArrayList
15import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertypeMatcher
16import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
17import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement
18import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraintMatcher
19 19
20@Data class TypeRefinementPrecondition { 20@Data class TypeRefinementPrecondition {
21 Type targetType 21 Type targetType
@@ -60,11 +60,11 @@ class TypeAnalysis {
60 60
61 def TypeAnalysisResult performTypeAnalysis(LogicProblem problem, PartialInterpretation interpretation) { 61 def TypeAnalysisResult performTypeAnalysis(LogicProblem problem, PartialInterpretation interpretation) {
62 val viatraEngine = ViatraQueryEngine.on(new EMFScope(problem)) 62 val viatraEngine = ViatraQueryEngine.on(new EMFScope(problem))
63 val negativeMatcher = NewElementTypeRefinementNegativeConstraintMatcher.on(viatraEngine) 63 val negativeMatcher = NewElementTypeRefinementNegativeConstraint.Matcher.on(viatraEngine)
64 64
65 val possibleNewDynamicTypes = NewElementTypeConstructorMatcher.on(viatraEngine).allValuesOftype 65 val possibleNewDynamicTypes = NewElementTypeConstructor.Matcher.on(viatraEngine).allValuesOftype
66 66
67 val possibleNewTypeRefinementTargets = NewElementTypeRefinementTargetMatcher.on(viatraEngine).allValuesOfrefined 67 val possibleNewTypeRefinementTargets = NewElementTypeRefinementTarget.Matcher.on(viatraEngine).allValuesOfrefined
68 val possibleNewTypeRefinements = new ArrayList 68 val possibleNewTypeRefinements = new ArrayList
69 for(possibleNewTypeRefinementTarget : possibleNewTypeRefinementTargets) { 69 for(possibleNewTypeRefinementTarget : possibleNewTypeRefinementTargets) {
70 val inhibitorTypes = negativeMatcher.getAllValuesOfinhibitor(possibleNewTypeRefinementTarget) 70 val inhibitorTypes = negativeMatcher.getAllValuesOfinhibitor(possibleNewTypeRefinementTarget)
@@ -73,8 +73,8 @@ class TypeAnalysis {
73 inhibitorTypes.toList) 73 inhibitorTypes.toList)
74 } 74 }
75 75
76 val possibleTypes = DontHaveDefinedSupertypeMatcher.on(viatraEngine).allValuesOftype 76 val possibleTypes = DontHaveDefinedSupertype.Matcher.on(viatraEngine).allValuesOftype
77 val newElementMayTypeMatcher = NewElementMayTypeNegativeConstraintMatcher.on(viatraEngine) 77 val newElementMayTypeMatcher = NewElementMayTypeNegativeConstraint.Matcher.on(viatraEngine)
78 78
79 val mayNewTypePreconditions = possibleTypes.toInvertedMap[type | 79 val mayNewTypePreconditions = possibleTypes.toInvertedMap[type |
80 val inhibitorTypes = newElementMayTypeMatcher.getAllValuesOfinhibitor(type as TypeDeclaration) 80 val inhibitorTypes = newElementMayTypeMatcher.getAllValuesOfinhibitor(type as TypeDeclaration)
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
index d315ac3f..6febe0a6 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/util/ParseUtil.xtend
@@ -12,21 +12,18 @@ import java.util.LinkedHashMap
12import org.eclipse.emf.common.util.URI 12import org.eclipse.emf.common.util.URI
13import org.eclipse.emf.ecore.resource.Resource 13import org.eclipse.emf.ecore.resource.Resource
14import org.eclipse.emf.ecore.util.EcoreUtil 14import org.eclipse.emf.ecore.util.EcoreUtil
15import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup
16import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader
17import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader
18import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule 15import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule
19import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup 16import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup
20import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader 17import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader
21import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader 18import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader
22import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel
23import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder 19import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder
20import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel
24import org.eclipse.xtext.resource.XtextResourceSet 21import org.eclipse.xtext.resource.XtextResourceSet
25 22
26class MyModule extends EMFPatternLanguageRuntimeModule implements Module{ 23class MyModule extends EMFPatternLanguageRuntimeModule implements Module{
27 def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() { 24// def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() {
28 return typeof(ExtensionBasedAnnotationValidatorLoader); 25// return typeof(ExtensionBasedAnnotationValidatorLoader);
29 } 26// }
30 def public Class<? extends IGenmodelMappingLoader> bindGenmodelMappingLoader() { 27 def public Class<? extends IGenmodelMappingLoader> bindGenmodelMappingLoader() {
31 return typeof(GenmodelExtensionLoader); 28 return typeof(GenmodelExtensionLoader);
32 } 29 }
@@ -35,7 +32,6 @@ class MyModule extends EMFPatternLanguageRuntimeModule implements Module{
35class ParseUtil { 32class ParseUtil {
36 val Injector injector; 33 val Injector injector;
37 new() { 34 new() {
38 PatternLanguageStandaloneSetup.doSetup
39 EMFPatternLanguageStandaloneSetup.doSetup; 35 EMFPatternLanguageStandaloneSetup.doSetup;
40 PartialinterpretationPackage.eINSTANCE.class; 36 PartialinterpretationPackage.eINSTANCE.class;
41 LogicproblemPackage.eINSTANCE.class; 37 LogicproblemPackage.eINSTANCE.class;
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend
index 9ddee6a7..45fd2c6d 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/PartialInterpretationInitialiser.xtend
@@ -1,15 +1,19 @@
1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage 1package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage
2 2
3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput 3import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput
4import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration 5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration
5import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration 6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory 8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
7import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration 10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
11import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringLiteral
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 12import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
9import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 13import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
10import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition 14import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
11import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem 15import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
12import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher 16import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStar
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation 17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation 18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 19import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
@@ -23,10 +27,6 @@ import org.eclipse.viatra.query.runtime.emf.EMFScope
23import org.eclipse.xtend.lib.annotations.Data 27import org.eclipse.xtend.lib.annotations.Data
24 28
25import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 29import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
26import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral
28import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral
29import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringLiteral
30 30
31@Data class Problem2PartialInterpretationTrace { 31@Data class Problem2PartialInterpretationTrace {
32 Map<TypeDeclaration, PartialTypeInterpratation> type2Interpretation = new HashMap 32 Map<TypeDeclaration, PartialTypeInterpratation> type2Interpretation = new HashMap
@@ -112,7 +112,7 @@ class PartialInterpretationInitialiser {
112 * Initialize type with existing elements 112 * Initialize type with existing elements
113 */ 113 */
114 def private initialisePartialTypeInterpretation(TypeDeclaration t, ViatraQueryEngine engine, Problem2PartialInterpretationTrace trace) { 114 def private initialisePartialTypeInterpretation(TypeDeclaration t, ViatraQueryEngine engine, Problem2PartialInterpretationTrace trace) {
115 val supertypeMatcher = SupertypeStarMatcher.on(engine) 115 val supertypeMatcher = SupertypeStar.Matcher.on(engine)
116 val res = createPartialTypeInterpratation => [ 116 val res = createPartialTypeInterpratation => [
117 it.interpretationOf = t 117 it.interpretationOf = t
118 it.elements += supertypeMatcher.getAllValuesOfsubtype(t) 118 it.elements += supertypeMatcher.getAllValuesOfsubtype(t)