我如何将一组实例传递给Alloy Analyzer的Evaluator中的函数或谓词?

问题描述 投票:0回答:1

BLUF:我有一个谓词,它以一个签名实例和同一签名实例集作为参数。在生成模型实例时,我想将签名实例传递给谓词,但是即使有可能,如何传递一组实例也无所适从。

Alloy的Evaluator似乎没有足够的文档,除非我错过了它。我有丹尼尔·杰克逊(Daniel Jackson)的书,做过教材,并且在网上找到了其他各种资源,但似乎没有人真正在谈论如何使用评估器。

我尝试过类似的符号:

myPred[instance$0,set(instance$1,instance$2)]

myPred[instance$0,set[instance$1,instance$2]]

myPred[instance$0,(instance$1,instance$2)]

myPred[instance$0,[instance$1,instance$2]]

评估人员不喜欢其中任何一个。是否可以传递一组实例?如果是这样,我该怎么办?感谢您的帮助!

alloy evaluator
1个回答
0
投票

因此,以我惯常的方式,几乎在我问了问题之后,我就意识到了答案(或者至少是一种做我想做的事情的方法)。我只是使用交集运算符“&”来传递集合。

myPred[instance$0, instance$1 & instance$2]

很抱歉给您带来不便,但这也许会对其他人有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.