From Symmetric Nets to Symmetric Nets with Bags
Nowadays, systems tend to be more and more distributed. Distribution brings a huge complexity and a strong need to deduce possible (good and bad) behaviors on the global system, from the known behavior of its actors. For such systems, we know that classical development methods are not adequate since the coverage of possible executions is too low. This is an old observation that led people to investigate the use of formal methods.
One good candidate for analyzing such systems are Petri nets. More specifically, coloured Petri nets enjoy the use of a high-level language to describe data while the net structure captures the flow of information. Although they provide very nice means for modelling, their generality has the drawback of the difficulty to apply efficient analysis techniques.
In this tutorial, we focus on symmetric nets which are high-level nets with a limited set of allowed data types, allowing for efficient state space analysis. We also tackle their extension to symmetric nets with bags for which analysis can still be applied.
The tutorial will present the underlying theory, the verification approaches, typical applications, and will put these into practice through hands-on sessions using the CosyVerif verification environment.