Practical Learning Exercises
JACK® Frequently Asked Questions
There are three possible reasons for this.
- You may have accidently mistyped your email address
- Your SPAM filter may have thought the email was SPAM and has withheld/deleted it.
- Mail to/from Hotmail or Yahoo accounts sometimes get blocked along the way for reasons beyond our control. Avoid registering with free accounts if you are affected by this.
Check to ensure one of these reasons is not the cause first before contacting us.
Yes you need a Java Development kit or equivalent installed on your computer. A Java runtime by itself is not enough.
Yes. Look under the Help menu.
- Uninstall all Java or JDK software (via Control Panel).
- Make sure all Java or JDK software are actually removed. (E.g. delete the C:\Software\JavaSoft folder if it exists and the JDK folder, wherever you installed it)
- Search the registry for any key or value containing “java” and remove it! (Use the “Run…” command and type ‘regedit’, then use the find command within regedit)
- Install the new JDK again.
- Make sure you have PATH & CLASSPATH set properly. Check that the “BIN” directory of the JDK is in your PATH since the Java installer does not seem to do this for you.
This happens when any plan step of a reasoning method (e.g. body()) takes an unreasonably long time to complete (about half a second). It usually means that something is calling out to Java code and not coming back, normally a bug with your code. Individual plan steps must execute quickly. In any case, the JACK® kernel leaves that thread alone since it is taking too long and starts a new one to handle other plans. If the original one ever comes back then all is ok. If not, then the agent mentioned is hung.
Often this is harmless but it might indicate a bug in your code. There are several ways you can include a lengthy computation within a plan step should the need arise. One quite flexible way is to use an Action cursor (aos.jack.util.cursor.Action). See the JACK® User Guide for details.
Within a single JVM, all JACK® agents are (normally) executed by just one thread. JACK® includes a time based scheduler, which ensures that all agents get a slice of execution. On top of that, each JACK® agent can have many tasks pending at the same time so each agent can specify its own task manager. This provides the task execution policy for that agent. The default is for the agent to stay committed to a task as long as possible.
Each JACK® plan is transformed by the compiler into steps in a finite state machine which can be executed by an agent’s task manager. The executing thread may leave the plan (task) and come back to it later, and then continue progressing the plan (task) later.
Thus, JACK® has only one thread. Plus an additional one for receiving messages.
In many applications, the code within an agent is “java interface code”, which may be invoked by threads other than the JACK® scheduling thread. (The message receiving thread is an example of such a thread).
The Belief-Desire-Intention (BDI) agent model is an event-driven execution model providing both reactive and proactive behavior. The BDI agent model is built on a simplified view of human intelligence. In it, agents have a view of the world (Beliefs), certain goals they wish to achieve (Desires), and they form Plans (Intentions) to act on these using their accumulated experience. Agents that are written using the BDI model are at a level of abstraction closer to normal human experience.
Copyright (C) 1997-2008, Agent Oriented Software
US Government Restricted Rights
The JACK Modules and relevant Software Material have been developed entirely at private expense and are accordingly provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of DFARS 252.227-7013 or subparagraph (c)(1) and (2) of the Commercial Computer Software Restricted Rights and 48 CFR 52.2270-19, as applicable.
We are currently developing a comprehensive set of training and support materials for C-BDI™.