当我运行我的示例时,我有以下类型错误:
Translation capacity exceeded.
In this scope, universe contains 21 atoms
and relations of arity 8 cannot be represented.
Visit http://alloy.mit.edu/ for advice on refactoring.
是否有任何文件如何解决,我在书中没有找到任何内容。
感谢。
答案 0 :(得分:3)
您可以在本文第5节中找到解释
http://people.csail.mit.edu/aleks/website/papers/icse11-squander.pdf
以下是它的引用
为了表示arity k 的关系 r ,Kodkod会分配一个矩阵 size n k ,其中 n 是宇宙中的原子数。对于 性能原因,Kodkod使用索引的单个顺序数组 一个Java整数,因此矩阵的大小仅限于 Java中最大的整数值(Integer.MAX_VALUE)。
在您的情况下,21 8 (37822859361)大于Integer.MAX_VALUE(2 31 -1 = 2147483647)。