【问题标题】:Can Alloy generate instances of unconstrained relations?Alloy 可以生成无约束关系的实例吗?
【发布时间】:2016-11-08 23:12:29
【问题描述】:

以下模型包含一个“运行”命令,该命令指示合金分析器生成关系 to.address 的一个实例,其中关系被限制为一个元组。

sig Message {
    to: Name
}

sig Name {
    address: Address
}

sig Address {}  

run {one to.address}

但我不想限制to.address 关系。我想简单地写这个:

run {to.address}

Hey Alloy Analyzer,生成关系实例 to.address

执行该运行命令会导致此错误消息:{to.address} must be a formula.

有没有办法指示合金分析器生成关系to.address 的实例而不指定关系的约束?如果没有,为什么不呢?

【问题讨论】:

    标签: alloy


    【解决方案1】:

    我认为您误解了可视化工具的作用。 Alloy 的每次执行都会生成一个绑定所有关系的实例。 run 命令的主体是一个约束,它决定了哪些实例是有效的;它对显示哪些关系没有影响。为了做你想做的事,你可以编写一个命名关系的约束(例如,使用存在量词)。或者,如果您想查看特定表达式的值,只需将其输入到求值器中即可。

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多