|
Changes in JAM (0.65+.76i - Nov 01,2001)
The new distribution does not require JavaCC. JavaCC has
already been run to create the necessary Java source files.
The new distribution contains a JAR file called JAM.jar that
can be used directly so that JAM never has to be compiled. It
contains all the class files necessary for JAM agents to be
executed.
Added support for the retrieval and iteration through
all world model entries matching a specified relation. I.e.
RETRIEVEALL and NEXTFACT actions have been added. Prior versions
only found one match at a time and no iteration through
alternatives was possible.
Added support for printing out information related to plan
action failure. Added a primitive action, setShowActionFailure,
and a command-line switch, -f, to turn this new debugging output
on and off. The file name and line number of the action that
failed is displayed when this feature is active.
Added a printout of JAM plan file name and line number in the
case of a Java exception during action execution (helps with
debugging as otherwise only a stack trace would be printed out and
that doesn't help much in identifying where in a plan file the
error occurred).
Implemented the LOAD action for parsing JAM files during
runtime.
Added a disablePlan primitive action to remove a plan from
consideration while JAM is executing.
Added logical operators for bitwise and, or, xor, and
complement.
Added support for using Java methods in plan functions (e.g.,
within CONTEXT/PRECONDITION sections, within an ASSIGN).
Added several JAM example plans, some of which demonstrate how
to use JAM features and some which are examples of solving
problems. Renamed all of the old example files to something that
more clearly describes what the file does.
Added support for command-line switches (e.g., -s, -i. The
manual always had them but the capability got lost somewhere down
the line).
Modified sleep action to sleep milliseconds rather than
seconds.
Updated the Makefile to a useable form for Unix-like
systems. Will compile the core files as well as the java files in
the primitives and the examples directories.
Synchronized the primary entries into the World Model (assert,
retract, and update) to improve thread safety.
Modified the sleep primitive to use Thread.wait() rather than
Thread.sleep().
Added support for including information about a goal's conclude
relation into a goal for possible subsequent printout during
debugging.
Internal improvements to metalevel reasoning.
Efficiency improvements to socket-based communications.
Improved code-level plan parsing exception handling so that
threaded JAM agents don't much everything up if they encounter a
parsing problem.
Moved agentGo action from UserFunctions.java to
SystemFunctions.java.
Several bug fixes.
|