This is the archived EQUIS Lab home page. For newer information, please look here.
The EQUIS Lab conducts research on how software engineering can contribute to the design and development of more usable computer systems.
For more information, see the EQUIS Lab Bibliography, the list of group members and the Equis Wiki.
Workspace
Model: This is an architectural model supporting the design and
development of interactive systems involving multiple users collaborating via
heterogeneous computing devices. The novel aspects of the workspace model are
its support for runtime evolution of the structure of the interactive
system, and its principled refinement from conceptual to implementation
architecture. Two implementations of the workspace model are ongoing, one in
C++ and one in Python.
Software Design
Board: This tool supports the collaborative work of software engineers.
The novel aspect of the software design board is its support for transitions
between different styles of work: from asynchronous to same-time collaboration,
from brainstorming to formal work, and from one location to another. The design
of the software design board was based on ethnographic study of six development
teams at IBM. The software design board implementation was based on the use of
architectural tactics for groupware systems.
Model-Based Testing of Collaborative
Systems: Systems allowing groups of people to collaborate over a distance
are notoriously difficult to test, as they involve the interaction of numerous
components distributed over a network. This project attempts to use formal
models of critical parts of collaborative systems to automatically generate
runtime tests to validate correct operation over time. This project is joint
work with Juergen Dingel
and Namzak Labs.
Computer-Aided
Exercise: The goal of this research is to investigate whether it is
possible to combine video games, an activity that many children love, with
beneficial exercise. There are two primary components to this work: to
ascertain whether it is possible to develop compelling and entertaining
computer games with an exercise component, and to determine whether such games
are good exercise that will improve the health of children who play them.
Clock: Clock is a programming language supporting the development of distributed, multimedia groupware systems. This project investigated software architecture for groupware systems and implementation techniques for distributed multiuser applications. The project showed how visual programming can be a useful technique in developing and refining software architectures for multiuser, multimedia systems, and that pure functional programming is a very powerful notation for scripting user interface prototypes.
Rosetta: This project led to the development of a process-neutral tool for object-oriented analysis and design. Rosetta was constructed using a web-based architecture, allowing easy access to design documents by distributed members of a project team. Rosetta featured both static and dynamic checkers that validated the conformance of implementations to their UML designs. Rosetta is joint work with Arthur Ryman of the IBM Toronto Software Solutions Laboratory.
Vista: Vista is a visual environment that helps link the differing perspectives of user interface designers with software engineers. Designers and engineers could use Vista to view links between design artifacts such as task models, scenario descriptions, software architectures and task-oriented specifications. The Adligo tool was used to semi-automatically generate links between existing design artifacts. Vista was joint work with Judy Brown of Victoria University of Wellington, New Zealand.
The name of the lab is derived from the Latin eques, referring to a Roman cavalryman or knight.