public final synchronized void sysbegin() { boolean sysbegin = false; boolean sysend = false; boolean open = false; boolean write = false; boolean close = false; sysbegin = true; Person[] persons = new Person[2]; stack.push(persons); boolean[] temp_beta = new boolean[2]; for (int i = 0; i < 2; i++) { temp_beta[i] = beta[i]; } beta = temp_beta; beta[0] = open || !close && beta[0]; beta[1] = sysbegin || !open && beta[1]; alpha[0] = alpha[0] || sysend && !beta[1] && beta[0]; condition = !alpha[0]; MOP_violation = !condition; }