Coverage Analysis of Net Inscriptions in Coloured Petri Net Models
This addresses a validation gap for researchers and practitioners using Coloured Petri Nets, though it is incremental as it adapts existing coverage techniques to a specific domain.
The paper tackles the problem of validating net inscriptions in Coloured Petri Net models, which are often only implicitly checked during simulation, by introducing an approach that applies Modified Condition/Decision Coverage analysis to explicitly measure coverage, achieving full MC/DC coverage for all decisions in four evaluated models.
High-level Petri net such as Coloured Petri Nets (CPNs) are characterised by the combination of Petri nets and a high-level programming language. In the context of CPNs and CPN Tools, the inscriptions (e.g., arc expressions and guards) are specified using Standard ML (SML). The application of simulation and state space exploration (SSE) for validating CPN models traditionally focuses on behavioural properties related to net structure, i.e., places and transitions. This means that the net inscriptions are only implicitly validated, and the extent to which these have been covered is not made explicit. The contribution of this paper is an approach that establishes a link between coverage analysis known from programming languages and net inscriptions of CPN models. Specifically, we consider Modified Condition/Decision Coverage (MC/DC) which generalises branch coverage of SML decisions. We have implemented our approach in a library for CPN Tools comprised of an annotation and instrumentation mechanism that transparently intercept and collect evaluations of Boolean conditions, and a post-processing tool that determines whether each decision is MC/DC-covered by a set of models executions (runs). We evaluate our approach on four larger public-available CPN models.