The persistent goals subsystem maintains a prioritized list of goals that can not be satisfied immediately, so they are pursued over medium to long time periods. This list acts as the "control board" of a Scene Based Reasoning system.
Persistent plans also allows to separate the planning process from the execution process of a plan: A system may first develop a plan and detail the plan on varying degrees of detail. Once the system decides to execute the plan, the plan is copied to the persistence goal subsystem for execution. It is then executed under supervision of the Attention Subsystem, which tracks the deviation between the actual execution and the original plan.
The subsystem provides the inputs to the Attention Subsystem that in turn deals with the medium-term execution of goals. Goals in the list may „fade out“ with time with a certain speed and need to be refreshed from time to time to remain active.
New goals enter the list:
- Manually by the human system operator
- Based on „urges“ - urges model high-priority tasks of the system, including for example the need to re-charge batteries in the case of a mobile robot controlled by the system.
- From the Planner as part of a plan that can't be executed immediately.
- As sub-tasks of other tasks, when the sub-tasks are part of the decomposition of other tasks, but can't be executed immediately.
Goals leave the list:
- Manually by the human system operator.
- Once the goals are achieved.
- By "fading out" with time after their priority went below a certain threshold.
- By actively canceling a goal, typically because a medium-term plan failed or it's success probability was reduced.
Comparison and References
TinyCog 0.0.1 does not yet implement the persistent goals subsystem. TinyCog 0.0.3 will need to provide at least basic functionality in order to control the hunters in the Hunter Domain.