CHI '95 ProceedingsTopIndexes
Doctoral ConsortiumTOC

Merging Language, Direct Manipulation, and Visualization: A Programmable Research Environment for Diffusion- Limited Aggregation

Eric Blough

Department of Computer Science, CB 430
University of Colorado at Boulder
Boulder, Colorado 80309-0430
blough@cs.colorado.edu

© ACM

Abstract

As domain experts with programming expertise, computational scientists require the flexibility of programming languages, yet appreciate the convenience and power of direct-manipulation interfaces and scientific visualization tools. Although traditionally separate, direct- manipulation and programming can support each other in the same application [2]. In such an environment, graphic and textual language elements can be freely intermingled. We are in the process of developing a programmable environment to support research in diffusion-limited aggregation (DLA), an area of computational science, as an exploration of the issues surrounding these ideas.

Keywords:

Programming environments, End-user programming, User interface components, Scientific visualization, Visual programming, Simulation, Computational science, Programmable applications,

Introduction

Programming environments have typically fallen into three rough categories: text-based general-purpose environments, task- or domain-specific end-user environments within an application context, and purely visual environments [3]. The needs of computational scientists span these categories, since they construct sophisticated programs using general-purpose environments, yet (like end users) they are interested in computation only to the extent that it addresses a problem in the domain of interest. This situation suggests that a hybrid environment would provide the best support for their research activities.

Successful end-user programming environments have evaded some of the cognitive barriers to programming, with spreadsheets and computer-aided-design systems being the classic examples. We contend that computational scientists can benefit from the application of techniques discussed in [4] and [5] to their tasks.

Spreadsheets offer a good example of a powerful and flexible combination of direct manipulation and textual programming. To specify the sum of a range of cells in Microsoft Excel *, the user can either type the SUM function, or click on the _ key on the toolbar. To specify the range of cells to be summed, she or he can drag the mouse across the relevant cells, or type the cell addresses. This is a very simple example of a powerful class of programming tools which we are pursuing in our research.

DIFFUSION-LIMITED AGGREGATION

We are grounding our research in a particular area of computational science: diffusion-limited aggregation. Diffusion-limited aggregation (DLA) is concerned with the characteristics of clusters formed by the aggregation of randomly moving particles [6]. DLA researchers write computer programs to simulate cluster formation and to analyze the properties of the resulting clusters. The simulations typically consume substantial time and computer memory, largely due to constraints on cluster formation.

Some of the simulation models store the cluster in a tree structure, and the analysis procedures can be quite sophisticated. One researcher whom we interviewed had written over ten thousand lines of analysis code. The same researcher had implemented his own three-byte integers to save memory. Clearly, DLA research involves writing real programs.

Since clusters grow in space over time, spatial and temporal information are fundamental to DLA research. Papers published in the field almost invariably include pictures of DLA aggregates, and many of the cluster characteristics are most naturally described in visual terms. The growth of a cluster over time is shown either by a color scheme or by successive pictures.

Our literature search and interviews indicate that the vast majority of DLA research takes place non-interactively, and that visual representations are typically static. Given the exploratory nature of the research, interaction and visualization would seem to be clear benefits.

A PROGRAMMABLE RESEARCH ENVIRONMENT

To explore the intertwined roles of direct manipulation, visualization, and programming, we are developing a programmable research environment for DLA (PREDLA). PREDLA will support the interactive construction and analysis of DLA clusters through textual programming, direct manipulation, or the two in combination.

PREDLA is being written in MIT Scheme [1], a dialect of LISP. Although all of PREDLA's functionality is available through the Scheme interpreter, the most common interactions (such as running simulations, displaying and analyzing clusters and parts of clusters) will be supported by direct manipulation. PREDLA will also support the representation of arbitrary functions as combinations of graphics and text which can be called by direct manipulation.

Since research paths are difficult to anticipate, there will be times when a researcher will need to add functionality that PREDLA does not provide, such as a new simulation model, or a new analysis technique. PREDLA's design supports this process, too. PREDLA will not be a monolithic application, but consists of a carefully constructed set of language primitives and higher-level tools built from these primitives. The intent is that a researcher will be able to use and/or modify existing higher-level functions and data structures rather than starting from raw Scheme.

GOALS

PREDLA is designed to support different kinds of interaction with a DLA simulation, so that an individual researcher can choose a combination of tools appropriate to the task at hand and to her or his own inclination.

We expect to see several higher-level results in the context of PREDLA. First, the direct-manipulation tools should reduce the cognitive load for the researcher, by keeping important features of the simulation and analysis visible. Second, the organization of the language primitives should facilitate the production of new functionality without sacrificing the fine control frequently required by programmers. Third, the availability of a large number of different tools in PREDLA, coupled with the immediacy of visualization and direct manipulation, may contribute to a richness of interaction not found in conventional computational science environments.

Finally, we wish to determine whether the lessons learned from PREDLA have any utility in other computational science domains, or to the higher-level issue of programming in general.

EVALUATION

Several different evaluation methods are available to determine whether PREDLA is a qualitatively better research environment, and whether the tools and techniques instantiated in it can be generalized to other domains or to general-purpose programming. One form of evaluation will consist of comparisons between simulation and analysis tasks taken from actual DLA experiments with the same tasks performed in PREDLA. The usefulness of PREDLA's set of language primitives will be reflected in the ease or difficulty of using it to perform experiments that had not been conceived when PREDLA was developed.

Although few DLA researchers are immediately available to us, we are actively working to have DLA researchers use PREDLA, and we hope that some will use it for an extended time. Since PREDLA is a research environment, not a walk-up-and-use system, longer-term evaluation is likely to produce a more accurate portrait of PREDLA's strengths and weaknesses.

IMPLICATIONS

Detailed evaluation of PREDLA will not only indicate its success or failure as an application, but will also suggest which of its programming tools have promise, both for computational science and for more general programming environments. At best, we hope to be able to abstract some design principles for programmable research environments, and for programming tools that incorporate both text and graphics.

Acknowledgments

This work is supported by NSF Grant IRI-9210324. The author would like to thank the DLA researchers collectively for cheerfully submitting to interviews, the Massachusetts Institute of Technology Scheme Team for their assistance with MIT Scheme and the Scheme Widget Application Toolkit, and Digital Equipment Corporation for donation of equipment. Special thanks go to Peter Ossadnik, Scott Peckham, and Clayton Lewis for their willing help, and to Michael Eisenberg, the author's adviser.

References

1. Clinger, W. and Rees, J. Revised4 Report on the Algorithmic Language Scheme. MIT AI Memo No. 848b, 1991.
2. Eisenberg, M. Programmable Applications: Interpreter Meets Interface. MIT AI Memo No. 1325, 1991.
3. Glinert, E. P. Visual Programming Environments: Paradigms and Systems. IEEE Computer Society Press, 1990.
4. Lewis, C. and Olson, G. Can Principles of Cognition Lower the Barriers to Programming? in Empirical Studies of Programmers, Second Workshop. Ablex Publishing, 1986.
5. Nardi, B. A Small Matter of Programming:: Perspectives on End User Computing. MIT Press, 1993.
6. Witten, T.A. and Sander, L.M. Diffusion-Limited Aggregation, a Kinetic Critical Phenomenon. Physical Review Letters. 47, 19, p. 1400.

FOOTNOTES

Return to text .