我正在创建iCalendar数据格式的Alloy模型。
iCalendar文件包含属性。这些属性之间存在很多相关性。我想看看在删除属性时是否有任何中断(即,当属性被限制为零次出现时)。
我想编写一个断言并让Alloy Analyzer搜索反例,但我正在努力编写断言。我希望断言能说出这样的话:
如果删除了属性X(即,属性X被约束为零 发生),没有任何实例因无效而无效 删除X。
在伪代码中,我想要这个:
assert NoProblemFilteringX {
(no prop: X | prop in iCalendar.properties) => all instances are still valid
}
请问您在制定所需的断言方面提供一些指导吗?
答案 0 :(得分:2)
建议:
将参数检查写入谓词中,作为参数a 一组属性。如果在参数中给出的属性中满足相关性,则谓词保持不变。
重写确保这些代码的事实,以便使用所有iCalendar属性的集合作为参数调用此谓词。
在断言中调用此谓词,而此时将iCalendar.properties - X
作为参数