This paper presents a new prototyping methodology for large concurrent systems modelled by the means of hierarchical algebraic Petri nets. First, the source specifications are automatically translated into a main-stream object-oriented language, thus providing a portable and high-level initial implementation. The generated class hierarchy is designed so that the developer may then independantly derive new sub-classes in order to make the simulator more efficient or to add functionalities that could not be specified with Petri nets. This prototyping process is performed incrementally in order to safely validate the modifications against the semantics of the specification. The resulting simulator can finally be considered as the end-user implementation of the specified software system. The originality of our scheme is that we exploit object-oriented programming techniques in the implementation of formal specifications in order to gain flexibility in the development process, and simultaneously to harness this newly acquired freedom.