From 6a6796604adb97db94ba699dc2b2e0fd5efdc9ac Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Fri, 8 May 2020 16:11:49 -0400 Subject: Adjust FamilyTree Case Study --- .../src/queries/familyTreeConstraints.vql | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql') diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql index a204443a..e7b44f0b 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql @@ -9,25 +9,25 @@ pattern memberIsItsOwnParent(m: Member) = { m == p; } -@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2}) -pattern twoMembersHaveNoParent(m1:Member, m2:Member) = { - neg find memberHasParent(m1); - neg find memberHasParent(m2); - m1 != m2; -} - -pattern memberHasParent(m: Member) = { - Member.parents(m, _); -} - -@Constraint(message="parentTooYoung", severity="error", key={m, p}) -pattern parentTooYoung(m: Member, p: Member) = { - FamilyTree.members(_, m); - Member.parents(m, p); - Member.age(m, mAge); - Member.age(p, pAge); - check (mAge <= (pAge + 12)); -} +//@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2}) +//pattern twoMembersHaveNoParent(m1:Member, m2:Member) = { +// neg find memberHasParent(m1); +// neg find memberHasParent(m2); +// m1 != m2; +//} +// +//pattern memberHasParent(m: Member) = { +// Member.parents(m, _); +//} +// +//@Constraint(message="parentTooYoung", severity="error", key={m, p}) +//pattern parentTooYoung(m: Member, p: Member) = { +// FamilyTree.members(_, m); +// Member.parents(m, p); +// Member.age(m, mAge); +// Member.age(p, pAge); +// check (mAge <= (pAge + 12)); +//} -- cgit v1.2.3-70-g09d2 From e5d448449924133188a58de977505985cd17c078 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Sat, 9 May 2020 20:18:12 +0200 Subject: case study fix --- .../inputs/familytree.ecore | 2 +- .../inputs/familytreeGen.vsconfig | 4 +- .../src/queries/familyTreeConstraints.vql | 44 ++++++++++++---------- 3 files changed, 28 insertions(+), 22 deletions(-) (limited to 'Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql') diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytree.ecore b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytree.ecore index f2e51f65..128e5c63 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytree.ecore +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytree.ecore @@ -7,7 +7,7 @@ - diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytreeGen.vsconfig b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytreeGen.vsconfig index 140523bf..bf0f9dbe 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytreeGen.vsconfig +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/inputs/familytreeGen.vsconfig @@ -6,8 +6,8 @@ generate { constraints = { package queries} solver = ViatraSolver scope = { - #node = 6, - #int = {1,2,3,4,5} + #node = 6..15, + #int = {} } config = { diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql index e7b44f0b..fdbac640 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/src/queries/familyTreeConstraints.vql @@ -9,25 +9,31 @@ pattern memberIsItsOwnParent(m: Member) = { m == p; } -//@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2}) -//pattern twoMembersHaveNoParent(m1:Member, m2:Member) = { -// neg find memberHasParent(m1); -// neg find memberHasParent(m2); -// m1 != m2; -//} -// -//pattern memberHasParent(m: Member) = { -// Member.parents(m, _); -//} -// -//@Constraint(message="parentTooYoung", severity="error", key={m, p}) -//pattern parentTooYoung(m: Member, p: Member) = { -// FamilyTree.members(_, m); -// Member.parents(m, p); -// Member.age(m, mAge); -// Member.age(p, pAge); -// check (mAge <= (pAge + 12)); -//} +@Constraint(message="twoMembersHaveNoParent", severity="error", key={m1, m2}) +pattern twoMembersHaveNoParent(m1:Member, m2:Member) = { + neg find memberHasParent(m1); + neg find memberHasParent(m2); + m1 != m2; +} + +pattern memberHasParent(m: Member) = { + Member.parents(m, _); +} + +@Constraint(message="negativeAge", severity="error",key={m}) +pattern negativeAge(m: Member) { + Member.age(m,mage); + check(mage<0); +} + +@Constraint(message="parentTooYoung", severity="error", key={c, p}) +pattern parentTooYoung(c: Member, p: Member) = { + FamilyTree.members(_, c); + Member.parents(c, p); + Member.age(c, cAge); + Member.age(p, pAge); + check (pAge <= (cAge + 12)); +} -- cgit v1.2.3-70-g09d2