diff options
author | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-05-08 17:03:07 +0200 |
---|---|---|
committer | OszkarSemerath <oszkar.semerath@gmail.com> | 2018-05-08 17:03:07 +0200 |
commit | 4585a4d344da5498200548e7add61e5cccd44924 (patch) | |
tree | 3a030bea39db36db43d97b62124f6c2a7db111a7 /Solvers | |
parent | Updated and fixed dependencies: (diff) | |
download | VIATRA-Generator-4585a4d344da5498200548e7add61e5cccd44924.tar.gz VIATRA-Generator-4585a4d344da5498200548e7add61e5cccd44924.tar.zst VIATRA-Generator-4585a4d344da5498200548e7add61e5cccd44924.zip |
Refactored to the milestone version of Viatra 2.0
Diffstat (limited to 'Solvers')
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 | |||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | 7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration |
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition | 8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition |
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | 9 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem |
10 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher | 10 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicType |
11 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher | 11 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStar |
12 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference | 12 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTComplexTypeReference |
13 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument | 13 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTDocument |
14 | import hu.bme.mit.inf.dslreasoner.smtLanguage.SMTEnumLiteral | 14 | import 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 | |||
4 | Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;singleton:=true | 4 | Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;singleton:=true |
5 | Bundle-Version: 1.0.0.qualifier | 5 | Bundle-Version: 1.0.0.qualifier |
6 | Export-Package: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra, | 6 | Export-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 | ||
9 | Require-Bundle: hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0", | 8 | Require-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" |
24 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | 23 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
25 | Import-Package: org.apache.log4j | 24 | Import-Package: org.apache.log4j |
26 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery | 25 | Automatic-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 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra | 1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra |
2 | 2 | ||
3 | import org.eclipse.xtend.lib.annotations.Data | 3 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement |
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | 4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertype | ||
8 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementMayTypeNegativeConstraint | ||
9 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructor | ||
10 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraint | ||
11 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTarget | ||
12 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | ||
13 | import java.util.ArrayList | ||
5 | import java.util.List | 14 | import java.util.List |
6 | import java.util.Map | 15 | import java.util.Map |
7 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
9 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine | 16 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine |
10 | import org.eclipse.viatra.query.runtime.emf.EMFScope | 17 | import org.eclipse.viatra.query.runtime.emf.EMFScope |
11 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeConstructorMatcher | 18 | import org.eclipse.xtend.lib.annotations.Data |
12 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementTargetMatcher | ||
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.NewElementTypeRefinementNegativeConstraintMatcher | ||
14 | import java.util.ArrayList | ||
15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.queries.DontHaveDefinedSupertypeMatcher | ||
16 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | ||
17 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement | ||
18 | import 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 | |||
12 | import org.eclipse.emf.common.util.URI | 12 | import org.eclipse.emf.common.util.URI |
13 | import org.eclipse.emf.ecore.resource.Resource | 13 | import org.eclipse.emf.ecore.resource.Resource |
14 | import org.eclipse.emf.ecore.util.EcoreUtil | 14 | import org.eclipse.emf.ecore.util.EcoreUtil |
15 | import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup | ||
16 | import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader | ||
17 | import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader | ||
18 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule | 15 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule |
19 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup | 16 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup |
20 | import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader | 17 | import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader |
21 | import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader | 18 | import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader |
22 | import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel | ||
23 | import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder | 19 | import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder |
20 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel | ||
24 | import org.eclipse.xtext.resource.XtextResourceSet | 21 | import org.eclipse.xtext.resource.XtextResourceSet |
25 | 22 | ||
26 | class MyModule extends EMFPatternLanguageRuntimeModule implements Module{ | 23 | class 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{ | |||
35 | class ParseUtil { | 32 | class 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 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage | 1 | package hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput | 3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput |
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration | 5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.ConstantDeclaration |
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration | 6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.FunctionDeclaration |
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory | 8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguageFactory |
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | 10 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration |
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.StringLiteral | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | 12 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type |
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration | 13 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration |
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition | 14 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition |
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | 15 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem |
12 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStarMatcher | 16 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.SupertypeStar |
13 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation | 17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialConstantInterpretation |
14 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation | 18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialFunctionInterpretation |
15 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | 19 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation |
@@ -23,10 +27,6 @@ import org.eclipse.viatra.query.runtime.emf.EMFScope | |||
23 | import org.eclipse.xtend.lib.annotations.Data | 27 | import org.eclipse.xtend.lib.annotations.Data |
24 | 28 | ||
25 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | 29 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* |
26 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TypeScopes | ||
27 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.IntLiteral | ||
28 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RealLiteral | ||
29 | import 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) |