[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re:
- From: par...@xxxxxxxxx
- Date: Fri, 9 Feb 2018 18:29:20 -0800 (PST)
- References: <CAEvOcX+2q4xeES7qy4ewcj4eon-G5EstDfF=hvz3X5Z3kg8xaA@mail.gmail.com>
If you enable Deadlock checking, you'll see that the system deadlocks after a `CRequest` has taken place.
For a `CReply` to take place, this enabling condition must be true:
/\ status[tasks[c].agent] \in {"ok", "error"}
Looking at where you set to values for `status`, it happens in `assignAgents`
The problem is in your first enabling condition in that action. You have:
/\ \A c \in Clients: LET a == tasks[c].agent
But I think you meant that to be `\E c \in Clients: ...`
When I changed it to use \E instead of \A, the model checker performed "as expected".
I hope this helps!
Jay P.