Extracting high-level information from Petri nets: a railroad case
Thor Kristoffersen, Anders Moen, Hallstein Asheim Hansen · Proceedings of the Estonian Academy of Sciences Physics Mathematics · 2003
We show how useful simulation and control applications can be built on Petri nets by adding an object-oriented transformation framework called “views”. Petri nets were integrated into the Common Lisp Object System in such a way that the usual objectoriented features, such as classes, object creation, encapsulation, and inheritance, also work for Petri nets. This modified object system allows views to be implemented as collections of methods on the modified classes. Views are used to extract and present relevant domain specific aspects of a Petri net model. This functionality was implemented in our prototype Petri net engine called Andromeda. As a test case we modeled the Oslo subway as a hierarchy of railroad specific components, and built a composite view showing train and passenger movements. 1