jason.stdlib
Class fail_goal
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.succeed_goal
jason.stdlib.fail_goal
- All Implemented Interfaces:
- InternalAction, java.io.Serializable
public class fail_goal
- extends succeed_goal
Internal action:
.fail_goal(G)
.
Description: aborts goals G in the agent circumstance as if a plan
for such goal had failed. Assuming that one of the plans requiring G was
G0 <- !G; ...
, an event -!G0
is generated. In
case G was triggered by !!G
(and therefore
not a subgoal, as happens also when an "achieve" performative is used),
the generated event is -!G
. A literal G
is a goal if there is a triggering event +!G
in any plan within
any intention; also note that intentions can be suspended hence appearing
in sets E, PA, or PI of the agent's circumstance as well.
Example:
-
.fail_goal(go(1,3))
: aborts any attempt to achieve
goals such as !go(1,3)
as if a plan for it had failed. Assuming that
it is a subgoal in the plan get_gold(X,Y) <- go(X,Y); pick.
, the
generated event is -!get_gold(1,3)
.
(Note: this internal action was introduced in a DALT 2006 paper, where it was called .dropGoal(G,false).)
- See Also:
intend
,
desire
,
drop_all_desires
,
drop_all_events
,
drop_all_intentions
,
drop_intention
,
drop_desire
,
succeed_goal
,
current_intention
,
suspend
,
suspended
,
resume
,
Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
fail_goal
public fail_goal()
execute
public java.lang.Object execute(TransitionSystem ts,
Unifier un,
Term[] args)
throws java.lang.Exception
- Description copied from interface:
InternalAction
- Executes the internal action. It should return a Boolean or
an Iterator. A true boolean return means that the IA was
successfully executed. An Iterator result means that there is
more than one answer for this IA (e.g. see member internal action).
- Specified by:
execute
in interface InternalAction
- Overrides:
execute
in class succeed_goal
- Throws:
java.lang.Exception