AgentSpeak(L++) supports the implementation of repair planning with the default behaviour -!
. With this additional structure we also support repair action chains.
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;