Question

When I run my example i have the following type error :

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.

Is there any documentation how to solve it, I didn't found anything in the book.

Thanks.

Was it helpful?

Solution

You can find the explanation in Section 5 in this paper

http://people.csail.mit.edu/aleks/website/papers/icse11-squander.pdf

Here is a quote from it

To represent a relation r of arity k, Kodkod allocates a matrix of size nk, where n is the number of atoms in the universe. For performance reasons, Kodkod uses a single sequential array indexed by a Java integer, and so the size of the matrix is limited to the largest integer values in Java (Integer.MAX_VALUE).

In your case, 218 (37822859361) is greater than Integer.MAX_VALUE (231-1 = 2147483647).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top