A.V. Ratzer, L. Wells, H.M. Lassen, M. Laursen, J.F. Qvortrup, M.S. Stissing, M. Westergaard, S. Christensen, and K. Jensen. CPN Tools for Editing, Simulating, and Analysing Coloured Petri Nets
. Proc. of 24th International Conference on Applications and Theory of Petri Nets (Petri Nets 2003). Lecture Notes in Computer Science 2679, pp. 450-462, Springer-Verlag Berlin, 2003.
CPN Tools uses the CPN ML language to specify declarations and net inscriptions. This language is an extension of the functional programming language Standard ML, developed at Edinburgh University.
R. Milner, M. Tofte, R. Harper, and D. MacQueen. The definition of Standard ML
Press, Cambridge, MA, 1997.
J.D. Ullman. Elements of ML Programming, ML97 Edition. 2nd ed. Prentice Hall, Upper Saddle River, NJ, 1998.
L.C. Paulson. ML for the Working Programmer. 2nd ed. Cambridge University Press, Cambridge, 2010.
There are also online references for Standard ML:
The Peti nets world
provides much material around theory and application of Petri nets and related topics.