12.5.3 Classification of actions
Actions are generally divided into controllable and observable ones. The option
observableAction of ct is used to declare that an action symbol is observable.
Moreover, controllable actions can be classified as being internal, using the
internalAction option of ct. Furthermore, controllable actions can also be marked
as being cleanup actions, using the cleanupAction option of ct.
Controllable and observable actions. In a closed system it is generally assumed
that all actions are controlled by the tester; that is, all action symbols are assumed to
be controllable. Controllable action symbols are also called tester action symbols.
A tester action or a controllable action is an action that has a controllable action
symbol. An exception to this general rule are finish action symbols that are typically
classified as being observable because they are returned by the stepper. An
action with an observable action symbol is called an observable action. The general
treatment of observable actions is deferred to Chapter 16.
In the case of the bag example the action symbols Lookup Finish and Count
Finish are observable because the corresponding actions are returned by the stepper.
Notice, however, that even if the finish actions are considered as controllable
actions, the algorithm in Figure 12.7 will work in exactly the same way, because
the strategy cannot be in a state where SelecAction is called and a finish action is
enabled, unless the stepper is faulty and returns null when a finish action should be
returned.
Pages:
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290