Modeling Failure Handling in Goal Models Print

Failure Handling – GMoDS

Currently, the failure condition is based on the simple AND/OR decomposition of the GMoDS goal models. However, there is a need to provide some advanced handling of goals. For instance, it is often the case that when a child goal fails, we might simply want to re-trigger the entire set of children goals to re-try to achieve the goals. Also, there are some cases where we want to achieve all the child goals, but if some of them fail, we don’t want to fail the entire system.

The current failure mechanism is basically corresponds to propagation of failures (in the case of and decomposed goals). What we need to introduce is other failure modes:

  1. Propagation – this is the default failure mode
  2. Re-trigger – in this case, when a leaf goal fails, its least-triggered parent goal (its closest ancestor that has a trigger) is simply re-triggered with the same parameters.
  3. Obviate – in this case, when a leaf goal fails, it is simply obviated, which allows the parent goal satisfaction condition to remain the same (AND/OR).

We also need to introduce the notion of a failure expression, which allows the designer to specify when the previous failure modes apply. For example:

fails(g) -> re-trigger(ltp(g))

fails(g) && (siblingsActive(g) >= 3) -> obviate(g)

In these cases, g would refer to an instance of goal type g.

This research would look at both modeling and implementation of the GMoDS model. Thus, after defining the types of changes required to the theoretical model of GMoDS, changes to agentTool and the GMoDS runtime code would be required.

 
home search