CS349 - Developing User Interfaces - Winter 2005

Assignment 2 - Interface Description.

Due date. 23h59, February 20, 2005. No lates allowed.

In assignment 2 you are given a small interface in a window, and we ask you to do three things:

  1. Explore the interface and figure out ALL of its functionality.
  2. Draw a state diagram that describes what it does.
  3. Write a set of productions that describes what it does.

The state diagram should be created using the drawing program of your choice; the production system is, of course, text. Printed copies, on paper, should be placed in the submission box before the due time.

Comments about the interface.

All output from the interface (side effects in the terminology of production systems) is produced on the standard output in the window from which execution of the interface is initiated.

Interaction with the window manager is not part of the interface. Changes in appearance of the component when the tracker goes outside the comopnent window should be treated as interaction with the window manager: that is, ignored.

Termination of execution of the interface is not something you need to describe. But you should describe the output that is produced on termination.

The warning produced when program execution starts should not be included in your productions. I would get rid of it if I knew how.


  1. Lectures
  2. Course notes
  3. Tutorials.

Please use the production system syntax and format used in class, the tutorials and the course notes, not the syntax in the optional textbook.

What and how to hand in

What to hand in

  1. The state diagram. States and transitions should be labelled. There should be two explanatory tables.
    1. A table giving the details of each state.
    2. A table describing the input that triggers each transition, and any output generated by the transition.

    The state and transitions should be described at a level accessible and understandable to a fellow class member who is assumed to have done the assignment. Marks will be given for understandability.

  2. The production system. It should include a Definition section and a Productions section. All terms should be defined at a level understandable by to a fellow class member who is assumed to have done the assignment.
  3. A self evaluation written on your copy of the mark sheet.

How to hand in

Submit paper copies of your state diagram and your production system in the submission box on the third floor of MC (Box 2, slot 11). Your state diagram should be created using a drawing program, and should not be drawn by hand. Take advantage of symmetris to make the diagram orderly, neat and easy to read, because there will be marks for presentation.

Your production system should be created using using a word processor using the following format.

      v1{ val1, val2, val3 } = val1 // Meta-language description
   Button // productions affecting the on-screen button
      <conditions> => <actions>
   Keyboard focus

Return to: