While the <context_message> places the
      actions of the student in context of the curriculum, the <tool_message> captures the actions of the student.
      Create a <tool_message> whenever the student
      interacts with the tool or the tool itself performs some action.
<tool_message> has a single, required
        attribute: context_message_id. The value
        of this attribute must be the same for all tool and tutor messages
        described by the opening <context_message>,
        and it should be identical to the one specified in the <context_message>.
semantic_event (required)
replay (unused by DataShop)
The content model of the <meta> element is identical to the
          element of the same name contained in the <context_message>. It is described in Section 2.4.2.1, “<meta>”.
This element describes the specifics of the student's interaction with the tool, primarily the selection, action, and input. It contains the details of a single observable change in the state of the user interface. This change in state is usually the result of a student action, but a tutor could cause a change in tool state as well. In either case, the tool message is used.
| ![[Note]](images/note.gif) | Note | 
|---|---|
| The selection, action, and input (SAI) used in an  
 | 
event_id: an identifier for
                the event. This attribute is not used by DataShop and should
                not be used.
A description of the interface element that the student selected or interacted with (for example, "LowestCommonDenominatorCell"). It should be unique within the user interface so that the student's action is identifiable. Some actions will involve multiple selections (see the section called “Example of <event_descriptor>” for an example of this usage).
A description of the manipulation applied to the selection. Many interface widgets have a single action, but multiple actions are also possible.
The input the student submitted (e.g., the text entered, the text of a menu item or a combobox entry).
The following is an example of a tool message from ChemCollective's Virtual Lab (VLab).
<tool_message context_message_id="0CEF2E07">
   <meta>
      <user_id>A1371</user_id>
      <session_id>148852539062A137120</session_id>
      <time>2005-17-9 5:16:42</time>
      <time_zone>US/Eastern</time_zone>
   </meta>
   <semantic_event transaction_id="B503948-9164-DD83" 
      name="SOLUTION_SET_THERMAL" />
   <event_descriptor>
      <selection type="flaskID">2500mL Bottle (ID2)</selection>
      <selection type="flaskName">2500mL Bottle</selection>
      <selection type="flaskTemp">303.15K</selection>
      <selection type="flaskInsulation">false</selection>
      <action>SOLUTION_SET_THERMAL</action>
      <input>303.15</input>
   </event_descriptor>
</tool_message>
            The <semantic_event> element
          describes a high-level, meaningful event, as opposed to a low-level,
          non-semantic event, which should be captured in the <ui_event> element. This notion of
          separating UI events and semantic events is taken from the proposed
          IEEE LTSC specification (Ritter).
This element also occurs in the tutor_message element.
| ![[Note]](images/note.gif) | Note | 
|---|---|
| 
 | 
| ![[Note]](images/note.gif) | Note | 
|---|---|
| DataShop expects either a single  | 
transaction_id: a string
                that uniquely identifies the event within the session. If this
                tool message is intended to be paired with a tutor message,
                the transaction_id value should
                correspond with the one defined in the tutor message.
name: a semantic
                description of the event. When exported by DataShop, the value
                is shown in "Student Response Type" column.
| ![[Note]](images/note.gif) | Note | 
|---|---|
| DataShop expects a variety of semantic event names in tool messages and correspondingly paired event names in tutor messages. Though you can enter any event name, conforming to one of the existing pairs may be more useful for analysis in DataShop. Current pairs include: 
 In these pairs, the first value would appear in the
                   For an example of this usage, see the section called “Examples of <semantic_event>” below. | 
trigger: The agent that
                caused the change in state within the tool. Should be USER if the user caused (or performed)
                the action; DATA if the tool
                caused (or performed) the action. This attribute is not
                imported by DataShop.
subtype: A further
                classification for this semantic event. For example, the CTAT
                software describes tool-performed actions as having subtype tutor-performed and trigger data (for an XML example, see the section called “Examples of <semantic_event>”). When exported by
                DataShop, this attribute value is shown in the "Student
                Response Subtype" column.
Corresponding semantic event elements in tool and tutor messages.
<tool_message context_message_id="C2badc36e:113e3ba9c5c:-7fe5"> <problem_name>kl</problem_name> <semantic_event transaction_id="T2badc36e:113e3ba9c5c:-7fe7" name="ATTEMPT" /> <event_descriptor> <selection>dorminMultipleChoice1</selection> <action>UpdateMultipleChoice</action> <input>Option0</input> </event_descriptor> </tool_message> <tutor_message context_message_id="C2badc36e:113e3ba9c5c:-7fe5"> <problem_name>kl</problem_name> <semantic_event transaction_id="T2badc36e:113e3ba9c5c:-7fe7" name="RESULT" /> <event_descriptor> <selection>dorminMultipleChoice1</selection> <action>UpdateMultipleChoice</action> <input>Option2</input> </event_descriptor> <action_evaluation>INCORRECT</action_evaluation> </tutor_message>
Tutor-performed action as logged by CTAT. In this example, the tutor performs two steps for the student.
<tool_message context_message_id="C-793fdeed:11489b4f0f8:-7f9e">
  <problem_name>13-26</problem_name>
  <semantic_event transaction_id="T-793fdeed:11489b4f0f8:-7f6e" 
    name="ATTEMPT" trigger="DATA" subtype="tutor-performed" />
  <event_descriptor>
    <selection>convertDenom2</selection>
    <action>UpdateTextField</action>
    <input>6</input>
  </event_descriptor>
</tool_message>
<tool_message context_message_id="C-793fdeed:11489b4f0f8:-7f9e">
  <problem_name>13-26</problem_name>
  <semantic_event transaction_id="T-793fdeed:11489b4f0f8:-7f68" 
    name="ATTEMPT" trigger="DATA" subtype="tutor-performed" />
  <event_descriptor>
    <selection>unreducedDenom</selection>
    <action>UpdateTextField</action>
    <input>6</input>
  </event_descriptor>
</tool_message>
            Use this element to log low-level user interface events that
          are non-semantic. For example, you could use a <ui_event> to describe a mouse click; a special
          format for machine processing (aimed at fine-grained reproduction
          during playback); or a description intended for human
          readers.
| ![[Note]](images/note.gif) | Note | 
|---|---|
| DataShop imports only the first  | 
id: an identifier for the
                event. This attribute is not used by DataShop and should not
                be used.
name: a classification for
                the event
A tool message may include zero or more <custom_field> elements. See Section 2.4.2.7, “<custom_field>” for details on the content model
          of this element.
The <replay> element's
          content model allows for any content (character data or other
          elements). It is intended as a free-form area where a tool (such as
          the Chemistry VLab) can put extra information so that these logs can
          be fed back into the tool for replay.
| ![[Note]](images/note.gif) | Note | 
|---|---|
| DataShop does not import the content of the  |