Petri
nets with transits allow us to follow the precise flow of tokens. For
example, it is possible to exactly follow the flow of a packet in a
software-defined network. Flow-LTL is a corresponding logic for Petri
nets with transits and extends LTL. The logic has places and transitions
as atomic propositions and allows to specify both global and local
behavior. Run formulas for global behavior specify fairness and
maximality assumptions, e.g., that the network always forwards packets
eventually. Flow formulas for local behavior specify the flow of
transits, e.g., that packets are routed loop free.
AdamMC
provides three modules: First, the general model checking problem of
Petri nets with transits against Flow-LTL is solved. Second, we provide
specific input languages to input concurrent updates to software-defined
networks and check whether they fulfill properties like connectivity,
packet coherence, drop freedom, and loop freedom expressed in Flow-LTL.
Third, the model checking problem of Petri nets against LTL with places
and transitions as atomic propositions is solved.
Funding
Petri Games: A Semantic and Algorithmic Approach for the Efficient Synthesis of Distributed Reactive Systems