SR-Task Grammars: A Formal Specification of Human Computer Interaction for Interactive Visual Languages