Chris Hand 1 (photo), Mark Skipper 1 and Andrew Dinsdale 2,
De Montfort University,
School of Computer Science,
Leicester, UK and
2. Wayne State University, Detroit,
Michigan, USA.

Electronic mail: Chris Hand:, Mark Skipper:, Andrew Dinsdale:

Collaborative Object-Oriented Design using
Role-Playing in Shared Virtual Spaces

Chris Hand*, Mark Skipper* and Andrew Dinsdale+

* School of Computing Sciences

De Montfort University

Leicester, UK


+ Department of Communication

Wayne State University

Detroit, Michigan, USA



Object-Oriented (OO) software design aims to model the real world by representing it as software "objects". Communication between objects (often modelled as message passing) and the creation/destruction of independent objects while the software is running are two dynamic aspects which require new design techniques.

The use of computer-based "artificial realities" to make abstract concepts more understandable by turning them into concrete objects can be traced back (at least) to Papert's Microworlds [10]. The primary aim of the CRCMOO project described in this paper is to create an artificial reality which supports OO design sessions. It aims to do this in a structured manner and, as far as possible, to maintain flexibility allowing local and remote participants to discuss the designs as effectively as a face-to-face equivalent.

After briefly describing the "CRC cards" OO design technique and MUDs/MOOs, this paper goes on to explain how we brought these two techniques together to create the CRCMOO virtual design environment. Finally we discuss some possibilities for developing a theoretical understanding of this kind of environment and its use.

CRC Cards

CRC Cards is a technique used by designers of OO software to evaluate the systems they are creating by role-playing the software objects of which they are composed. Introduced by Beck and Cunningham in 1989 [1], the technique is now widely used by software designers.

A CRC session comprises a number of participants, each of whom holds a number of 6" x 4" index cards. Each card represents a software object, with the class name, responsibilities, and collaborators related to the object written on the card (hence "CRC"). During the session participants take on the roles of objects according to the cards they hold, send messages to other objects and generally run through a scenario from the objects' point of view in order to gain insight into the appropriateness of the object model they have design. On a higher level, during the session participants will also be discussing the model, and perhaps modifying it (by adding more cards, for instance).

Our classroom experience of CRC is that it is essentially a dynamic technique, and that this creates a number of problems. The results of a session are not defined by its end state, but by the actions by which it was reached. Participants continually switch perspective between their own and that of the objects, which often causes confusion. Keeping track of turn-taking and the recent responses of other participants tends to be difficult in the ensuing mixture of conceptual levels and discussions.

We were motivated to create a computer-mediated version of CRC in the expectation that this would allow the dynamics of a session to be more closely supported, recorded and controlled. Beck and Cunningham argue that "the most effective way of teaching the idiomatic way of thinking with objects is to immerse the learner in the "object-ness" of the material" [1]. CRC's emphasis on immersion and role-playing led us to consider a computer-based virtual world approach.

MUDs and MOOs

In the 1980's, as the Internet grew, traditional text-based role-playing computer games evolved to support multiple players, and "multi-user dungeons" or "MUDs" were born. When connected to a MUD over a network, a user types and receives text messages concerning the status of the "player" who represents them and of the world it inhabits. Unlike the older adventure games, objects in this virtual world include other characters controlled by real users, with whom one can hold conversations or perform useful work.

Distinguishing features of MUDs include situation and immersion. In contrast with simple text-based conferencing or "chat" systems, MUD users are situated in a virtual world, giving them a "place" to perform activities. Most MUDs allow the world to be modified and extended by the players, resulting in many different worlds being created, each in a different MUD. This sense of place is an important factor in the many MUDs which aim to create a "virtual professional community" [3], whether for astronomers [5], media researchers [3], or students of computer programming [12].

Users of MUDs often find themselves "immersed" in the virtual worlds, in that they feel or behave to some extent as though they were actually in that world. Although the term "immersion" is often reserved for sensory immersion in the computer-generated images of graphics-based Virtual Reality, we feel that text-based systems are equally capable of engaging their users in virtual worlds [7], in a similar way to which readers may be immersed in books just as much as viewers may be immersed in a film. The key difference between these media and computer-based virtual worlds is that the latter are interactive (and relatively undeveloped as media).

