Package jason.stdlib
Class add_plan
java.lang.Object
jason.asSemantics.DefaultInternalAction
jason.stdlib.add_plan
- All Implemented Interfaces:
InternalAction
,java.io.Serializable
@Manual(literal=".add_plan(plan[,source,position])", hint="adds plan(s) to the agent\'s plan library", argsHint={"the plan term enclosed by { and }","the source of the plan(s) [optional]","the position (begin/end) the plan will be added [optional]"}, argsType={"plan term, string, or list","atom","atom"}, examples={".add_plan({ +b : true <- .print(b) }): adds the plan +b : true <- .print(b). to the agent\'s plan library with source(self)",".add_plan(\"+b : true <- .print(b).\"): adds the plan +b : true <- .print(b). to the agent\'s plan library with source(self)",".add_plan({ +b : true <- .print(b) }, rafa): same, but with source(rafa)",".add_plan({ +b : true <- .print(b) }, rafa, begin): same, but the plan is added at the beginning of the plan library",".add_plan([{+b <- .print(b)}, {+b : bel <- .print(bel)}], rafa): adds both plans with source \"rafa\" and \"self\""}, seeAlso={"jason.stdlib.plan_label","jason.stdlib.relevant_plans","jason.stdlib.remove_plan"}) public class add_plan extends DefaultInternalAction
Internal action: .add_plan
.
Description: adds plan(s) to the agent's plan library.
Parameters:
- + plan(s) (plan term, string, or list): the plan term follows the
same syntax as AS plans, but are enclosed by { and }
(e.g.
{+!g : vl(X) <- .print(X)}
). In case this parameter is a string, the code within the string has to follow the syntax of AS plans (e.g."+!g : vl(X) <- .print(X)."
). If it is a list, each plan term or string in the list will be parsed into an AgentSpeak plan and added to the plan library.
- + source (atom -- optional): the source of the
plan(s). The default value for the source is
self
.
- + position (atom -- optional): if the value is "begin" the plan
will be added in the begin of the plan library.
The default value is
end
.
Examples:
-
.add_plan({ +b : true <- .print(b) })
: adds the plan+b : true <- .print(b).
to the agent's plan library with a plan label annotated withsource(self)
. -
.add_plan("+b : true <- .print(b).")
: adds the plan+b : true <- .print(b).
to the agent's plan library with a plan label annotated withsource(self)
. -
.add_plan({ +b : true <- .print(b) }, rafa)
: same as the previous example, but the source of the plan is agent "rafa". -
.add_plan({ +b : true <- .print(b) }, rafa, begin)
: same as the previous example, but the plan is added at the beginning of the plan library. -
.add_plan([{+b <- .print(b)}, {+b : bel <- .print(bel)}], rafa)
: adds both plans with "rafa" as their source.
- Author:
- Jomi
- See Also:
plan_label
,relevant_plans
,relevant_plan
,remove_plan
, Serialized Form
-
Constructor Summary
Constructors Constructor Description add_plan()
-
Method Summary
Modifier and Type Method Description java.lang.Object
execute(TransitionSystem ts, Unifier un, Term[] args)
Executes the internal action.int
getMaxArgs()
int
getMinArgs()
private Plan
transform2plan(Term t)
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, checkArguments, destroy, prepareArguments, suspendIntention
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
add_plan
public add_plan()
-
-
Method Details
-
getMinArgs
public int getMinArgs()- Overrides:
getMinArgs
in classDefaultInternalAction
-
getMaxArgs
public int getMaxArgs()- Overrides:
getMaxArgs
in classDefaultInternalAction
-
execute
public java.lang.Object execute(TransitionSystem ts, Unifier un, Term[] args) throws java.lang.ExceptionDescription 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 interfaceInternalAction
- Overrides:
execute
in classDefaultInternalAction
- Throws:
java.lang.Exception
-
transform2plan
- Throws:
jason.asSyntax.parser.ParseException
JasonException
-