【发布时间】:2018-05-27 22:15:20
【问题描述】:
下面是两个桌面的合金表示。在fact 中,我指定第一个桌面包含两个图标,A 和 B,第二个桌面包含一个图标,A。我想指定正好有两个桌面,所以我把它放在事实中:
#Desktop = 2
当我执行run 命令时,我收到了这条消息:No instance found。当我从fact 中省略它,而是在run 命令中指定桌面数量时:
run {} but 2 Desktop
然后生成了所需的实例。为什么?为什么我在fact 中限制桌面数量时不起作用,但在run 命令中限制桌面数量时却起作用?
open util/ordering[Desktop]
sig Desktop {
icons: set Icon
}
abstract sig Icon {}
one sig A extends Icon {}
one sig B extends Icon {}
fact {
first.icons = A + B
first.next.icons = A
}
【问题讨论】:
标签: alloy