有人能告诉我如何使用Alloy中的函数输出二元关系吗? 例如,学生与教师联系,学生也与课程相关联。 我如何将学生作为输入,然后输出教师和课程之间的二元关系?
答案 0 :(得分:4)
这样的东西?
sig Course {}
sig Teacher {}
sig Student {
teacher: one Teacher,
course: some Course
}
fun binrel [s: Student]: Teacher -> Course {
s.teacher -> s.course
}
run {
some s: Student | (#binrel[s] > 2)
}
从函数返回二元关系没有特殊规则。我假设您的问题更多是关于关系产品运算符(->
),在这种情况下您需要使用它来构造来自两个标量(或两个一元关系)的二元关系