# Signature
atomic ctrl BS = 1;
atomic ctrl BS_F = 1;
atomic ctrl BS_S = 1;
atomic ctrl S = 1;
atomic ctrl S_F = 1;
atomic ctrl S_S = 1;

float w_f = 1.;
float w_s = 4.;

# Initial state
big g0 = /x (BS{x} | S{x});

# Actions

action send
  react send_fail =
    g0 -[ w_f ]-> /x (BS_F{x} | S_F{x});

  react send_suc =
    g0 -[ w_s ]-> /x (BS_S{x} | S_S{x});
end

action wait
  react wait = g0 -[ 1 ]-> g0;
end

action reset
  react reset =
    /x (BS_F{x} | S_F{x}) -[ 1 ]-> g0;
end

# System
begin nbrs
  init g0;
  rules = [ { send_fail, send_suc, wait, reset } ];
end