Closed christoff-buerger closed 8 years ago
As library name for the refactored interpreter hierarchical-petrinets
should be used.
Since the extension is about composing nets via place fusion, it should be named Composed Petri Nets and not hierarchical; thus, the library is named composed-petrinets
. Cf. issue #40.
Everything is properly refactored. All tests pass.
The original Petri nets example included hierarchical nets. For didactic reasons and better modularisation, the non-hierarchical functionality was outsourced as atomic Petri nets. Conceptually, support for hierarchical nets is just an extension of the basic atomic interpreter.
The extracted atomic Petri nets interpreter is implemented according to best practices in the design of RACR-based languages; in particular query support functions are used, e.g.,
(->foo n)
to query thefoo
child ofn
or(=att n)
to query theatt
attribute ofn
etc.The refactoring of the original Petri nets interpreter to an interpreter for hierarchical Petri nets according to these best practices and by reusing the atomic Petri nets implementation still has to be done however.