Downdate Condition¶
Definition¶
<downdate_condition>
The element that specifies the conditions for downdating a particular perform goal. Downdating in TDM lingo means that the goal has been fulfilled, and that the plan can be stopped from executing.
| Attribute | Type | Description |
|---|---|---|
Parents¶
Children¶
- <has_value>
- <has_shared_value>
- <has_private_value>
- <in_shared_commitments>
- <in_private_beliefs>
- <in_beliefs_or_commitments>
- <and>
- <or>
- <not>
- <has_more_items>
Behaviour¶
If the condition embedded in a downdate_condition element evaluates to true, the goal is considered to be fulfilled, and the goal is downdated -- which means that the plan associated with the goal will no longer be running. More than one downdate_condition can be specified for each goal. If more than one condition is present, they will be treated as a logical or: any condition evaluated to true is enough for downdating the goal.
Note: invoke_service_action no longer triggers an implicit downdate. If a service action should end a plan, add an explicit downdate condition. The service_action_terminated proposition means the service call has terminated; it does not indicate whether the action succeeded.
Examples¶
Downdate Condition for defining that once the departure time of a flight is known, the goal is considered to be fulfilled:¶
<downdate_condition>
<has_shared_value predicate="flight_departure"/>
</downdate_condition>
Downdate Condition for defining that if the flight departure is late, the goal is considered to be fulfilled:¶
<downdate_condition>
<in_shared_commitments predicate="flight_departure" value="late"/>
</downdate_condition>
Downdate Condition for service action termination¶
<downdate_condition>
<in_beliefs_or_commitments>
<service_action_terminated name="BookHousing"/>
</in_beliefs_or_commitments>
</downdate_condition>