aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Oszkar Semerath <semerath@mit.bme.hu>2019-09-02 16:24:14 +0200
committerLibravatar Oszkar Semerath <semerath@mit.bme.hu>2019-09-02 16:24:14 +0200
commit5a565f185949b4a43045492b539ce59682a8190d (patch)
treec105ed0b1e839224b7cc7864aae4e06bd4d9a138
parentType Interpretation for Alloy with Inheritance+Horizontal mapping (diff)
downloadVIATRA-Generator-5a565f185949b4a43045492b539ce59682a8190d.tar.gz
VIATRA-Generator-5a565f185949b4a43045492b539ce59682a8190d.tar.zst
VIATRA-Generator-5a565f185949b4a43045492b539ce59682a8190d.zip
Alloy upper multiplicity under-approximation with keyword bug fix
candidate 1
-rw-r--r--Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend11
1 files changed, 5 insertions, 6 deletions
diff --git a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
index 3fc3971d..e1ffe531 100644
--- a/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
+++ b/Solvers/Alloy-Solver/hu.bme.mit.inf.dlsreasoner.alloy.reasoner/src/hu/bme/mit/inf/dlsreasoner/alloy/reasoner/builder/Logic2AlloyLanguageMapper.xtend
@@ -194,13 +194,12 @@ class Logic2AlloyLanguageMapper {
194 val relation = relationMapper.getRelationReference((x as RelationDeclaration),trace) 194 val relation = relationMapper.getRelationReference((x as RelationDeclaration),trace)
195 val type = relation.type 195 val type = relation.type
196 196
197 if(type instanceof ALSDirectProduct) {
198 type.rightMultiplicit = type.rightMultiplicit.addUpper
199 } else {
200 relation.multiplicity = relation.multiplicity.addUpper
201 }
202
203 if(assertion.upper === 1) { 197 if(assertion.upper === 1) {
198 if(type instanceof ALSDirectProduct) {
199 type.rightMultiplicit = type.rightMultiplicit.addUpper
200 } else {
201 relation.multiplicity = relation.multiplicity.addUpper
202 }
204 return true 203 return true
205 } else { 204 } else {
206 return transformAssertion(assertion.target,trace) 205 return transformAssertion(assertion.target,trace)