From b3c1c5b30ae8ea7ebad391c9250b4509d5a4cc9b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 19 May 2020 21:18:06 +0200 Subject: Config language WIP --- .../bin/queries/familyTreeConstraints.vql | 44 ++++++++++++---------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql') diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql index e7b44f0b..fdbac640 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/queries/familyTreeConstraints.vql +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.run/bin/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-54-g00ecf