JSHOP2
Class InternalVars

java.lang.Object
  extended by JSHOP2.InternalVars

 class InternalVars
extends java.lang.Object

This class represents all the variables that JSHOP2 needs every time it calls itself recursively. The reason all these variables are bundled together in one class rather than having them locally defined is to save stack space. Right now, the only thing that is stored in the stack is a pointer to this class in each recursion, and the actual data is stored in heap memory, while if these variables were just locally defined, all of them would be stored in the stack, resulting in very fast stack overflow errors.

Version:
1.0.3
Author:
Okhtay Ilghami, http://www.cs.umd.edu/~okhtay

Field Summary
(package private)  Term[] binding
          The binding that unifies the head of a method or an operator with the task being achieved.
(package private)  java.util.Vector[] delAdd
          An array of size 4 to store the atoms and protections that are being deleted or added to the current state of the world as a result of application of an operator, to be used in case of a backtrack over that operator.
(package private)  java.util.Iterator<TaskList> e
          The iterator iterating over the LinkedList of the tasks that we have the option to achieve right now.
(package private)  boolean found
          Whether or not at least one satisfier has been found for the current branch of the current method.
(package private)  int j
          The index of the method or operator being considered.
(package private)  int k
          The index of the branch of the current method being considered.
(package private)  Method[] m
          An array of methods that can achieve the compound task being considered.
(package private)  Term[] nextB
          Next binding that satisfies the precondition of the current method or operator.
(package private)  Operator[] o
          An array of operators that can achieve the primitive task being considered.
(package private)  Precondition p
          An iterator over the bindings that can satisfy the precondition of the current method or operator.
(package private)  TaskAtom t
          The task atom chosen to be achieved next.
(package private)  java.util.LinkedList<TaskList> t0
          A LinkedList of the task atoms we have the option to achieve right now.
(package private)  TaskList tl
          The atomic task list that represents, in the task network, the task atom that has been chosen to be achieved next.
 
Constructor Summary
InternalVars()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

binding

Term[] binding
The binding that unifies the head of a method or an operator with the task being achieved.


delAdd

java.util.Vector[] delAdd
An array of size 4 to store the atoms and protections that are being deleted or added to the current state of the world as a result of application of an operator, to be used in case of a backtrack over that operator.


e

java.util.Iterator<TaskList> e
The iterator iterating over the LinkedList of the tasks that we have the option to achieve right now.


found

boolean found
Whether or not at least one satisfier has been found for the current branch of the current method. As soon as it becomes true, further branches of the method will not be considered.


j

int j
The index of the method or operator being considered.


k

int k
The index of the branch of the current method being considered.


m

Method[] m
An array of methods that can achieve the compound task being considered.


nextB

Term[] nextB
Next binding that satisfies the precondition of the current method or operator.


o

Operator[] o
An array of operators that can achieve the primitive task being considered.


p

Precondition p
An iterator over the bindings that can satisfy the precondition of the current method or operator.


t

TaskAtom t
The task atom chosen to be achieved next.


t0

java.util.LinkedList<TaskList> t0
A LinkedList of the task atoms we have the option to achieve right now.


tl

TaskList tl
The atomic task list that represents, in the task network, the task atom that has been chosen to be achieved next.

Constructor Detail

InternalVars

InternalVars()