如何使用Alloy API迭代解决方案?

时间:2014-12-01 11:21:11

标签: alloy

我正在使用Alloy使用其API,如Alloy - Generate .xml instance from .als中所述。

我想迭代所有解决方案。

怎么做?

1 个答案:

答案 0 :(得分:4)

为了迭代所有可满足的解决方案,您可以简单地遍历A4Solution对象上next()方法的调用,直到获得的解决方案不可满足为止(使用satisfiable()方法检查)。

你会有类似的东西:

A4Solution mySolution = TranslateAlloyToKodkod.execute_command(null, model.getAllReachableSigs(), cmd, new A4Options());

while(mySolution.satisfiable()){
    mySolution=mySolution.next();
    //...
}