Task Action Grammar as a notation

Students on this course will already have been introduced to the notation of Task Action Grammar. As a reminder, here is a small example. This is for entering data into a table.


Primitive actions:

"BACK-TAB", "TAB", MOUSE-point, MOUSE-click and TYPE %... means the user types the thing after the %.

Feature types:

Unit: number, name
Cell: to-left, to-right, to-above, to-below
Edge: right, left, none

Rule schemas:

AR1    Add[Unit = name] := TYPE %name
AR2    Add[Unit = number] := TYPE %number
 
LR1    Locate[Cell = to-left, Edge = right/none] :=  "BACK-TAB"
LR2    Locate[Cell = to-right, Edge = left/none] :=  "TAB"
LR3    Locate[Cell = any, Edge = any] := Denote
 
DR1    Denote := MOUSE-point + MOUSE-click


Apply the CDs to TAG. Consider viscosity, for example - how much work is required if another feature is to be added? Are there any hidden dependencies? Is premature commitment involved? And so on.

Assume that the TAG is being created with the use of a simple word processor.