Skip to content

Invoke service action

invoke_service_action requests an action declared by the current DDD's service interface. The action's name and parameter predicates must agree with that interface and the ontology.

Syntax

<invoke_service_action name="BookRoom"
                       preconfirm="interrogative"
                       postconfirm="true"/>
Attribute Type Default Meaning
name string Required Service-interface action name.
preconfirm assertive or interrogative None Selects the preconfirmation behavior before invocation.
postconfirm Boolean false Requests a natural-language report about the result.
downdate_plan Boolean, deprecated XML schema says true; Tala 31.0.1 compiler defaults a missing attribute to false Does not create implicit goal-downdate conditions in the current runtime.

Use lowercase XML Boolean values true and false. The downdate_plan schema/compiler default mismatch is retained here because it affects existing DDD interpretation; don't rely on that attribute for plan control.

Execution and confirmation

The DME resolves the named action in the service interface, binds parameters, and issues the service call. preconfirm="interrogative" requires positive user preconfirmation before invocation. preconfirm="assertive" uses a system prereport as the confirmation step; the DME can proceed if the user does not object.

When postconfirm="true", TDM queues a report after the service result. It also queues a report when a call fails, even if postconfirmation is not requested. TDM records service_action_terminated whenever the call returns; that proposition does not indicate success. To end a goal based on service termination, write an explicit downdate condition.

JSON form

{
  "invoke_service_action": {
    "name": "BookRoom",
    "preconfirm": "interrogative",
    "postconfirm": true
  }
}

The JSON model still permits downdate_plan for compatibility. New DDDs should use downdate_conditions on the goal.

Tala sources

  • XML syntax: tala/ddd/schemas/domain.xsd
  • XML/JSON compilation: tala/ddd/ddd_xml_compiler.py, tala/ddd/ddd_json_compiler.py
  • Tala test coverage: tala/ddd/test/test_ddd_xml_compiler.py

See the Service Interface XML reference.