The development of CP-nets has been driven by the desire to develop a modelling language at the same time theoretically well-founded and versatile enough to be used in practice for systems of the size and complexity that we find in typical industrial projects. To achieve this, we have combined the strength of Petri nets with the strength of programming languages. Petri nets provide the primitives for the description of the synchronisation of concurrent processes, while programming languages provide the primitives for the definition of data types and the manipulation of their data values.
The paper does not assume that the reader has any prior knowledge of Petri nets although such knowledge will, of course, be a help.
Keywords: Petri Nets, High-level Petri Nets, Coloured Petri Nets.