MOO [5] is an Object-Oriented MUD (MOO stands for "MUD, Object Oriented"). As well as accepting users, rooms and other entities. The freely-available MOO server software created by Pavel Curtis of Xerox Palo Alto Research Center (PARC), USA, is now in use at many sites across the Internet including MIT and Xerox. An experimental MOO has been running in De Montfort University's School of Computing Sciences since November 1993. Known as "DMUMOO", this system has been used for various experiments including on-line conferences [6] and a virtual trade exhibition on the Internet [8].

The CRCMOO Virtual Design Environment

Our virtual CRC cards environment is implemented as a "CRC Room" within DMUMOO. Along with some extra player features and objects, the room was written in moo code specifically for this project, implementing our own empirically-derived guidelines as rules for turn-taking. These form a strict protocol defining the structure of message sending and receiving. However, we were concerned that the resulting computer-mediated system should not remove the flexibility and opportunity for discourse during a session which is such an important part of the CRC technique. Therefore there is no restriction on the format of discussion about the session, a higher level phenomenon.

Figure 1: Levels of Representation in and around CRCMOO

In fact one of the possible pitfalls with the computer-mediated version of CRC is that there are 5 different levels or dimensions of meaning, which is potentially confusing for users (see Figure 1; bold arrows indicate representation). We expect to address this issue further, perhaps by carefully modifying the metaphors used to make each dimension either transparent or easier to grasp.

To some extent, the problems described in Section 0 may be overcome by recording the on-line interactions. As text scrolls up the screen participants may refer back to previous utterances at any time - impossible in a normal voice-based CRC session. The whole session may be logged to a text file (instant "minutes"), allowing a record to be kept of the actions performed during the session.

However, simply logging the utterances doesn't help in tracking the object-to-object interactions (as played by the participants). For this a custom "log" object was programmed, providing a structured record of all messages sent between objects and other "formal" actions performed by participants.

The management of turn-taking is supported by the notion of a "token", stored on the card representing the object which should next send a message. Although participants may chat freely throughout the session, on the more formal level only one participant - whoever has the card with the token - may send a message at any time.

Further Development

Currently interaction is entirely text-based, although work recently began on a new backward-compatible client with a Graphical User Interface which will enable participants to organise cards spatially.

Along with detailed user trials, further work planned includes adding hypertext support via the World-Wide Web and using CRCMOO in teaching (MOO has already been used successfully for teaching OO programming to complete novices [4], including adults and children). By using the flexibility of the MOO to create different kinds of virtual environment, it is expected that CRCMOO would allow the same to be done for Object-Oriented Design.

Towards a Theoretical Basis

Theoretical understanding of collaborative computer-based environments such as CRCMOO is still in the earliest stages of development. We aim to incorporate a number of different influences in our studies, as described below.

As computers and their software have become more complex we have turned to various metaphors to help us understand how to use them, for example the "desktop metaphor" of the Macintosh and Microsoft Windows. However, in recent years a certain amount of attention has been given to using the Theatre as a guiding metaphor, in particular by Brenda Laurel [9] who suggests that instead of focusing on interface objects which users can manipulate, we should consider human-computer activity as "designed experience" which aims to engage the user directly:

Designing human-computer experience isn't about building a better desktop. It's about creating imaginary worlds that have a special relationship to reality - worlds in which we can extend, amplify and enrich our own capacities to think, feel and act.

[9, p32]

In the domain of virtual worlds, and in particular those designed for computer-mediated human-to-human interaction, this "dramatic" perspective is gradually being adopted by a number of researchers (eg. [2]). More specifically useful to CRCMOO may be Laurel's adaptation [9] of Aristotle's six qualitative elements of structure (described in the Poetics). This layered model, which describes the elements of drama and the relationships between them, was adapted by Laurel and applied to Human-Computer Interaction (HCI), which she suggests has analogous features at each level. We hope to be able to use this model to describe the structure of interaction on each level of CRCMOO, extending it to two dimensions to account for each level of representation shown in Figure 1.

