以下模型包含一个“运行”命令,该命令指示Alloy Analyzer生成关系to.address
的实例,其中关系仅限于一个元组。
sig Message {
to: Name
}
sig Name {
address: Address
}
sig Address {}
run {one to.address}
但我不想约束to.address
关系。我想简单地写一下:
run {to.address}
嘿合金分析器,生成关系to.address
的实例
执行该运行命令会产生以下错误消息:{to.address} must be a formula.
有没有办法指示Alloy Analyzer生成关系to.address
的实例而不指定关系的约束?如果没有,为什么不呢?
答案 0 :(得分:1)
我认为您误解了可视化工具的功能。 Alloy的每次执行都会生成一个绑定所有关系的实例。 run命令的主体是一个约束,用于确定哪些实例有效;它对显示哪些关系没有影响。要做你想做的事,你可以写一个命名关系的约束(例如用一个存在量词)。或者,如果要查看特定表达式的值,可以将其键入评估程序。