【问题标题】:alloy analyzer didn't execute my run command exactly合金分析仪没有准确执行我的运行命令
【发布时间】:2019-05-23 09:55:45
【问题描述】:

我的代码是这样的:

但是当我执行这个时,它只显示一栋房子和一栋莫尔。 我该怎么办???

abstract one sig board{}
sig mohre {live:one  state }
sig house extends board{ver:one Int,hor:one Int,mo: mohre }
enum state{alive,dead}
run{#house>10 and #mohre>8}

【问题讨论】:

    标签: alloy


    【解决方案1】:

    您的run 没有指定范围。默认范围是每个 sig 的 3 个原子和 16 个整数 ([-8..7])。

    因此,如果 范围,基数为 10 的 US 不在。基本上这些模型都在拉拉地。如果您降低基数或增加范围,事情应该会起作用。

       run{#house>10 and #mohre>8} for 12 but 5 int
    

    这个命令允许 12 个所有类型的原子,并且有 32 个整数。奇怪的是,整数由它们的 位宽 指定,5 位给你 32 个值。

    此外,您对abstract sig one board 施加了约束。删除one,因为这会阻止解决方案包含多个房屋。

    【讨论】:

      猜你喜欢
      • 2014-12-07
      • 1970-01-01
      • 2019-06-03
      • 2020-05-27
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 2020-06-17
      相关资源
      最近更新 更多