如何在Alloy中表示一对一的关系?

时间:2015-10-22 16:58:53

标签: alloy

假设我有 sig A {} sig B {e:A} 我想在A和B之间表示1-1映射,因此对于每个B,只有一个A对应于:

{all b:B | one a : A | b.e = a}

是否有其他方法可以做到这一点,例如使用多重性?

1 个答案:

答案 0 :(得分:2)

您可以编写以确保每个B与一个A:

完全相关
 sig B{
   e: one A
 }

修改

为确保每个A与一个B完全相关,您可以将签名事实添加到A的签名声明中。

sig A{
}{
    one this.~e
}