Designing computer systems to support collaborative work is hard. One of the major reasons for this is the requirement that such systems be flexible, able to adapt themselves to different users or groups, able to track changes in group behaviour over time, and able to function efficiently in different computational and infrastructural environments. For the designer of a toolkit for building CSCW applications, these problems are heightened, since a toolkit needs to be applicable to a range of applications, each of which require flexibility along these different dimensions. This paper proposes a toolkit based on the theories and techniques of computational reflection, which enable the implementation of malleable, open-ended systems with dynamic properties which are particularly applicable to collaborative systems design.
[1]
Thomas P. Moran,et al.
Questions, Options, and Criteria: Elements of Design Space Analysis
,
1991,
Hum. Comput. Interact..
[2]
Ramana Rao,et al.
Implementational Reflection in Silica
,
1991,
ECOOP.
[3]
Daniel G. Bobrow,et al.
Common lisp object system specification
,
1988,
SIGP.
[4]
Daniel G. Bobrow,et al.
Common Lisp Object System Specification X2JI3 Document 88-002R
,
1988
.
[5]
David J. Gilmore,et al.
Towards a cognitive browser for OOPS
,
1992,
Int. J. Hum. Comput. Interact..
[6]
Brian Cantwell Smith,et al.
The implementation of procedurally reflective languages
,
1984,
LFP '84.
[7]
John McCarthy,et al.
LISP 1.5 Programmer's Manual
,
1962
.
[8]
John A. Allen,et al.
The anatomy of lisp
,
1980
.