  A deadlock in a packet switching network is a state in which one or more
messages have not yet reached their target, yet cannot progress any further. We
formalize three different notions of deadlock in the context of packet
switching networks, to which we refer as global, local and weak deadlock. We
establish the precise relations between these notions, and prove they
characterize different sets of deadlocks. Moreover, we implement checking of
deadlock freedom of packet switching networks using the symbolic model checker
nuXmv. We show experimentally that the implementation is effective at finding
subtle deadlock situations in packet switching networks.
