diff options
17 files changed, 113 insertions, 91 deletions
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeModule.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeModule.xtend new file mode 100644 index 00000000..195aa77a --- /dev/null +++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeModule.xtend | |||
@@ -0,0 +1,11 @@ | |||
1 | /* | ||
2 | * generated by Xtext 2.12.0 | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.application.ide | ||
5 | |||
6 | |||
7 | /** | ||
8 | * Use this class to register ide components. | ||
9 | */ | ||
10 | class ApplicationConfigurationIdeModule extends AbstractApplicationConfigurationIdeModule { | ||
11 | } | ||
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeSetup.xtend b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeSetup.xtend new file mode 100644 index 00000000..afaa5ee2 --- /dev/null +++ b/Application/hu.bme.mit.inf.dslreasoner.application.ide/src/hu/bme/mit/inf/dslreasoner/application/ide/ApplicationConfigurationIdeSetup.xtend | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * generated by Xtext 2.12.0 | ||
3 | */ | ||
4 | package hu.bme.mit.inf.dslreasoner.application.ide | ||
5 | |||
6 | import com.google.inject.Guice | ||
7 | import hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationRuntimeModule | ||
8 | import hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneSetup | ||
9 | import org.eclipse.xtext.util.Modules2 | ||
10 | |||
11 | /** | ||
12 | * Initialization support for running Xtext languages as language servers. | ||
13 | */ | ||
14 | class ApplicationConfigurationIdeSetup extends ApplicationConfigurationStandaloneSetup { | ||
15 | |||
16 | override createInjector() { | ||
17 | Guice.createInjector(Modules2.mixin(new ApplicationConfigurationRuntimeModule, new ApplicationConfigurationIdeModule)) | ||
18 | } | ||
19 | |||
20 | } | ||
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext index 2361d965..1f9495cf 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfiguration.xtext | |||
@@ -1,7 +1,7 @@ | |||
1 | grammar hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration with org.eclipse.xtext.common.Terminals | 1 | grammar hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration with org.eclipse.xtext.common.Terminals |
2 | 2 | ||
3 | import "http://www.eclipse.org/emf/2002/Ecore" as ecore | 3 | import "http://www.eclipse.org/emf/2002/Ecore" as ecore |
4 | import "http://www.eclipse.org/viatra/query/patternlanguage/PatternLanguage" as viatra | 4 | import "http://www.eclipse.org/viatra/query/patternlanguage/emf/PatternLanguage" as viatra |
5 | generate applicationConfiguration "http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration" | 5 | generate applicationConfiguration "http://www.bme.hu/mit/inf/dslreasoner/application/ApplicationConfiguration" |
6 | 6 | ||
7 | ConfigurationScript: | 7 | ConfigurationScript: |
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2 b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2 index 9265ce4a..13cc78a8 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2 +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/GenerateApplicationConfiguration.mwe2 | |||
@@ -30,7 +30,7 @@ Workflow { | |||
30 | language = StandardLanguage { | 30 | language = StandardLanguage { |
31 | name = "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration" | 31 | name = "hu.bme.mit.inf.dslreasoner.application.ApplicationConfiguration" |
32 | referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" | 32 | referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.genmodel" |
33 | referencedResource = "platform:/resource/org.eclipse.viatra.query.patternlanguage/model/generated/PatternLanguage.genmodel" | 33 | referencedResource = "platform:/resource/org.eclipse.viatra.query.patternlanguage.emf/model/PatternLanguage.genmodel" |
34 | fileExtensions = "vsconfig" | 34 | fileExtensions = "vsconfig" |
35 | serializer = { | 35 | serializer = { |
36 | generateStub = false | 36 | generateStub = false |
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend index 5506d762..2cbfc20d 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend | |||
@@ -198,7 +198,7 @@ class GenerationTaskExecutor { | |||
198 | val vis1 = new PartialInterpretation2Gml | 198 | val vis1 = new PartialInterpretation2Gml |
199 | val gml = vis1.transform(representation) | 199 | val gml = vis1.transform(representation) |
200 | outputWorkspaceForRun.writeText('''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex+1».gml''',gml) | 200 | outputWorkspaceForRun.writeText('''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex+1».gml''',gml) |
201 | if(false && representation.newElements.size + representation.problem.elements.size < 150) { | 201 | if(representation.newElements.size + representation.problem.elements.size < 150) { |
202 | val vis2 = new GraphvizVisualisation | 202 | val vis2 = new GraphvizVisualisation |
203 | val dot = vis2.visualiseConcretization(representation) | 203 | val dot = vis2.visualiseConcretization(representation) |
204 | dot.writeToFile(outputWorkspaceForRun,'''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex+1»''') | 204 | dot.writeToFile(outputWorkspaceForRun,'''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex+1»''') |
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend index 73a8ad59..c25bfb07 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend | |||
@@ -13,10 +13,10 @@ import java.util.List | |||
13 | import java.util.Set | 13 | import java.util.Set |
14 | import org.eclipse.emf.ecore.EClass | 14 | import org.eclipse.emf.ecore.EClass |
15 | import org.eclipse.emf.ecore.EPackage | 15 | import org.eclipse.emf.ecore.EPackage |
16 | import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel | ||
17 | import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder | 16 | import org.eclipse.viatra.query.patternlanguage.emf.specification.SpecificationBuilder |
18 | import org.eclipse.viatra.query.patternlanguage.patternLanguage.Pattern | 17 | import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern |
19 | import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternCompositionConstraint | 18 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternCompositionConstraint |
19 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel | ||
20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification | 20 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification |
21 | import org.eclipse.xtext.EcoreUtil2 | 21 | import org.eclipse.xtext.EcoreUtil2 |
22 | 22 | ||
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend index 0da42e0f..e458267c 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/VQLParser.xtend | |||
@@ -10,24 +10,21 @@ import org.eclipse.emf.common.util.URI | |||
10 | import org.eclipse.emf.ecore.resource.Resource | 10 | import org.eclipse.emf.ecore.resource.Resource |
11 | import org.eclipse.emf.ecore.resource.ResourceSet | 11 | import org.eclipse.emf.ecore.resource.ResourceSet |
12 | import org.eclipse.emf.ecore.util.EcoreUtil | 12 | import org.eclipse.emf.ecore.util.EcoreUtil |
13 | import org.eclipse.viatra.query.patternlanguage.PatternLanguageStandaloneSetup | ||
14 | import org.eclipse.viatra.query.patternlanguage.annotations.ExtensionBasedAnnotationValidatorLoader | ||
15 | import org.eclipse.viatra.query.patternlanguage.annotations.IAnnotationValidatorLoader | ||
16 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule | 13 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageRuntimeModule |
17 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup | 14 | import org.eclipse.viatra.query.patternlanguage.emf.EMFPatternLanguageStandaloneSetup |
18 | import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader | 15 | import org.eclipse.viatra.query.patternlanguage.emf.GenmodelExtensionLoader |
19 | import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader | 16 | import org.eclipse.viatra.query.patternlanguage.emf.IGenmodelMappingLoader |
20 | import org.eclipse.viatra.query.patternlanguage.emf.eMFPatternLanguage.PatternModel | ||
21 | import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService | 17 | import org.eclipse.viatra.query.patternlanguage.emf.scoping.CompoundMetamodelProviderService |
22 | import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider | 18 | import org.eclipse.viatra.query.patternlanguage.emf.scoping.IMetamodelProvider |
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.viatra.query.runtime.api.IQuerySpecification | 21 | import org.eclipse.viatra.query.runtime.api.IQuerySpecification |
25 | import org.eclipse.xtext.resource.XtextResourceSet | 22 | import org.eclipse.xtext.resource.XtextResourceSet |
26 | 23 | ||
27 | class MyModule extends EMFPatternLanguageRuntimeModule implements Module { | 24 | class MyModule extends EMFPatternLanguageRuntimeModule implements Module { |
28 | def public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() { | 25 | // override public Class<? extends IAnnotationValidatorLoader> bindAnnotationValidatorLoader() { |
29 | return typeof(ExtensionBasedAnnotationValidatorLoader); | 26 | // return typeof(ExtensionBasedAnnotationValidatorLoader); |
30 | } | 27 | // } |
31 | def public Class<? extends IGenmodelMappingLoader> bindGenmodelMappingLoader() { | 28 | def public Class<? extends IGenmodelMappingLoader> bindGenmodelMappingLoader() { |
32 | return typeof(GenmodelExtensionLoader); | 29 | return typeof(GenmodelExtensionLoader); |
33 | } | 30 | } |
@@ -42,7 +39,6 @@ class VQLParser { | |||
42 | val SpecificationBuilder builder = new SpecificationBuilder | 39 | val SpecificationBuilder builder = new SpecificationBuilder |
43 | 40 | ||
44 | new() { | 41 | new() { |
45 | PatternLanguageStandaloneSetup.doSetup | ||
46 | EMFPatternLanguageStandaloneSetup.doSetup; | 42 | EMFPatternLanguageStandaloneSetup.doSetup; |
47 | 43 | ||
48 | injector = internalCreateInjector | 44 | injector = internalCreateInjector |
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend index 8973e7cf..36948c2d 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/scoping/ApplicationConfigurationScopeProvider.xtend | |||
@@ -19,7 +19,7 @@ import org.eclipse.emf.ecore.EClass | |||
19 | import org.eclipse.emf.ecore.EEnum | 19 | import org.eclipse.emf.ecore.EEnum |
20 | import org.eclipse.emf.ecore.EObject | 20 | import org.eclipse.emf.ecore.EObject |
21 | import org.eclipse.emf.ecore.EReference | 21 | import org.eclipse.emf.ecore.EReference |
22 | import org.eclipse.viatra.query.patternlanguage.patternLanguage.PatternModel | 22 | import org.eclipse.viatra.query.patternlanguage.emf.vql.PatternModel |
23 | import org.eclipse.xtext.EcoreUtil2 | 23 | import org.eclipse.xtext.EcoreUtil2 |
24 | import org.eclipse.xtext.naming.QualifiedName | 24 | import org.eclipse.xtext.naming.QualifiedName |
25 | import org.eclipse.xtext.scoping.IScope | 25 | import org.eclipse.xtext.scoping.IScope |
diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend index 0efd522b..e5488e50 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend | |||
@@ -6,7 +6,7 @@ import java.util.LinkedList | |||
6 | import java.util.List | 6 | import java.util.List |
7 | import java.util.Set | 7 | import java.util.Set |
8 | import org.eclipse.emf.ecore.ENamedElement | 8 | import org.eclipse.emf.ecore.ENamedElement |
9 | import org.eclipse.viatra.query.patternlanguage.patternLanguage.Pattern | 9 | import org.eclipse.viatra.query.patternlanguage.emf.vql.Pattern |
10 | 10 | ||
11 | class QueryAndMetamodelValidator { | 11 | class QueryAndMetamodelValidator { |
12 | 12 | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF index b4f60202..763ba19c 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/META-INF/MANIFEST.MF | |||
@@ -29,7 +29,7 @@ Require-Bundle: org.eclipse.core.runtime, | |||
29 | org.eclipse.core.resources;bundle-version="3.8.101", | 29 | org.eclipse.core.resources;bundle-version="3.8.101", |
30 | org.eclipse.viatra.query.runtime;bundle-version="1.3.0", | 30 | org.eclipse.viatra.query.runtime;bundle-version="1.3.0", |
31 | org.apache.commons.lang;bundle-version="2.6.0" | 31 | org.apache.commons.lang;bundle-version="2.6.0" |
32 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
33 | Bundle-ActivationPolicy: lazy | ||
34 | Import-Package: org.apache.log4j | 32 | Import-Package: org.apache.log4j |
35 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.logic.model | 33 | Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.logic.model |
34 | Bundle-ActivationPolicy: lazy | ||
35 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend index 9148424c..7e9dd5fb 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.logic.model/src/hu/bme/mit/inf/dslreasoner/logic/model/builder/consistencychecker/TypeConsistencyChecker.xtend | |||
@@ -1,19 +1,19 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.logic.model.builder.consistencychecker | 1 | package hu.bme.mit.inf.dslreasoner.logic.model.builder.consistencychecker |
2 | 2 | ||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner | 3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner |
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration | ||
6 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException | 4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasonerException |
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult | 5 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicSolverConfiguration |
9 | import org.eclipse.viatra.query.runtime.emf.EMFScope | 6 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem |
10 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine | ||
11 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage | 7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage |
12 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory | 8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicresultFactory |
13 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeSystemIsInconsistentMatcher | 9 | import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult |
14 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementNotDefinedInSupertypeMatcher | 10 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementNotDefinedInSupertype |
15 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementWithNoPossibleDynamicTypeMatcher | 11 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.ElementWithNoPossibleDynamicType |
16 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicTypeMatcher | 12 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.PossibleDynamicType |
13 | import hu.bme.mit.inf.dslreasoner.logic.model.patterns.TypeSystemIsInconsistent | ||
14 | import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace | ||
15 | import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine | ||
16 | import org.eclipse.viatra.query.runtime.emf.EMFScope | ||
17 | 17 | ||
18 | class TypeConsistencyChecker extends LogicReasoner{ | 18 | class TypeConsistencyChecker extends LogicReasoner{ |
19 | val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE | 19 | val extension LogicresultFactory factory = LogicresultFactory.eINSTANCE |
@@ -32,10 +32,10 @@ class TypeConsistencyChecker extends LogicReasoner{ | |||
32 | 32 | ||
33 | val queryEngine = ViatraQueryEngine.on(new EMFScope(problem)) | 33 | val queryEngine = ViatraQueryEngine.on(new EMFScope(problem)) |
34 | 34 | ||
35 | val typeSystemInconsistencyMatcher = TypeSystemIsInconsistentMatcher.on(queryEngine) | 35 | val typeSystemInconsistencyMatcher = TypeSystemIsInconsistent.Matcher.on(queryEngine) |
36 | val elementNotDefinedInSupertype = ElementNotDefinedInSupertypeMatcher.on(queryEngine) | 36 | val elementNotDefinedInSupertype = ElementNotDefinedInSupertype.Matcher.on(queryEngine) |
37 | val elementWithNoPossibleDynamicType = ElementWithNoPossibleDynamicTypeMatcher.on(queryEngine) | 37 | val elementWithNoPossibleDynamicType = ElementWithNoPossibleDynamicType.Matcher.on(queryEngine) |
38 | val possibleDynamicType = PossibleDynamicTypeMatcher.on(queryEngine) | 38 | val possibleDynamicType = PossibleDynamicType.Matcher.on(queryEngine) |
39 | 39 | ||
40 | val hasErrorPatternMatch = typeSystemInconsistencyMatcher.hasMatch(problem) | 40 | val hasErrorPatternMatch = typeSystemInconsistencyMatcher.hasMatch(problem) |
41 | 41 | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend index 42c93da1..8d234fe9 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/Viatra2Logic.xtend | |||
@@ -143,7 +143,7 @@ class Viatra2Logic { | |||
143 | { | 143 | { |
144 | val pquery = squery.internalQueryRepresentation | 144 | val pquery = squery.internalQueryRepresentation |
145 | val disjunction = if(config.normalize) { | 145 | val disjunction = if(config.normalize) { |
146 | val normalizer = new PBodyNormalizer(EMFQueryMetaContext.INSTANCE,true) | 146 | val normalizer = new PBodyNormalizer(EMFQueryMetaContext.DEFAULT) |
147 | normalizer.rewrite(pquery) | 147 | normalizer.rewrite(pquery) |
148 | } else { | 148 | } else { |
149 | pquery.disjunctBodies | 149 | pquery.disjunctBodies |
@@ -255,7 +255,7 @@ class Viatra2Logic { | |||
255 | def TypeDescriptor getType(PVariable v, PBody body, TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) { | 255 | def TypeDescriptor getType(PVariable v, PBody body, TracedOutput<LogicProblem, Ecore2Logic_Trace> ecore2LogicTrace) { |
256 | if(v.isPositiveVariable) { | 256 | if(v.isPositiveVariable) { |
257 | val allTypes = v.lookup( | 257 | val allTypes = v.lookup( |
258 | body.getAllUnaryTypeRestrictions(EMFQueryMetaContext.INSTANCE)) | 258 | body.getAllUnaryTypeRestrictions(EMFQueryMetaContext.DEFAULT)) |
259 | val types = allTypes.filter[it.inputKey instanceof BaseEMFTypeKey<?>].toSet | 259 | val types = allTypes.filter[it.inputKey instanceof BaseEMFTypeKey<?>].toSet |
260 | 260 | ||
261 | if(types.size == 0) { | 261 | if(types.size == 0) { |
@@ -279,7 +279,7 @@ class Viatra2Logic { | |||
279 | val indexOfVariable = v.lookup(onlyConstraint.actualParametersTuple.invertIndex) | 279 | val indexOfVariable = v.lookup(onlyConstraint.actualParametersTuple.invertIndex) |
280 | val parameter = onlyConstraint.referredQuery.parameters.get(indexOfVariable) | 280 | val parameter = onlyConstraint.referredQuery.parameters.get(indexOfVariable) |
281 | val declaredUnaryType = parameter.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier> | 281 | val declaredUnaryType = parameter.declaredUnaryType as BaseEMFTypeKey<? extends EClassifier> |
282 | if(declaredUnaryType == null) { | 282 | if(declaredUnaryType === null) { |
283 | throw new UnsupportedOperationException( | 283 | throw new UnsupportedOperationException( |
284 | '''parameter «parameter.name» in pattern « | 284 | '''parameter «parameter.name» in pattern « |
285 | onlyConstraint.referredQuery.fullyQualifiedName» does not have type!''') | 285 | onlyConstraint.referredQuery.fullyQualifiedName» does not have type!''') |
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) |