AgentSpeak


  • * Semantically a goal marks a certain state of the world an agent _wishes to bring about_ [AgentSpeak, p.40] * _Achievement goals_ triggers an _achievement goal addition_ which leads to the execution of a corresponding [plan](#plan) * On agent start, there can exists one _initial goal_ only (like the ```main``` function in Java, C/C++) * Each agent can track _more than one goal_ at the same time otherwise the agent idles (the suspending state is not used) * Goals are triggered by external events which will match by the goal name * Goals will be resolved into [plans](#plan) with equal name (and allowed context), the [plan](#plan) is the intantiiation of the goal * Goals are run in parallel independed from other goals * A goal is a sequence of [plans](#plan) which must all finished successfully * A goal is part of exactly one [intention](#intention) * If a goal can match a [desire](#desire) (the goal is near to the desire) it can add an event to match the desire [belief](#belief) * If the agent is in sleeping / hibernate state and the ```wakeup``` method is called, it triggers the wakeup-goal