Advanced Knowledge: Explicit Repair Actions

AgentSpeak(L++) supports the implementation of repair planning with the default behaviour -!. With this additional structure we also support repair action chains.

executable_termtest_actionachievement_goal_actionLEFTSHIFTrepair_formula

The following example shows the execution of three actions actionA, actionB, actionC. The system executes the actionA first, if the action fails, actionB will be executed, if this also fails actionC will be executed. If the last action in the statement fails (here: actionC), the whole plan fails.

actionA << actionB << actionC;

You can also use this technique if you don’t want a plan to fail: If an action might fail you can append a << true to its invocation. This models the behaviour anything can go wrong, but the agent ignores the error(s).

actionA << true;