This section describes the files that form a cognitive model and tutor, and the programming and debugging tools available in CTAT for working with a cognitive tutor.
Besides the student interface, a CTAT cognitive tutor problem consists of the following required files:
productionRules.pr:
the production rules file; contains Jess production rules, each
defined using the (defrule)construct.
wmeTypes.clp: the
Jess templates file; contains the templates available in working
memory, each defined using the (deftemplate)
construct; can be generated by CTAT for the currently loaded
student interface (Java or Flash) and behavior graph.
[problem-name].wme:
the Jess facts file for the named behavior graph (BRD); contains
an initial representation of working memory for the problem; can
be generated by CTAT for the currently loaded student interface
(Java or Flash) and behavior graph.
[problem-name].brd:
the behavior graph for the problem; need only contain a start
state node that describes the initial state of the problem: for
tutoring, a full problem-solving graph is superfluous—the tutoring
is provided by the model-tracing algorithm—but such a graph can be
used for semi-automated testing and problem state
navigation.
The production rules file,
productionRules.pr, contains the Jess
production rules that model student procedural knowledge and
misconceptions.
Jess functions are typically defined at the top of the
production rules file so that production rules can use them.
Alternatively, functions can be defined in the Jess templates file,
or in a separate file which is referenced via a
(require*) function that appears at the bottom
of the templates file. See the Jess manual for more on the
require*
function and its reciprocal function, provide.
CTAT loads the production rules file whenever a new behavior graph is loaded, or when the start state of a loaded behavior graph is clicked. You can also load the production rules file at any time while in CTAT.
The templates file, wmeTypes.clp,
contains definitions of Jess templates. A template in Jess is a
description of a fact type. Every fact in working memory has a
template. See the Jess
reference documentation on templates for more on this
construct.
CTAT loads this file when a behavior graph is loaded; or when the start state of a behavior graph is loaded.
The templates file typically ends with the following line to notify Eclipse that Jess templates have been parsed:
(provide wmeTypes)
CTAT creates an initial set of Jess templates for you to use. See Section 4.2.2.1, “Initial working memory contents” for more information.
The facts file contains the Jess facts that make up working memory for a given problem. CTAT loads this file (if it exists) when a behavior graph is loaded; otherwise, CTAT creates facts based on the current student interface. See Section 4.2.2.1, “Initial working memory contents” for more information on this process.
One facts file (with file extension .WME) should exist for each behavior graph (with file extension .BRD).
![]() | Note |
|---|---|
The facts file must have the same name as the behavior graph file (less the filename extension difference) for CTAT to load it. |
The facts file typically begins with the following line to specify to Eclipse the templates file to read:
(require* wmeTypes "wmeTypes.clp")
The behavior graph is the file that represents the starting state of a problem, and, optionally, the correct and incorrect steps that comprise student problem-solving behavior for that problem.
In a cognitive tutor (Jess), the start state of the behavior graph is the only required node: the start state provides the initialization information necessary for CTAT to create a Jess representation of the problem. Tutoring is provided to the student based on the cognitive model and model-tracing algorithm; therefore, no other graph information is required. A complete behavior graph, however, can be used for semi-automated testing.