pitasc_library - monitors/basic.xml

Model definitions

File contents

  1<?xml version="1.0" encoding="UTF-8"?>
  2
  3<pitasc>
  4
  5    <models>
  6
  7        <type id="monitor_nop" prototype="monitor">
  8            <meta>
  9                <member id="description">Monitor that never fires</member>
 10                <member id="categories">logic</member>
 11                <member id="implementation">
 12                </member>
 13            </meta>
 14        </type>
 15
 16
 17        <type id="monitor_sync" prototype="monitor">
 18            <meta>
 19                <member id="description">Contains other monitors and triggers when all sub-events match.</member>
 20                <member id="categories">logic</member>
 21                <member id="implementation">
 22                    <clone prototype="orocos">
 23                        <member id="package">cppitasc_monitors</member>
 24                        <member id="component">SyncMonitor</member>
 25                    </clone>
 26                </member>
 27            </meta>
 28            <data>
 29                <type id="monitors" data_type="list:monitor" prototype="base">
 30                    <meta>
 31                        <member id="description">Sub-monitors that need to be synced.</member>
 32                        <member id="visibility">required</member>
 33                    </meta>
 34                </type>
 35                <type id="events" prototype="string_csv">
 36                    <meta>
 37                        <member id="description">Events that trigger the sync. If empty, **succeeded** is assumed for all sub monitors.</member>
 38                        <member id="visibility">basic</member>
 39                    </meta>
 40                    <data></data>
 41                </type>
 42            </data>
 43        </type>
 44
 45
 46        <type id="monitor_cycle_counter" prototype="monitor">
 47            <meta>
 48                <member id="description">Triggers after a certain number of cycles.</member>
 49                <member id="categories">logic</member>
 50                <member id="implementation">
 51                </member>
 52            </meta>
 53            <data>
 54                <type id="count" prototype="int_parameter">
 55                    <meta>
 56                        <member id="description">The number of cycles before the event is raised</member>
 57                        <member id="visibility">required</member>
 58                        <clone prototype="restrictions">
 59                            <clone prototype="int_min">0</clone>
 60                        </clone>
 61                    </meta>
 62                </type>
 63            </data>
 64        </type>
 65
 66
 67        <type id="monitor_execution_counter" prototype="monitor">
 68            <meta>
 69                <member id="description">Triggers after a certain number of executions of the parent skill. Can trigger a **reject_event** if the number of exections is not reached yet.</member>
 70                <member id="categories">logic</member>
 71                <member id="implementation">
 72                    <clone prototype="orocos">
 73                        <member id="package">cppitasc_monitors</member>
 74                        <member id="component">ExecutionCounterMonitor</member>
 75                    </clone>
 76                </member>
 77            </meta>
 78            <data>
 79                <type id="count" prototype="int_parameter">
 80                    <meta>
 81                        <member id="description">Number of executions before triggering</member>
 82                        <member id="visibility">required</member>
 83                        <clone prototype="restrictions">
 84                            <clone prototype="int_min">1</clone>
 85                        </clone>
 86                    </meta>
 87                </type>
 88                <type id="reject_event" prototype="string_parameter">
 89                    <meta>
 90                        <member id="description">The event to be triggered if count **is not** reached.</member>
 91                        <member id="visibility">basic</member>
 92                    </meta>
 93                    <data>preempted</data>
 94                </type>
 95                <type id="fire_on_reject" prototype="bool_parameter">
 96                    <meta>
 97                        <member id="description">If true, the **reject_event** is triggered if the **count** is not reached yet.</member>
 98                        <member id="visibility">basic</member>
 99                    </meta>
100                    <data>false</data>
101                </type>
102            </data>
103        </type>
104
105
106        <type id="monitor_duration" prototype="monitor">
107            <meta>
108                <member id="description">Triggers after a certain time.</member>
109                <member id="categories">logic</member>
110                <member id="implementation">
111                    <clone prototype="orocos">
112                        <member id="package">cppitasc_monitors</member>
113                        <member id="component">DurationMonitor</member>
114                    </clone>
115                </member>
116            </meta>
117            <data>
118                <type id="duration" prototype="float_parameter">
119                    <meta>
120                        <member id="description">The amount of time to wait until triggering</member>
121                        <member id="visibility">required</member>
122                    </meta>
123                </type>
124            </data>
125        </type>
126
127
128        <type id="monitor_script_result" prototype="monitor">
129            <meta>
130                <member id="description">Triggers when a script returns a certain result.</member>
131                <member id="categories">logic</member>
132                <member id="implementation">
133                    <clone prototype="orocos">
134                        <member id="package">cppitasc_monitors</member>
135                        <member id="component">ScriptResultMonitor</member>
136                    </clone>
137                </member>
138            </meta>
139            <data>
140                <type id="script" data_type="parameter:script" prototype="base">
141                    <meta>
142                        <member id="description">The script to watch</member>
143                        <member id="visibility">required</member>
144                    </meta>
145                </type>
146                <type id="possible_results" prototype="string_csv">
147                    <meta>
148                        <member id="description">The possible results that can be returned by the script</member>
149                        <member id="visibility">required</member>
150                    </meta>
151                </type>
152                <type id="events" prototype="string_csv">
153                    <meta>
154                        <member id="description">The respective events that are fired, in the order according to the possible results</member>
155                        <member id="visibility">required</member>
156                    </meta>
157                </type>
158                <member id="event"></member> <!-- must not be set, but 'events' instead -->
159                <member id="event.meta.visibility">hidden</member>
160            </data>
161        </type>
162
163
164        <type id="monitor_trigger_script_result" prototype="monitor">
165            <meta>
166                <member id="description">Triggers when a script calling a trigger-like service finishes.</member>
167                <member id="categories">logic</member>
168                <member id="implementation">
169                </member>
170            </meta>
171            <data>
172                <type id="script" data_type="parameter:script" prototype="base">
173                    <meta>
174                        <member id="description">The script to watch</member>
175                        <member id="visibility">required</member>
176                    </meta>
177                </type>
178                <type id="fail_event" prototype="string_parameter">
179                    <meta>
180                        <member id="description">The event to be triggered on failure.</member>
181                        <member id="visibility">basic</member>
182                    </meta>
183                    <data>preempted</data>
184                </type>
185            </data>
186        </type>
187
188    </models>
189
190</pitasc>