Package jason.stdlib

Class add_plan

All Implemented Interfaces:
InternalAction, 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) invalid input: '<'- .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) invalid input: '<'- .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.
Note that if only two parameter is informed, the second will be the source and not the position.

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 with source(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 with source(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.
See Also: