You are here

March release

The latest release includes two new major pieces of functionality.

1) The scripting language used by scriptable conditions and actions is now dynamically resolved based on the language tag. This means that you can now contribute your own scripting language. This is done by providing an instance of org.jactr.scripting.IScriptableFactory and installing it into the org.jactr.scripting.ScriptingManager. The factory provides methods to instantiate org.jactr.scripting.action.IActionScript and org.jactr.script.condition.IConditionScript. The Eclipse extension point org.jactr.scriptfactory is used to dynamically install the factory.

2) The creation, linking, and learning of associative links is now encapsulated into a single class structure. org.jactr.core.modules.declarative.associative.IAssociativeLinkageSystem. This class is utilized by the declarative module, and typically provided by a declarative learning module. If no declarative learning module is installed, the linkage system will just create links on demand, but they will not be established normally. Using either the DefaultDeclarativeLearningModule4 or ...6 will install links based on containment (i.e., link j to i if i contains j as a slot value). To implement a new associative policy, it is typically best to extend an existing learning module and provide an alternative linkage system.