the Step could imply the performance of an
elementary Action or activity. There is another
special type of Step, in which the user decides if he
wants to jump to a concrete Step of the actual
Method, or to continue with the next Step. Finally,
all Methods should end in a last Step that indicates
that the Goal has already been reached or
accomplished, and after which we will return to the
‘father’ Goal in the hierarchy.
On the other hand, two aspects are considered
fundamental for the success of GDI and the
interfaces that support them. The first of them is the
fact that their specification and design process can
be carried out based on main interface engineering
techniques and methodologies, as those based on
tasks hierarchical analysis (John and Kieras, 1996;
Kieras, 1997b; Mori, Paterno and Santoro, 2002).
Anyone of those techniques can be taken like
reference. Nevertheless, even NGOMSL (Kieras,
1997a), the methodology (and the notation) more
adequate for GDI, has needed to be adapted and
extended, being converted in the GDI methodology
already presented and described in (Carrillo,
Falgueras, Guevara, 2005), whose basic elements we
summarized now.
The generic format of a Method specification is:
Method for: <goal> [ cancelable
[disable_if <condition_for_system>]
[effect <effect_on_the_system>] ]
1) ...
i) <step_i>
[disable if <condition_for_system>]
[effect <effect_on_the_system>]
...
n) Return with goal accomplished
[effect <effect_on_the_system>]
and each <step_i> (from 1 to n-1) could be one of:
accomplish <goal>
make <action>
decide: if <condition_for_the_user>
then goto <step_#>
goto <step_#>
Selection has the following format:
[For the system>]
Selection for: <goal> [cancelable
[disable if <condition_for_the_system>]
[effect <effect_on_the_system>] ]
a) <option_a>
...
n) <option_n>
and any <option_i>:
if <cond_for_user> [then accomplish <goal>]
[disable if <condition_for_the_system>]
[effect <effect_on_the_system>]
The disable if clause let to define conditional
Steps or Options
that will have to be disabled in case
that the state of the system is the specified in the
<condition_for_the_system>. Also, it will be
possible to express Steps or Options that will have a
concrete effect on the system, modifying their state.
A second fundamental aspect would be the
possibility of using a software tool that would
automate the process of generating a prototype. With
this purpose we have developed the GDIT tool.
2 THE GDIT TOOL
The main aim of the tool that we present,
is supporting and to facilitating the design
and specification of new Goals Driven user
Interfaces, using the specialized GDI methodology,
and based on a model, generating the corresponding
GDI prototype. Nevertheless, GDIT has a second
aim. There are a few tools specifically designed to
support building GOMS models, but they have not
yet seen wide acceptance in any modeling or
development community (Baumeister, John and
Byrne, 2000). For this reason, and given the
similarity between GDI and NGOMSL notations we
have developed GDIT so that it is a good alternative
tool for building GOMS models, using NGOMS
methodology. Along next paragraphs we describe the
structure (Figure 2) and the main elements of GDIT.
2.1 “Graph Window”: The Visual
Representation of a Specification
Since GDI and NGOMSL are essentially
methodologies for hierarchical tasks analysis and
specification, in our environment, models are
structured in a hierarchical way.
Each project or model will be represented in the
Graph Window by means of a (cyclic or acyclic)
graph. Each node or component will map to, either a
Goal, or to an elementary Action. Each Action is a
leaf of the graph. There are another three kinds of
nodes: the node that corresponds to a Goal that is
accomplished following a Method, the node that
corresponds to a Goal that implies a Selection and,
finally, the node that doesn't follow any of the
previous characteristics, the indefinite node.
Indefinite node represents a Goal that, although it
can be specified at an higher level of detail, the
analyst considers that it is not necessary to be done
in that moment. Each kind of node will be
distinguished by a colour. In addition, for each node,
further information can be given (clicking the node
with the right button of the mouse), such as its type,
the category, its specification, etc (see section 2.2).
ICEIS 2006 - HUMAN-COMPUTER INTERACTION
136