Evaluation and improvement
of the Lydian visualization environment:
An interdisciplinary project
in the human-computer
interaction and network areas
Background:
The field of
information visualization has arisen to allow computer users to access, explore,
and manipulate complex data sets. This field is based partly on advances in
computer graphics and cognitive psychology. One area in which visualization
techniques may be applied to enhance understanding of computer systems is the
field of distributed algorithms. As distributed algorithms may involve a large
amount of data describing local state information and complex interactions
between elements, it is often very difficult to achieve an understanding of
their control flow (and performance behaviour) only from a pseudo-code description given in a book or
technical paper, and the explanation given by a teacher concisely in the static
blackboard. Visualization may be used to illuminate the execution of the algorithm
and help to find problems in the implementation.
A software
technique was recently developed in the Department of Computing Science at
Chalmers University of Technology. Lydian is a
simulation and visualization environment for distributed algorithms, which
provides to the students an experimental environment to test and visualize the
behaviour of distributed algorithms.
Lydian offers the
students an easy, visual way to describe their own networks, including traffic
parameters, or select one from a database included with Lydian. Subsequently
students can use these network-descriptions in order to see the behaviour of
the protocol or algorithm running on top of them.
Further, it
offers a database of basic distributed algorithms and protocols that the
student can select from. The database so far contains algorithms for
broadcasting, spanning tree constructions, resource allocation, leader election
and counting networks. Students can insert a new distributed algorithm in
Lydian by using a high-level description language. The simulator of Lydian
takes as input the network description file and the distributed algorithm and
creates an execution (run). This execution describes the behaviour of the
algorithm for the specific execution parameters.
Although Lydian
has been used by numerous students on an informal basis, no rigorous usability
evaluation has been performed. Such evaluation can identify problems and
solutions from the perspective of human-computer interaction (HCI). Evaluation
normally leads to recommendations for usability fixes and design improvements.
Implementing software changes based on these recommendations is quite feasible,
given the modular nature and reasonable size of the Lydian software. The
proposed changes will increase the effectiveness of Lydian for its primary
purpose – simulating and teaching distributed algorithms.
The
interdisciplinary nature of this project will be both a challenge and a reward.
The challenge will be in acquiring and coordinating expertise in two sub-fields
of computer science – HCI and distributed systems – either individually or by
specializing members of the project team. The reward will be in increased
learning, and in simulating an industrial development environment (which is
normally interdisciplinary).
Ultimately,
success in this project will help to improve the teaching activities of the
Department of Computing Science.
Project Goals: The project has two primary goals. First, students
will apply HCI methodologies to evaluate the usability of the Lydian
environment and to suggest improvements. Second, students will design
improvements to Lydian based on the suggested improvements, and then implement
these improvements. The first goal should be achieved during Reading Period 3,
and the second goal during Reading Period 4.
Useful courses: Human-Computer
Interaction, Distributed
Systems, Distributed
Systems II.
Supervisors:
Marina Papatriantafilou, and Phillippas Tsigas