Goals provide activation to behaviors that fulfill them. Behaviors are typically mid-level actions, many depending on several codelets for their execution. Our behaviors must support variables. VMattie's behaviors implement the usual preconditions, action, add list and delete list allowing variables in the contents of any of these. Picture an underlying digraph composed of templates of behaviors and their links.
Instantiated behaviors lie above their templates.
Real links are instantiated above their templates if the values of their corresponding variables match. Activation spreads only through instantiated links. The attention registers hold information extracted from an incoming email message. Acting like a structured blackboard, the attention registers make this information available to codelets that need it. Each register holds the content of a specified field.