Errors can occur in monitors for many different kinds of reasons.
Errors in names
Errors in monitor names
Monitor names must fulfill the requirements stated under the naming policy. Here an attempt is made to give a monitor an illegal name, i.e. a name that cannot be converted to a non-empty CPN ML identifier.
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 in node names
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 in page names
Errors will occur in monitors if page names cannot be converted to nonempty CPN ML identifier.
A monitor will be rechecked when the names of the associated pages are changed.
Errors in nodes
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
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.
Errors in monitoring functions
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_A_Packet would result in this kind of error.
Making the following kinds of changes can result in errors in monitoring functions:
- Changing names of places, transitions, pages, functions, variables, constants, and color sets
- Adding or removing variables to arcs
- Changing whether a color set is a timed color set
A monitor will be rechecked, when its monitoring functions are changed.
Errors in order in index
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.