a small exampleDuring the simulation, I find that if one state is in urgent location, the other state is about to reach urgent location, and it will deadlock. And I want to verify the upper and lower bounds of time, so I must set urgent location if there is not time. How can I solve this situation?
c?synchronization.t>=3(and cannot supplyc!to #2) becauseP2.t==0, moreover clockP2.tcannot progress because the time is stopped by #1.t>=2, whereP3.t in [0,1], moreoverP3.tcannot progress because #1 is blocking.The deadlock is due to a 1-3 dependency cycle -- you have to break one of these dependencies in order to resolve the deadlock.