// ------------------------------------------------------------
// The exit protocol is simple: all we have to do is to
// increase served_ticket so that the next customer will
// be served.
// ------------------------------------------------------------

package Communication.MutexProtocols.Ticket;

// number of processes
macro NumProc = 4;

module ExitProtocol(int{NumProc()} served_ticket, bool !done) {
   next(served_ticket) = served_ticket+1;
   done = true;
   next(done) = false;
}