jason.stdlib
Class loop

Package class diagram package loop
java.lang.Object
  extended by jason.asSemantics.DefaultInternalAction
      extended by jason.stdlib.loop
All Implemented Interfaces:
InternalAction, java.io.Serializable

public class loop
extends DefaultInternalAction

Implementation of while.

Syntax:

  while ( logical formula ) {
     plan_body
  }

while logical formula holds, the plan_body is executed.

Example:

+event : context
  <- ....
     while(vl(X) & X > 10) { // where vl(X) is a belief
       .print("value > 10");
       -+vl(X+1);
     }
     ....
The unification resulted from the evaluation of the logical formula is used only inside the loop, i.e., the unification after the while is the same as before.

See Also:
for, Serialized Form

Constructor Summary
loop()
           
 
Method Summary
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
 
Methods inherited from class jason.asSemantics.DefaultInternalAction
canBeUsedInContext, suspendIntention
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

loop

public loop()
Method Detail

create

public static InternalAction create()

prepareArguments

public Term[] prepareArguments(Literal body,
                               Unifier un)
Description copied from interface: InternalAction
Prepare body's terms to be used in 'execute', normally it consist of cloning and applying each term

Specified by:
prepareArguments in interface InternalAction
Overrides:
prepareArguments in class DefaultInternalAction

getMinArgs

public int getMinArgs()
Overrides:
getMinArgs in class DefaultInternalAction

getMaxArgs

public int getMaxArgs()
Overrides:
getMaxArgs in class DefaultInternalAction

checkArguments

protected void checkArguments(Term[] args)
                       throws JasonException
Overrides:
checkArguments in class DefaultInternalAction
Throws:
JasonException

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 DefaultInternalAction
Throws:
java.lang.Exception