Errors in monitors | CPN Tools help |
Errors can occur in monitors for many different kinds of reasons.
Then the name of the monitor will revert to the previous name that was legal, and a red status bubble will indicate what the problem was.
Errors can occur in monitors if there are problems with the names of the nodes associated with the monitor.
A monitor will be rechecked when the names of the associated nodes are changed.
Errors will occur in monitors if page names cannot be converted to non-empty ML identifiers.
A monitor will be rechecked when the names of the associated pages are changed.
If a node associated with a monitor has an error, then the monitor will also have an error. In this example there is an error in the place A
, which means there is also an error in the marking size monitor that should calculate the number of tokens on place A
.
If a node that is associated with a monitor is deleted, then the monitor will have an error. Here the transition Transmit_Packet
on page Top
has been deleted.
A monitor will be rechecked when the associated nodes are rechecked, e.g. after adding or editing inscriptions or after being deleted.
A monitor will have an error if there is an error in one or more of the accessible monitoring functions.
A monitoring function can have a syntax error.
A monitoring function can have a type error.
A monitoring function can have an error if one of the monitored nodes is changed after the monitoring function has been created. For example, changing the name of a transition from Send_Packet
to Send_A_Packet
would result in this kind of error.
Making the following kinds of changes can result in errors in monitoring functions:
Monitors are checked starting from the top. If a monitor depends on a later monitor, an error message will be added to the monitor. Different kinds of error messages will be added depending on when the two monitors are created in relation to each other. Assume that monitor M1 depends on monitor M2.
If M1 is created before M2, which would happen after loading a model, and if M1 comes before M2 in the list of monitors, then monitor M2 will not be known.
If M1 is created after M2, and M1 comes before M2 in the list of monitors, which would happen if M1 was dragged from the bottom of the monitor list to before M2, then the error message will indicate that M1 depends on a later monitor.