Making your own SUT

We employ the UPPAAL GUI to specify SUTs. However, the syntax we use is slightly different from the syntax defined by the UPPAAL developers. We support modelling of locations and transitions, where
  • the name of every input event has to start with an 'I'. Similarly, every output event has to start with an 'O'. We do not allow synchronizations. So, every event name does not need to end with a '?' or '!', but with a list of parameter values in parentheses, or empty parentheses in case of no parameters, 
  • every transition can have a guard. We allow tests for equality (==) or inequality (!=) of parameter values, where different tests can be concatenated via '&&' or '||'. At the moment we only allow comparison of Integer values, and
  • every transition can have zero or more update statements to update the state variables, e.g. by storing parameter values. Every statement has to end with a semicolon.
Currently, Tomte can learn SUTs that may only remember the last and first occurrence of a parameter. We are not able yet to learn timed systems. Figure 2 shows an example model of the alternating bit protocol receiver that conforms to our syntax.

Example model of the alternating bit protocol receiver
Figure 2: Example model of the alternating bit protocol receiver

In addition to modelling the system, we require a number of declarations (added in the 'Declarations' section in UPPAAL), which are
  • the constants that appear in the system,
  • an enumeration of all state variables in the system, and
  • an enumeration of all events in the system.
For the alternating bit protocol receiver model shown above, the declarations are as follows:

constants = 0,1;

int vd;
int vb;
int expectedBit = 0;

void IFrame(int d, int b) {

void IPleaseAck() {

void OOut(int vd) {

void OAck(int vb) {

void ONOK() {
Finally, copy your file to the subfolder 'models'.




  • Invited talk of Frits Vaandrager at TNO-ESI symposium, April 19, 2016, Eindhoven.
  • Paper on TCP accepted at CAV'16!!!
  • Two papers on model learning accepted at iFM
  • Invited talk of Frits Vaandrager at second Dutch national symposium on software engineering (SEN), January 21st 2016, Amsterdam.
  • New paper on use of log-based metrics to enhance automata learning!
  • New paper on industrial case study at Philips!
  • Our group gave two presentations at the Nederlandse Testdag, October 6, 2015, Eindhoven.
  • Our latest paper on Tomte 0.4 has been presented at ICTAC'15 in Colombia.
  • Our work on applying automata learning to embedded control software has been presented at ICFEM'15 in Paris.
  • On January 10, 2015, Frits Vaandrager appeared on Dutch National TV (EenVandaag) to tell about the scientific importance of Alan Turing, in connection with the movie "The Imitation Game".
  • On January 7, 2014, the 5th meeting of the ITALIA user committee took place in Nijmegen.
  • On October 27, 2014, Fides Aarts successfully defended her PhD thesis Tomte: Bridging the Gap between Active Learning and Real-World Systems
  • Two ITALIA papers were presented at the ISOLA'14
  • Tomte 0.3 released with its own new website
    Posted October 1, 2014
  • On September 12, 2014, Paul Fiterau and Frits Vaandrager presented a paper at FMICS'14 in which they show that both Windows and Linux violate the TCP standard.
  • Frits Vaandrager will present several lectures on automata learning at ESSCaSS 2013, August 18-22, Estonia.
  • Sicco Verwer received a Veni grant from STW.
  • Frits Vaandrager received a grant from NWO for research on automata learning.
  • Sicco Verwer and Frits Vaandrager received a grant from NWO to learn extended state machines for malware analysus.
  • Frits Vaandrager has presented a keynote lecture on automata learning at ICTSS'12, November 19-21, 2012, Aalborg, Denmark
  • The second ITALIA user committee meeting was held on November 15, at Chess eT International B.V., in Haarlem
  • Fides Aarts receives Frye Grant
    Posted October 9, 2012
  • On September 28, at 11.00am Wouter Smeenk will present his MSc thesis Applying Automata Learning to Complex Industrial Software in HG00.065. This work was carried out at Océ Research within the context of the ITALIA project.
    Posted September 24, 2012
  • Tomte 0.2 released
    Posted September 1, 2012
  • New Sut tool released
    To simulate an SUT from a state machine model.
    Posted September 1, 2012