The output of the tree is a problem on its own. Here one could choose to show the tree only for small trees or just part of the tree, and otherwise enter an interactive mode where the user have some choices on inquiries about the tree. This could include checking a marking, information on the firing sequence leading to an existing marking, etc.
Because the tree may become very large there must obviously be some upper bound on the number of nodes to consider. When this bound is reached a notice is given and some intelligent output of the collected information should be made before entering the interactive mode.
In deriving the tree it might be most interesting to do this in a breadth-first manner. It could be of interest to be able to store the tree and to read it from file. If feasible, include the possibility to have inhibitor arcs in the net.