我在Alloy中编写了以下代码 . 我想知道为什么它找不到实例,因为代码中根本没有事实 .
abstract sig TaskStatus {}
one sig Completed extends TaskStatus {}
one sig Waiting extends TaskStatus {}
one sig OnGoing extends TaskStatus {}
sig Capability {}
sig Task {
status: one TaskStatus,
precondition: set Task,
capability: one Capability
}
sig Agent {
tasks: set Task,
capabilities: set Capability
}
sig ToDoList {
tasks: set Task
}
pred show {
some Capability
some Agent
some ToDoList
#Task > 3
}
run show
1 回答
您未在
run
命令中指定范围范围默认为3(意思是,宇宙包含每个信号的3个原子)
#Task > 3
在该范围内不可满足如果运行原始模型,将详细程度设置为“中等”,则应在右侧的控制台窗口中看到类似的内容
确认
Task
的范围确实默认设置为3 .要解决此问题,请指定更大的范围,例如,