Abstract

High-level Petri nets 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 focusses 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 their sub-expressions 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) of Boolean SML decisions, which cannot be measured within CPN Tools neither through state space exploration nor model checking directly. We have implemented our approach in a library for CPN Tools comprised of an annotation and instrumentation mechanism that transparently intercepts and collects evaluation of boolean conditions, and a post-processing tool that, for a set of model executions (runs), determines whether each decision is MC/DC-covered. We evaluate our approach on four large publicly available CPN models.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call