signal_action_failure¶
Marks an action as failed and stops or continues the containing plan depending on whether action is supplied.
Attributes and placement¶
| Attribute | Meaning |
|---|---|
reason | Required result label used in the failure report; it is not an ontology declaration. |
action | Optional ontology action to mark failed instead of the containing goal's action. |
The element has no children and can appear in a plan or conditional branch.
Behavior and examples¶
Without action, the containing perform goal is treated as failed, the remaining plan items stop, and the runtime emits a report of the form report(action_status(action, aborted(reason))). The reason is an identifier; it does not have to be declared in the ontology. With action, that action is marked aborted and the containing plan continues.
Fail the containing goal:
<goal type="perform" action="call_someone">
<plan><signal_action_failure reason="phone_not_available"/></plan>
</goal>
Fail one action while allowing the containing goal to continue and complete: