A compiler, simulator, and associated source control for an object-oriented Petri net language developed by Charles Lakos <Charles.Lakos@adelaide.edu.au> at the University of Tasmania. In LOOPN, a Petri net is an extension of a coloured timed Petri net. The extension means firstly that token types are classes. In other words, they consist of both data fields and functions, they can be declared by inheriting from other token types, and they can be used polymorphically. The object-oriented extensions also mean that module or subnet types are classes.