Write-in-file monitors

Write-in-file monitors

Write-in-file monitors are used to update files during simulations. To create a write-in-file monitor, apply the Create write-in file monitor tool to the appropriate subnet. After the tool has been applied, a new monitor will be added to the index, and monitor template code will be generated for some of the write-in-file monitoring functions. A default name is suggested, but the name can be changed. […]

Read Me Leave comment

Write-in-file monitoring functions

Write-in-file monitoring functions

Each one of the Write-in-file monitors has the following monitoring functions: Initialization function is called once before a simulation starts. It returns a string that is added to the file before the simulation starts. Predicate function is called after simulation steps. When the predicate function returns true, the observation and action functions are called. Observation function examines the monitored nodes, and returns a string to […]

Read Me Leave comment

User-defined monitors

User-defined monitors

User-defined monitors can be used for any purpose that is not covered by the other kinds of Monitors. For example, a user-defined monitor could be used for external communication with Comms/CPN. User-defined monitors are extremely flexible, but they require that the user must write the appropriate monitoring functions. To create such a monitor, apply the Create user-defined monitor tool to an appropriate target. After the […]

Read Me Leave comment

User-defined monitoring functions

User-defined monitoring functions

Each one of the User-defined monitors has the following monitoring functions: Initialization function Predicate function Observation function Action function Stop function Accessibility of the monitoring functions: Function types for the accessible functions init: markings -> unit initialization function pred: subnet -> bool predicate function obs: subnet -> <obstype> observation function action: <obstype> -> unit action function stop: markings -> string stop function The type <obstype> […]

Read Me Leave comment

Monitor index entries

Monitor index entries

The net overview of a particular net contains an overview of the monitors that are defined for the net. Each entry under the Monitors index entry is either a monitor or a block of monitors. Blocks of monitors are used to divide monitors in to groups, and are similar to declaration blocks. In the figure below the BREAKPOINTS entry is a monitor block, while the […]

Read Me Leave comment

Known limitations of monitors

Known limitations of monitors

We are aware of the following limitations for monitors. Files for disabled monitors Files may be created for disabled write-in-file monitors and disabled data collector monitors. Monitors and state space tool Errors may occur if you use state space tool for a net with monitors. This may also be true even if the monitors are disabled. List length and marking size The code generated for […]

Read Me Leave comment

Errors in monitors

Errors in monitors

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 […]

Read Me Leave comment

Edit a monitor

Edit a monitor

Modifying a monitor After a monitor has been created it can be modified. Different kinds of information can be changed for each of the different monitors. This page provides a general introduction to editing a monitor. For detailed descriptions of what can be edited for each kind of monitor, see the descriptions of the individual kinds of monitors. ¬†Edit monitor name The name of every […]

Read Me Leave comment

Data types for monitored subnets

Data types for monitored subnets

Each monitor is associated with a subnet of a CPN, i.e. a set of places and transitions from the CPN. During a simulation a monitor can examine and extract information from the subnet. A subnet consists of: Zero or more place instances and Zero or more transition instances Three data types are defined for each monitor when a monitor is created, and these data types […]

Read Me Leave comment

Data collector monitors

Data collector monitors

Data collector monitors are used to extract numerical data during simulations. The numerical data is used when calculating statistics, and the data may be saved in data collector log files. A data collector can calculate either timed or untimed statistics, which are described on the help pages for calculating statistics. Data collector monitors are used for performance analysis of CPNs. There are four data collector […]

Read Me Leave comment