Traits

Some of the traits used are based on the pntd. Each supported pntd has a singleton subtype of PnmlType.

3 branches of pntd based on number system

  • core uses integers
  • high-level uses terms of many-sorted algebra
  • continuous/hybrid uses floating point

Default place markings and arc inscriptions are different for the three.

isdiscrete

list_type(PNML.isdiscrete)
PNML.PnmlTypes.PnmlCoreNet() -> true
PNML.PnmlTypes.SymmetricNet() -> false
PNML.PnmlTypes.PTNet() -> true
PNML.PnmlTypes.ContinuousNet() -> false
PNML.PnmlTypes.HLPNG() -> false
PNML.PnmlTypes.HLCoreNet() -> false
PNML.PnmlTypes.PT_HLPNG() -> false

iscontinuous

list_type(PNML.iscontinuous)
PNML.PnmlTypes.PnmlCoreNet() -> false
PNML.PnmlTypes.SymmetricNet() -> false
PNML.PnmlTypes.PTNet() -> false
PNML.PnmlTypes.ContinuousNet() -> true
PNML.PnmlTypes.HLPNG() -> false
PNML.PnmlTypes.HLCoreNet() -> false
PNML.PnmlTypes.PT_HLPNG() -> false

ishighlevel

list_type(PNML.ishighlevel)
PNML.PnmlTypes.PnmlCoreNet() -> false
PNML.PnmlTypes.SymmetricNet() -> true
PNML.PnmlTypes.PTNet() -> false
PNML.PnmlTypes.ContinuousNet() -> false
PNML.PnmlTypes.HLPNG() -> true
PNML.PnmlTypes.HLCoreNet() -> true
PNML.PnmlTypes.PT_HLPNG() -> true