The integer model [26] is similar to the counter. However, it allows the user to directly set its value to an arbitrary number. It also has an upper bound and a lower bound. At any time during a simulation, any number between the lower bound (inclusively) and the upper bound (exclusively) are accepted as an event. The value of the cell is set accordingly.
The integer model is saved in Integer.des in the DataTypes/ subdirectory of SVM.
When initiated, the model nests deep enough so that the transitions at the first level are duplicated (with only the event names changed) 10 times. When the innermost STABLE state is reached, events of all those states are accepted. For the get event to return the current value from the deepest RIGHT state, the transitions in this model must be inner-first ordered.
Having nested deep enough ([MIN]>[MAX]) and the model is being initialized ([FIRST]=1), the state changes to TEMP - a dummy state, and at the same time event [INIT] is broadcast. The cell immediately changes to the initial value. Whenever the first RIGHT state is entered, the model is no longer being initialized and is able to accept events from the user (possibly input from the SVM graphical interface). The [FIRST] is then set to 0.
When an event between 0 (the [MIN] value) and 9 (the [MAX] value minus 1) is received, the state in the appropriate level changes to RIGHT. If it is already in RIGHT, a self-loop is triggered. The self-loop eliminates the RIGHT states at all the lower levels, so it becomes the deepest RIGHT state.