The field of Computer-Supported Co-operative Work (CSCW) emerged in the mid-eighties [14] with the aim of supporting group work using computers. A multidisciplinary domain, CSCW encompasses technological aspects such as multi-user group-support software ("groupware") and communication systems, while on the other hand it also embraces human aspects such as the dynamics and organisational aspects of groups.

An interesting - if controversial - theory applied to CSCW is Speech Act Theory [15], which deals with the way that utterances interact with participants' actions. In particular, a generic structure known as a conversation for action (CfA) is a template for an interaction between participants. Though criticised for being inadequate for describing "real" conversational structures, when modelled as a state transition diagram the CfA has close similarities to the structure of the formal protocol enforced in CRCMOO. We therefore intend to look further into the feasibility of applying Speech Act Theory to modelling formal and semi-formal interactions in CRCMOO.

Scaling up from person-to-person and small group interaction we encounter the organisation in which the work is being performed. Karl Weick's [13] work in the psychology of organisations stresses that participants create organisation through communication. Through communication they select and retain knowledge, perceptions and processes and actually enact or create their own environment. In the case of CRCMOO, participants should be immersed in the on-line role-playing and enact their environment suitably. Ideally the CRCMOO environment should be entirely defined by the participants to suit their own purposes. From a commercial point of view this might be visualised as creating a customised "Corporate Virtual Workspace" [11], an evolving, design-oriented ecology in which virtual teams of software designers use tele-working and virtual worlds technologies to create new dynamic forms of software.


[1] Beck K., and Cunningham, W. "A Laboratory for Teaching Object-Oriented Thinking" in OOPSLA '89, ACM Conference on Object-Oriented Programming Systems, Languages and Applications (Meyrowitz ed.), Reading, MA. Addison-Wesley (1989) p 1-6.

[2] Benjamin, I. and Cooper, M. "Dramatic Interaction in Virtual Worlds". Proceedings of Second UK VR-SIG Conference, Reading, UK. 1st December 1994. pp 17-24.

[3] Bruckman, A and Resnick, M. "Virtual Professional Community: Results from the MediaMOO project". Proceedings of 3CyberConf, the Third International Conference on Cyberspace. May 1993.

[4] Bruckman, A. "Programming for Fun: MUDs as a Context for Collaborative Learning". National Educational Computing Conference, Boston MA (USA). June 1994.

[5] Curtis, P and Nichols, D. "MUDs grow up: Social virtual realities in the real world". Proceedings of the 1994 IEEE Computer Conference, San Francisco, February 1994.

[6] Hand, C. "Experience of a Virtual Conference". Presented at Dept of Computer Science Summer Symposium, De Montfort University Leicester. August 1994.

[7] Hand, C. "Other Faces of Virtual Reality". in Proceedings of the East-West Conference on Multimedia, Hypermedia and Virtual Reality (MHVR'94), Moscow, Russia, September 14-16 1994. pp69-74.

[8] Hand, C and Skipper, M. "TaTTOO'95 On-line - A Report". in Proceedings of TaTTOO'95: Teaching and Training in the Technology of Objects, Vol 3. De Montfort University, Leicester. January 4-6 1995.

[9] Laurel, B. Computers as Theatre. Addison-Wesley, 1991.

[10] Papert, S. Mindstorms: Children, Computers and Powerful Ideas. New York: Basic Books, Inc., 1980.

[11] Pruitt, S and Barrett, T. 1992. "Corporate Virtual Workspace". in Benedikt, Michael (ed), Cyberspace: First Steps. MIT Press, 1992. pp383-409.

[12] Speh, M. "A Virtual Programming Course Using the MOO". Diversity University Journal of Virtual Reality Education, Vol 1 No 1. 1994. (electronic publication.)

[13] Weick, K. E. The Social Psychology of Organizing (2nd Ed). McGraw-Hill, 1979.

[14] Wilson, P. "Introducing CSCW - What It Is and Why We Need It". in Computer-Supported Cooperative Work, S. A. R. Scrivener (ed). Ashgate Publishing, 1994. pp1-18

[15] Winograd, T and Flores, F. Understanding Computers and Cognition: a new foundation for design. Addison-Wesley, 1986.



For the Cyberbridge Gateway use the key