Traits

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

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.

is_discrete

list_type(PNML.is_discrete)
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

is_continuous

list_type(PNML.is_continuous)
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

is_highlevel

list_type(PNML.is_highlevel)
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