aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-09-03 00:03:48 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-09-03 00:03:48 -0400
commit9fc9e413e61ca00beaf7d8217be173f25cf52b5d (patch)
treee105e400cceb0a2a3c0c43dd6ab47eda5b4292b3
parentVAMPIRE: implement Vampire Model Interpreter, 2/3 done (diff)
downloadVIATRA-Generator-9fc9e413e61ca00beaf7d8217be173f25cf52b5d.tar.gz
VIATRA-Generator-9fc9e413e61ca00beaf7d8217be173f25cf52b5d.tar.zst
VIATRA-Generator-9fc9e413e61ca00beaf7d8217be173f25cf52b5d.zip
VAMPIRE: complete first version of VampireModelInterpretation
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbinbin1685 -> 1685 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbinbin2500 -> 2500 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbinbin2342 -> 2342 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbinbin1792 -> 1792 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbinbin1965 -> 1965 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbinbin2405 -> 2405 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbinbin1819 -> 1819 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbinbin1786 -> 1786 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbinbin1706 -> 1706 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbinbin1980 -> 1980 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbinbin3706 -> 3706 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbinbin2338 -> 2338 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbinbin1751 -> 1751 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbinbin1736 -> 1736 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend1
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend111
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbinbin2691 -> 2691 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbinbin6957 -> 6957 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbinbin17726 -> 17725 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbinbin4773 -> 4874 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbinbin3165 -> 3164 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbinbin11807 -> 11807 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbinbin6467 -> 6498 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbinbin10676 -> 10676 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbinbin13060 -> 13059 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbinbin11170 -> 11170 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbinbin3858 -> 3858 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbinbin6386 -> 6386 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbinbin1491 -> 1491 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbinbin1688 -> 1688 bytes
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java2
-rw-r--r--Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java1
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend68
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbinbin4554 -> 4554 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbinbin6598 -> 7087 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbinbin6204 -> 6204 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbinbin6456 -> 6456 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbinbin7055 -> 7055 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java41
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbinbin4997 -> 4997 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbinbin687 -> 687 bytes
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbinbin6500 -> 6500 bytes
43 files changed, 181 insertions, 44 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
index 79296fd6..a0d8ad91 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
index 7781bf9d..7f0974a6 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ide/xtend-gen/ca/mcgill/ecse/dslreasoner/ide/.VampireLanguageIdeSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
index 4d13e9b6..e814f9af 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/.VampireLanguageUiModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
index 32c4c595..acbea6c4 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/contentassist/.VampireLanguageProposalProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
index 12c73d57..2b006891 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageDescriptionLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
index 656552a6..4c2a01e7 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/labeling/.VampireLanguageLabelProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
index cdb80449..f712428d 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/outline/.VampireLanguageOutlineTreeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
index b8138e88..db6e5d42 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language.ui/xtend-gen/ca/mcgill/ecse/dslreasoner/ui/quickfix/.VampireLanguageQuickfixProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
index 23feccda..bc9ce4bc 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageRuntimeModule.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
index 7fb53220..322bb058 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/.VampireLanguageStandaloneSetup.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
index 64554698..2bd5f5f8 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/formatting2/.VampireLanguageFormatter.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
index 7a8125bb..c332270d 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/generator/.VampireLanguageGenerator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
index 2f49f152..60bd0c88 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/scoping/.VampireLanguageScopeProvider.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
index f762dd38..fe1d6bf2 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.language/xtend-gen/ca/mcgill/ecse/dslreasoner/validation/.VampireLanguageValidator.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
index 7ab15fba..6b383b12 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.xtend
@@ -46,6 +46,7 @@ class Logic2VampireLanguageMapperTrace {
46 public var Map<ConstantDeclaration, ConstantDefinition> constantDefinitions 46 public var Map<ConstantDeclaration, ConstantDefinition> constantDefinitions
47 public var Map<RelationDeclaration, RelationDefinition> relationDefinitions 47 public var Map<RelationDeclaration, RelationDefinition> relationDefinitions
48 public var Map<RelationDeclaration, VLSFunction> rel2Predicate = new HashMap 48 public var Map<RelationDeclaration, VLSFunction> rel2Predicate = new HashMap
49 public var Map<VLSFunction, RelationDeclaration> predicate2Relation = new HashMap
49 50
50 51
51//NOT NEEDED //public var VLSFunction constantDec 52//NOT NEEDED //public var VLSFunction constantDec
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend
index 2dec281d..18e97020 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.xtend
@@ -71,6 +71,7 @@ class Logic2VampireLanguageMapper_RelationMapper {
71 } 71 }
72 ] 72 ]
73 trace.rel2Predicate.put(r, rel) 73 trace.rel2Predicate.put(r, rel)
74 trace.predicate2Relation.put(rel, r)
74 it.left = support.duplicate(rel) 75 it.left = support.duplicate(rel)
75 it.right = support.unfoldAnd(relVar2TypeDecComply) 76 it.right = support.unfoldAnd(relVar2TypeDecComply)
76 ] 77 ]
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
index 0c93e3fe..5df47bbc 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/VampireModelInterpretation.xtend
@@ -22,22 +22,27 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration
22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type 22import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type
23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration 23import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDeclaration
24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition 24import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDefinition
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.RelationDeclarationImpl
25import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl 26import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDeclarationImpl
27import java.util.Arrays
26import java.util.HashMap 28import java.util.HashMap
27import java.util.List 29import java.util.List
28import java.util.Map 30import java.util.Map
31import java.util.Set
29 32
30import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 33import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
34import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.impl.TypeDefinitionImpl
31 35
32class VampireModelInterpretation implements LogicModelInterpretation { 36class VampireModelInterpretation implements LogicModelInterpretation {
33 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE 37 protected val extension LogiclanguageFactory factory = LogiclanguageFactory.eINSTANCE
34 38
35 protected val Logic2VampireLanguageMapperTrace forwardTrace; 39 protected val Logic2VampireLanguageMapperTrace forwardTrace;
36 40
41 //These three maps capture all the information found in the Vampire output
37 private val Map<String, DefinedElement> name2DefinedElement = new HashMap 42 private val Map<String, DefinedElement> name2DefinedElement = new HashMap
38 private val Map<TypeDeclaration, List<DefinedElement>> type2DefinedElement = new HashMap 43 private val Map<TypeDeclaration, List<DefinedElement>> type2DefinedElement = new HashMap
39 44 private val Map<RelationDeclaration, List<String[]>> rel2Inst = new HashMap
40 var num = -1 45 //end
41 46
42 public new(VampireModel model, Logic2VampireLanguageMapperTrace trace) { 47 public new(VampireModel model, Logic2VampireLanguageMapperTrace trace) {
43 this.forwardTrace = trace 48 this.forwardTrace = trace
@@ -74,6 +79,7 @@ class VampireModelInterpretation implements LogicModelInterpretation {
74 // Fill keys of map 79 // Fill keys of map
75 val allTypeDecls = trace.type2Predicate.keySet.filter[class == TypeDeclarationImpl] 80 val allTypeDecls = trace.type2Predicate.keySet.filter[class == TypeDeclarationImpl]
76 val allTypeFunctions = trace.predicate2Type 81 val allTypeFunctions = trace.predicate2Type
82 println(trace.type2Predicate.keySet.filter[class == TypeDefinitionImpl])
77 83
78 for (type : allTypeDecls) { 84 for (type : allTypeDecls) {
79 type2DefinedElement.put(type as TypeDeclaration, newArrayList) 85 type2DefinedElement.put(type as TypeDeclaration, newArrayList)
@@ -116,12 +122,56 @@ class VampireModelInterpretation implements LogicModelInterpretation {
116 } 122 }
117 } 123 }
118 } 124 }
119 125
120 printMap() 126 printMap()
127
128 // 3. get relations
129 // Fill keys of map
130 val allRelDecls = trace.rel2Predicate.keySet.filter[class == RelationDeclarationImpl]
131 val allRelFunctions = trace.predicate2Relation
132
133 for (rel : allRelDecls) {
134 rel2Inst.put(rel as RelationDeclaration, newArrayList)
135 }
136
137 // USE THE DECLARE_<RELATION_NAME> FORMULAS TO SEE WHAT THE RELATIONS ARE
138 val relFormulas = model.tfformulas.filter[name.length > 12 && name.substring(0, 12) == "predicate_r_"]
139
140 for (formula : relFormulas) {
141 // get associated type
142 val associatedRelName = (formula as VLSTffFormula).name.substring(10)
143 val associatedRelFunction = allRelFunctions.keySet.filter[constant == associatedRelName].
144 get(0) as VLSFunction
145 val associatedRel = associatedRelFunction.lookup(allRelFunctions) as RelationDeclaration
146
147 // get definedElements
148 var andFormulaTerm = formula.fofFormula
149 end = false
150 val List<String[]> instances = newArrayList
151 while (!end) {
152 if (andFormulaTerm.class == VLSAndImpl) {
153 val andFormula = andFormulaTerm as VLSAnd
154 val andRight = andFormula.right
155 addRelIfNotNeg(andRight, instances)
156 andFormulaTerm = andFormula.left
157 } else {
158 addRelIfNotNeg(andFormulaTerm as VLSTerm, instances)
159 end = true
160 }
161
162 }
163 for (elem : instances) {
164 associatedRel.lookup(rel2Inst).add(elem)
165 }
166
167 }
168
169// printMap2()
121 170
122 } 171 }
123 172
124 def printMap() { 173 def printMap() {
174 println("------------------")
125 for (key : type2DefinedElement.keySet) { 175 for (key : type2DefinedElement.keySet) {
126 println(key.name + "==>") 176 println(key.name + "==>")
127 for (elem : key.lookup(type2DefinedElement)) { 177 for (elem : key.lookup(type2DefinedElement)) {
@@ -132,6 +182,19 @@ class VampireModelInterpretation implements LogicModelInterpretation {
132 } 182 }
133 println() 183 println()
134 } 184 }
185
186 def printMap2() {
187 println("------------------")
188 for (key : rel2Inst.keySet) {
189 println(key.name + "==>")
190 for (elem : key.lookup(rel2Inst)) {
191 print("[" + elem.get(0) + "-" + elem.get(1) + "], ")
192 }
193 println()
194
195 }
196 println()
197 }
135 198
136 def private addIfNotNeg(VLSTerm term, List<DefinedElement> list) { 199 def private addIfNotNeg(VLSTerm term, List<DefinedElement> list) {
137 if (term.class != VLSUnaryNegationImpl) { 200 if (term.class != VLSUnaryNegationImpl) {
@@ -140,6 +203,15 @@ class VampireModelInterpretation implements LogicModelInterpretation {
140 list.add(defnElem) 203 list.add(defnElem)
141 } 204 }
142 } 205 }
206
207 def private addRelIfNotNeg(VLSTerm term, List<String[]> list) {
208 if (term.class != VLSUnaryNegationImpl) {
209 val nodeName1 = ((term as VLSFunction).terms.get(0) as VLSFunctionAsTerm).functor
210 val nodeName2 = ((term as VLSFunction).terms.get(1) as VLSFunctionAsTerm).functor
211 val strArr = newArrayList(nodeName1, nodeName2)
212 list.add(strArr)
213 }
214 }
143 215
144 def private add2ConstDefMap(VLSEquality eq) { 216 def private add2ConstDefMap(VLSEquality eq) {
145 val defElemConst = (eq.right as VLSConstant) 217 val defElemConst = (eq.right as VLSConstant)
@@ -160,7 +232,15 @@ class VampireModelInterpretation implements LogicModelInterpretation {
160 } 232 }
161 233
162 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) { 234 override getInterpretation(RelationDeclaration relation, Object[] parameterSubstitution) {
163 throw new UnsupportedOperationException("TODO: auto-generated method stub") 235 val node1 = (parameterSubstitution.get(0) as DefinedElement).name
236 val node2 = (parameterSubstitution.get(1) as DefinedElement).name
237 val realRelations = relation.lookup(rel2Inst)
238 for (real : realRelations){
239 if(real.contains(node1) && real.contains(node2)){
240 return true
241 }
242 }
243 return false
164 } 244 }
165 245
166 override getInterpretation(ConstantDeclaration constant) { 246 override getInterpretation(ConstantDeclaration constant) {
@@ -180,3 +260,26 @@ class VampireModelInterpretation implements LogicModelInterpretation {
180 } 260 }
181 261
182} 262}
263
264/**
265 * Helper class for efficiently matching parameter substitutions for functions and relations.
266 */
267class ParameterSubstitution {
268 val Object[] data;
269
270 new(Object[] data) {
271 this.data = data
272 }
273
274 override equals(Object obj) {
275 if(obj === this) return true else if(obj == null) return false
276 if (obj instanceof ParameterSubstitution) {
277 return Arrays.equals(this.data, obj.data)
278 }
279 return false
280 }
281
282 override hashCode() {
283 Arrays.hashCode(data)
284 }
285}
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
index 499504af..a1d6f783 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireAnalyzerConfiguration.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
index 0fafa9e9..6ac0457b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/.VampireSolver.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
index 7174bfba..f5991439 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
index af66dabc..0d6c8b61 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapperTrace.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
index b9301875..659d4637 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ConstantMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
index 88c3e932..927327e1 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ContainmentMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
index e3437e53..d8fc0296 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_RelationMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
index 1a884261..bc3caa3b 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_ScopeMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
index 7e2aba1c..299c4e0c 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_Support.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
index 187a0447..da8c1d26 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Logic2VampireLanguageMapper_TypeMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
index ee115b16..adc3fff4 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.Vampire2LogicMapper.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
index 319f863c..2ab5b32f 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireHandler.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
index 3b6009bb..41af19ec 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
index d8329084..2b46d5c2 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/.VampireModelInterpretation_TypeInterpretation_FilteredTypes.xtendbin
Binary files differ
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
index 4537240e..4e77d45d 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapperTrace.java
@@ -53,6 +53,8 @@ public class Logic2VampireLanguageMapperTrace {
53 53
54 public Map<RelationDeclaration, VLSFunction> rel2Predicate = new HashMap<RelationDeclaration, VLSFunction>(); 54 public Map<RelationDeclaration, VLSFunction> rel2Predicate = new HashMap<RelationDeclaration, VLSFunction>();
55 55
56 public Map<VLSFunction, RelationDeclaration> predicate2Relation = new HashMap<VLSFunction, RelationDeclaration>();
57
56 public final Map<Variable, VLSVariable> relationVar2VLS = new HashMap<Variable, VLSVariable>(); 58 public final Map<Variable, VLSVariable> relationVar2VLS = new HashMap<Variable, VLSVariable>();
57 59
58 public final Map<Variable, VLSFunction> relationVar2TypeDec = new HashMap<Variable, VLSFunction>(); 60 public final Map<Variable, VLSFunction> relationVar2TypeDec = new HashMap<Variable, VLSFunction>();
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
index 8d36952b..143d3db5 100644
--- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
+++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/builder/Logic2VampireLanguageMapper_RelationMapper.java
@@ -94,6 +94,7 @@ public class Logic2VampireLanguageMapper_RelationMapper {
94 }; 94 };
95 final VLSFunction rel = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_3); 95 final VLSFunction rel = ObjectExtensions.<VLSFunction>operator_doubleArrow(_createVLSFunction, _function_3);
96 trace.rel2Predicate.put(r, rel); 96 trace.rel2Predicate.put(r, rel);
97 trace.predicate2Relation.put(rel, r);
97 it_2.setLeft(this.support.duplicate(rel)); 98 it_2.setLeft(this.support.duplicate(rel));
98 it_2.setRight(this.support.unfoldAnd(relVar2TypeDecComply)); 99 it_2.setRight(this.support.unfoldAnd(relVar2TypeDecComply));
99 }; 100 };
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend
index 4efbc821..1045189c 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend
@@ -2,7 +2,6 @@ package ca.mcgill.ecse.dslreasoner.vampire.icse
2 2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver 3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration 4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration
5import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation
6import functionalarchitecture.Function 5import functionalarchitecture.Function
7import functionalarchitecture.FunctionalArchitectureModel 6import functionalarchitecture.FunctionalArchitectureModel
8import functionalarchitecture.FunctionalInterface 7import functionalarchitecture.FunctionalInterface
@@ -16,18 +15,22 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
16import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore 15import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore
17import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic 16import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic 17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation
19import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
21import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
19import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 22import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
20import java.util.HashMap 23import java.util.HashMap
21import java.util.List
22import org.eclipse.emf.ecore.resource.Resource 24import org.eclipse.emf.ecore.resource.Resource
23import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 25import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
24 26
25class FAMTest { 27class FAMTest {
26 def static void main(String[] args) { 28 def static void main(String[] args) {
27 val Ecore2Logic ecore2Logic = new Ecore2Logic 29 val Ecore2Logic ecore2Logic = new Ecore2Logic
28 val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) 30 val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic)
29 val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) 31 val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic)
30 val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic 32 val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic
33 val InstanceModel2PartialInterpretation im2pi = new InstanceModel2PartialInterpretation
31 34
32 // Workspace setup 35 // Workspace setup
33 val inputs = new FileSystemWorkspace('''initialModels/''', "") 36 val inputs = new FileSystemWorkspace('''initialModels/''', "")
@@ -56,8 +59,8 @@ class FAMTest {
56 workspace.writeModel(problem, "Fam.logicproblem") 59 workspace.writeModel(problem, "Fam.logicproblem")
57 60
58 println("Problem created") 61 println("Problem created")
59 62
60 //Start Time 63 // Start Time
61 var startTime = System.currentTimeMillis 64 var startTime = System.currentTimeMillis
62 65
63 var VampireSolver reasoner 66 var VampireSolver reasoner
@@ -71,16 +74,16 @@ class FAMTest {
71// classMapMin.put(Function, 1) 74// classMapMin.put(Function, 1)
72// classMapMin.put(FunctionalInterface, 2) 75// classMapMin.put(FunctionalInterface, 2)
73 classMapMin.put(FunctionalOutput, 3) 76 classMapMin.put(FunctionalOutput, 3)
74 77
75 val typeMapMin = GeneralTest.getTypeMap(classMapMin, metamodel, ecore2Logic, modelGenerationProblem.trace) 78 val typeMapMin = GeneralTest.getTypeMap(classMapMin, metamodel, ecore2Logic, modelGenerationProblem.trace)
76 79
77 // Maximum Scope 80 // Maximum Scope
78 val classMapMax = new HashMap<Class, Integer> 81 val classMapMax = new HashMap<Class, Integer>
79 classMapMax.put(FunctionalArchitectureModel, 3) 82 classMapMax.put(FunctionalArchitectureModel, 3)
80 classMapMax.put(Function, 5) 83 classMapMax.put(Function, 5)
81 classMapMax.put(FunctionalInterface, 3) 84 classMapMax.put(FunctionalInterface, 3)
82 classMapMax.put(FunctionalOutput, 4) 85 classMapMax.put(FunctionalOutput, 4)
83 86
84 val typeMapMax = GeneralTest.getTypeMap(classMapMax, metamodel, ecore2Logic, modelGenerationProblem.trace) 87 val typeMapMax = GeneralTest.getTypeMap(classMapMax, metamodel, ecore2Logic, modelGenerationProblem.trace)
85 88
86 // Define Config File 89 // Define Config File
@@ -88,27 +91,43 @@ class FAMTest {
88 // add configuration things, in config file first 91 // add configuration things, in config file first
89 it.documentationLevel = DocumentationLevel::FULL 92 it.documentationLevel = DocumentationLevel::FULL
90 93
91 it.typeScopes.minNewElements = 24 94 it.typeScopes.minNewElements = 4//24
92 it.typeScopes.maxNewElements = 25 95 it.typeScopes.maxNewElements = 5//25
93 if(typeMapMin.size != 0) it.typeScopes.minNewElementsByType = typeMapMin 96// if(typeMapMin.size != 0) it.typeScopes.minNewElementsByType = typeMapMin
94 if(typeMapMin.size != 0) it.typeScopes.maxNewElementsByType = typeMapMax 97// if(typeMapMin.size != 0) it.typeScopes.maxNewElementsByType = typeMapMax
95 it.contCycleLevel = 5 98 it.contCycleLevel = 5
96 it.uniquenessDuplicates = false 99 it.uniquenessDuplicates = false
97 ] 100 ]
98 101
99 var LogicResult solution = reasoner.solve(problem, vampireConfig, workspace) 102 var LogicResult solution = reasoner.solve(problem, vampireConfig, workspace)
100
101 //visualisation, see
102 var interpretations = reasoner.getInterpretations(solution as ModelResult)
103 interpretations.get(0) as VampireModelInterpretation
104 println(ecore2Logic.allAttributesInScope(modelGenerationProblem.trace))
105
106// for(interpretation : interpretations) {
107// val model = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace)
108// //look here: hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor
109// }
110 //transform interpretation to ecore, and it is easy from there
111 103
104 // visualisation, see
105 var interpretations = reasoner.getInterpretations(solution as ModelResult)
106// interpretations.get(0) as VampireModelInterpretation
107// println(ecore2Logic.IsAttributeValue(modelGenerationProblem.trace, )
108// Literal(modelGenerationProblem.trace, ecore2Logic.allLiteralsInScope(modelGenerationProblem.trace).get(0) )
109// )
110// println((ecore2Logic.allAttributesInScope(modelGenerationProblem.trace)).get(0).EAttributeType)
111 for (interpretation : interpretations) {
112 val model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.trace)
113 workspace.writeModel(model, "model.xmi")
114
115 val representation = im2pi.transform(modelGenerationProblem, model.eAllContents.toList, false)//solution.representation.get(0) // TODO: fix for multiple represenations
116 if (representation instanceof PartialInterpretation) {
117 val vis1 = new PartialInterpretation2Gml
118 val gml = vis1.transform(representation)
119 workspace.writeText("model.gml", gml)
120
121 val vis2 = new GraphvizVisualiser
122 val dot = vis2.visualiseConcretization(representation)
123 dot.writeToFile(workspace, "model.png")
124 } else {
125 println("ERROR")
126 }
127// look here: hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor
128 }
129
130// transform interpretation to ecore, and it is easy from there
112 /*/ 131 /*/
113 * 132 *
114 * reasoner = new AlloySolver 133 * reasoner = new AlloySolver
@@ -121,8 +140,7 @@ class FAMTest {
121 * ] 140 * ]
122 * solution = reasoner.solve(problem, alloyConfig, workspace) 141 * solution = reasoner.solve(problem, alloyConfig, workspace)
123 //*/ 142 //*/
124 // ///////////////////////////////////////////////////// 143// /////////////////////////////////////////////////////
125
126 var totalTimeMin = (System.currentTimeMillis - startTime) / 60000 144 var totalTimeMin = (System.currentTimeMillis - startTime) / 60000
127 var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60 145 var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60
128 146
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin
index 9033512f..771e1d1a 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin
index 18295021..ad844992 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin
index eb8d5506..7dcb4392 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin
index 1023ad44..dc040005 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin
index c996fa4f..2bb8be0d 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
index 71f522de..8ef096d9 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java
@@ -21,18 +21,23 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
21import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore; 21import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore;
22import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic; 22import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic;
23import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic; 23import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic;
24import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation;
25import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
26import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml;
27import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation;
28import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser;
24import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; 29import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
25import java.util.HashMap; 30import java.util.HashMap;
26import java.util.List; 31import java.util.List;
27import java.util.Map; 32import java.util.Map;
28import org.eclipse.emf.common.util.EList; 33import org.eclipse.emf.common.util.EList;
29import org.eclipse.emf.ecore.EAttribute;
30import org.eclipse.emf.ecore.EObject; 34import org.eclipse.emf.ecore.EObject;
31import org.eclipse.emf.ecore.resource.Resource; 35import org.eclipse.emf.ecore.resource.Resource;
32import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; 36import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
33import org.eclipse.xtend2.lib.StringConcatenation; 37import org.eclipse.xtend2.lib.StringConcatenation;
34import org.eclipse.xtext.xbase.lib.Exceptions; 38import org.eclipse.xtext.xbase.lib.Exceptions;
35import org.eclipse.xtext.xbase.lib.InputOutput; 39import org.eclipse.xtext.xbase.lib.InputOutput;
40import org.eclipse.xtext.xbase.lib.IteratorExtensions;
36import org.eclipse.xtext.xbase.lib.ObjectExtensions; 41import org.eclipse.xtext.xbase.lib.ObjectExtensions;
37import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; 42import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
38 43
@@ -44,6 +49,7 @@ public class FAMTest {
44 final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic); 49 final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic);
45 final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic); 50 final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic);
46 final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic(); 51 final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic();
52 final InstanceModel2PartialInterpretation im2pi = new InstanceModel2PartialInterpretation();
47 StringConcatenation _builder = new StringConcatenation(); 53 StringConcatenation _builder = new StringConcatenation();
48 _builder.append("initialModels/"); 54 _builder.append("initialModels/");
49 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), ""); 55 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), "");
@@ -82,26 +88,31 @@ public class FAMTest {
82 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration(); 88 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration();
83 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> { 89 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> {
84 it.documentationLevel = DocumentationLevel.FULL; 90 it.documentationLevel = DocumentationLevel.FULL;
85 it.typeScopes.minNewElements = 24; 91 it.typeScopes.minNewElements = 4;
86 it.typeScopes.maxNewElements = 25; 92 it.typeScopes.maxNewElements = 5;
87 int _size = typeMapMin.size();
88 boolean _notEquals = (_size != 0);
89 if (_notEquals) {
90 it.typeScopes.minNewElementsByType = typeMapMin;
91 }
92 int _size_1 = typeMapMin.size();
93 boolean _notEquals_1 = (_size_1 != 0);
94 if (_notEquals_1) {
95 it.typeScopes.maxNewElementsByType = typeMapMax;
96 }
97 it.contCycleLevel = 5; 93 it.contCycleLevel = 5;
98 it.uniquenessDuplicates = false; 94 it.uniquenessDuplicates = false;
99 }; 95 };
100 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function); 96 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function);
101 LogicResult solution = reasoner.solve(problem, vampireConfig, workspace); 97 LogicResult solution = reasoner.solve(problem, vampireConfig, workspace);
102 List<? extends LogicModelInterpretation> interpretations = reasoner.getInterpretations(((ModelResult) solution)); 98 List<? extends LogicModelInterpretation> interpretations = reasoner.getInterpretations(((ModelResult) solution));
103 interpretations.get(0); 99 for (final LogicModelInterpretation interpretation : interpretations) {
104 InputOutput.<Iterable<EAttribute>>println(ecore2Logic.allAttributesInScope(modelGenerationProblem.getTrace())); 100 {
101 final EObject model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.getTrace());
102 workspace.writeModel(model, "model.xmi");
103 final PartialInterpretation representation = im2pi.transform(modelGenerationProblem, IteratorExtensions.<EObject>toList(model.eAllContents()), false);
104 if ((representation instanceof PartialInterpretation)) {
105 final PartialInterpretation2Gml vis1 = new PartialInterpretation2Gml();
106 final String gml = vis1.transform(representation);
107 workspace.writeText("model.gml", gml);
108 final GraphvizVisualiser vis2 = new GraphvizVisualiser();
109 final PartialInterpretationVisualisation dot = vis2.visualiseConcretization(representation);
110 dot.writeToFile(workspace, "model.png");
111 } else {
112 InputOutput.<String>println("ERROR");
113 }
114 }
115 }
105 long _currentTimeMillis = System.currentTimeMillis(); 116 long _currentTimeMillis = System.currentTimeMillis();
106 long _minus = (_currentTimeMillis - startTime); 117 long _minus = (_currentTimeMillis - startTime);
107 long totalTimeMin = (_minus / 60000); 118 long totalTimeMin = (_minus / 60000);
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin
index 796f7103..7ab6b54b 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin
index a2cecacf..f7c267ec 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin
Binary files differ
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin
index c1a25e40..e91e816f 100644
--- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin
Binary files differ