Reliance on software systems is ever increasing in our world, alongside the demand of concurrent solutions that embody communication, synchronization and resource sharing. Some problems in software engineering might also have strict requirements regarding concurrency and correctness. Designing correct concurrent programs is hard and there exists a range of formalisms and tools that can help the development process. Coloured Petri nets is an extension of the mathematical concepts of Petri nets and a widely used formalism for describing and model concurrent systems. CPN Tools is a tool for editing, simulating, and analyzing CPN models. A need has been identified to develop a new set of tools to evaluate and execute CPN models, to facilitate further development and increase portability. This paper shows how, using an example, a CPN model can be represented and parsed and how code is generated to possibly simulate the model in F# on the .NET platform.
A Compiler and Runtime Environment for Execution of Coloured Petri Net Models