1 / 8

TAG

TAG. Task Action Grammars. TAGs. Context-Free Grammar Maps tasks to user actions Consists of…. Dictionary Lists simple tasks Rule Schemata: Grammer for language syntax. TAGs. Generate a consistent interaction language. Can be applied to: Command line interface. GUI. TAG Example.

caroun
Download Presentation

TAG

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TAG Task Action Grammars

  2. TAGs • Context-Free Grammar • Maps tasks to user actions • Consists of…. • Dictionary • Lists simple tasks • Rule Schemata: • Grammer for language syntax

  3. TAGs. • Generate a consistent interaction language. • Can be applied to: • Command line interface. • GUI.

  4. TAG Example • A graphics system has a line-drawing function. To select the function the user must select the ‘line’ menu option and choose the type of line to draw. The line-drawing function allows for several types of lines to be drawn. For example: to draw a polyline which is a sequence of line arcs between points. The user selects the points by clicking the mouse button in the drawing area. The user double clicks to indicate the last point of the polyline. See example to the right of a polyline. The BNF (Backus-Nuer-Form) definition of this process at a high level is presented below. draw-line ::= select-line + choose-point | choose-point + last-point. • Assume that the above menu is visible and accessible. From this starting point, develop a TAG which describes a grammar for this process.

  5. DrawALine [LineType] := select-line[LineType]; select-line[Line = Selection of LINETYPE] := MouseMove[location] + Click[1] Trace[]:= TRACE ON SCREEN MouseMove[Location= xy screen position] := move_mouse_to_target xy StartLocation[location=positionOfMouse]:= MouseMove[location] + Click[1] EndLocation[location=positionOfMouse] := MouseMove[location] + Click[2] Click[1 = OneMouseClick] := SingleClickMouse Click[2 = TwoMouseClick] := DoubleClickMouse NormalLine[from = Starting Location, to = Ending Location] := StartLocation[from] + EndLocation[to]; SingleArrow[from = Starting Location, to = Ending Location] := StartLocation[from] + EndLocation[to]; DoubleArrow[from = Starting Location, to = Ending Location] := StartLocation[from] + EndLocation[to];

  6. PolyLine[from = Starting Location, to = Ending Location] := StartLocation[from,1] | StartLocation[location] + EndLocation[to]; ClosedLine[from = Starting Location, to = Ending Location] := StartLocation[from] | StartLocation[location] + EndLocation[to]; FreeForm[from = Starting Location, to = Ending Location] := StartLocation[from] + Trace + EndLocation[to];

  7. Benefits • Interaction is consistent. • User will use the same set of actions to perform all tasks • Known as Action -> Task • Same actions for all Tasks.

  8. Problems • Physically it is difficult to double click a line ending and have it located at the correct spot. • Alternative is to click down for start, and release at end. • Problem is polyline which requires several clicks • Microsoft's solution is to have different lines drawn different ways. • Not consistent but practical given the physical constraints. • When do practical constraints override consistency?

More Related