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:

Initialization Predicate Observation Action Stop
User-defined monitor accessible accessible accessible accessible accessible

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> is the type of the values returned by the observation function. The <obstype> is determined by the user, and can be different for each different user-defined monitor.

For more information about the subnet and markings data types see Data types for monitored subnets.

Examples of monitoring functions

Examples of monitoring functions for user-defined monitors can be found in the Example nets for the Monitored dining philosophers example net and the Queue system example net.

Related pages