public class if_then_else extends DefaultInternalAction
Syntax:
if ( logical formula ) { plan_body1 [ } else { plan_body2 ] }
if logical formula holds, plan_body1 is executed; otherwise, plan_body2 is executed.
Example:
+event : context <- .... if (vl(X) & X > 10) { // where vl(X) is a belief .print("value > 10"); } ....The unification is changed by the evaluation of the logical formula, i.e., X might have a value after if.
Constructor and Description |
---|
if_then_else() |
Modifier and Type | Method and Description |
---|---|
protected void |
checkArguments(Term[] args) |
static InternalAction |
create() |
java.lang.Object |
execute(TransitionSystem ts,
Unifier un,
Term[] args)
Executes the internal action.
|
int |
getMaxArgs() |
int |
getMinArgs() |
Term[] |
prepareArguments(Literal body,
Unifier un)
Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term
|
canBeUsedInContext, destroy, suspendIntention
public static InternalAction create()
public Term[] prepareArguments(Literal body, Unifier un)
InternalAction
prepareArguments
in interface InternalAction
prepareArguments
in class DefaultInternalAction
public int getMinArgs()
getMinArgs
in class DefaultInternalAction
public int getMaxArgs()
getMaxArgs
in class DefaultInternalAction
protected void checkArguments(Term[] args) throws JasonException
checkArguments
in class DefaultInternalAction
JasonException
public java.lang.Object execute(TransitionSystem ts, Unifier un, Term[] args) throws java.lang.Exception
InternalAction
execute
in interface InternalAction
execute
in class DefaultInternalAction
java.lang.Exception