Refactoring in Alloy

88 views Asked by At

I have an Alloy model with this relation in it:

sig myint {nextX: (myint -> myint -> myint) -> myint, nextT: (myint -> myint -> myint) -> myint}

and I get the following error message:

Translation capacity exceeded. In this scope, universe contains 84 atoms and relations of arity 5 cannot be represented. Visit http://alloy.mit.edu/ for advice on refactoring.

I am wondering how the number of atoms is related to the supported relation arity, and how I could resolve this problem.

I would really appreciate your help. Thanks a lot. Fathiyeh

1

There are 1 answers

0
Aleksandar Milicevic On

This StackOverflow post answers why the number of atoms is related to max relation arity. (in your case, 845 (4182119424) is greater than Integer.MAX_VALUE (2147483647))

For some ideas on refactoring, see this.