Multi-user Object-Oriented Environments
Network-based computer environments emulating selected aspects of the physical world and allowing interaction among their human users first appeared in the late 1970s. These environments implemented a networked version of a role-playing fantasy game known as Dungeons and Dragons, hence their acronym MUD (Multi-user Dungeons). When it became obvious that many MUD users use the environment mainly to meet virtually with other users rather than to play games, new forms of MUDs and other types of emulated universes were developed and the term Virtual Environment (VE) was introduced to refer to all of them.
Since their inception, VEs evolved in several interesting directions, including environments with new types of user interfaces, for example emulating visual aspects of physical reality via VRML and other means , and object-oriented environments known as MOOs (MUD Object-Oriented) allowing their users to extend the environment and communicate with it via a programming language . As virtual environments became better known and more sophisticated, their user populations reached hundreds of thousands. At present, VEs are used for recreation, education , particularly distance education, and in work, particularly for collaboration among physically separated team members [6, 26, 36, 15, 45]. There is also a large and growing body of research on existing and potential VE uses, and several meetings similar to this workshop are held every year to address both the usage and the technical aspects of VEs. Collaborative work is, of course, an area of major interest to software developers and we will thus address this issue further.
Collaboration is emerging as a major application of computer networks and the use of MOO-based virtual environments based for this purpose is gaining interest. This is because of the growing pervasiveness of computer networks, and because MOOs perfectly satisfy collaboration needs. They are persistent (thus capable of maintaining history), allow user proxies and software agents to inhabit and create separate scopes for private and group communication in both synchronous and asynchronous forms, let them posses and hold on to objects and tools, and enable navigation and porting of tools and objects from one internal scope to another. Most importantly, MOOs are extendible without limits both in terms of instantiation of existing types of entities and creation of new ones.
Because of their extendibility and persistence, MOOs can support such CSCW features as knowledge management, role-based control of access to tools and control of their usage policy, objects, or places, workflow definition, separation of projects and teams from one another, history, and others. The fact that MOOs are based on a very natural metaphor and are easy and fun to use is critical for their usability.
Besides the fact that virtual environments offer a powerful paradigm for collaboration,VEs also have a great technical interest as well. TraditionalMOOs are client-server Internet-based applications. The typical server holds the universe and implements an interpreter of MOO commands coming from the client. Commands often use a special-purpose language developed just for this purpose. Until very recently, the client was typically a Telnet-based textual interface used to enter commands interpreted on the server, and to display messages from the server. Recently, new approaches addressed the implementation of more user-friendly clients, mainly aimed at replacing the primitive text-based user interface with HTML or Java applets.
KeywordsVirtual Environment Virtual World Design Pattern Real Environment Pattern Language
Unable to display preview. Download preview PDF.
- N. Budhiraja, K. Marzullo, F. Schneider, and S. Toueg. The primary-backup approach. In S.J. Mullender, editor, Distributed Systems, 2nd Edition, ACMPress, chapter 8. Addison-Wesley, 1993.Google Scholar
- W. Cellary, W. Picard, and W. Wieczerzycki. Web-based business-to-business negotiation support. In Proceedings of < the International Conference on Trends in Electronic Comerce, Hamburg, Germany, 1998.Google Scholar
- Z. Choukair. COREMO: A CORBA Real-Time Extension Model. PhD thesis, Orsay U./ENST Bretagne, 1997.Google Scholar
- Z. Choukair and al. Contraintes temps-réel des applications multimédia en environnement distribué. Technical report, ENST Bretagne, 1994.Google Scholar
- Z. Choukair and al. Distribution architecture overview and representation mechanisms for the amusement project. Technical report, ENST Bretagne, 1998.Google Scholar
- E. Churchill and S. Bly. Virtual envirnments at work: Ongoing use of mud’s in the workplace. In Proceedings of WACC’99, ACM Press, 1999.Google Scholar
- F. Cosquer, P. Antunes, and P. Veríssimo. Enhancing dependability of cooperative application in partitionable environments. In Proceedings of the 2nd European Dependable Computing Conference, Taormina, Italy, October 1996.Google Scholar
- B. Damers. Avatars! Peachpit Press, 1998.Google Scholar
- DASCo. Development of Distributed Applications with Separation of Concerns Project. DASCo Home Page URL: http://www.esw.inesc.pt/~ars/dasco.
- A. Diaz, B. Groth, and R. Melster. ’score’-the virtual museum, development of a distributed, object oriented system for 3d real-time visualization. In Proceedings of the InternationalWorkshop on Communication-Based Systems, pages 137–146, Berlin, Germany, October 1995. IEEE Computer Society Press. Technical Report 1998-15.Google Scholar
- A. Díaz and R. Melster. Designing virtual WWW environments: Flexible design for supporting dynamic behavior. In First ICSE Workshop on Web Engineering, May 1999.Google Scholar
- J.L. Diez and al. Virtualarch: A distributed virtual reality platform. Master’s thesis, ENST Bretagne, 1998.Google Scholar
- P. Dourish and M. Chalmers. Running out of space: Models of information. HCI’94, 1994.Google Scholar
- A. Downing, I. Greenberg, and J. Peha. Oscar: A system for weak-consistency replication. In Proceedings of the Workshop on the Management of Replicate Data, pages 26–30, Houston-USA, November 1990. IEEE.Google Scholar
- P. Spellman et al. Collaborative virtual workspace. In Proceedings of Group’97 ACM SIGGROUP, pages 197–203, 1997.Google Scholar
- V. O’Day et al. Moving practice: From classrooms to moo rooms. Journal of Collaborative Computing, 7(1-2), 1998.Google Scholar
- S. Evans. Building blocks of text-based virtual environments. Technical report, Computer Science University, University of Virginia, April 1993.Google Scholar
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.Google Scholar
- T. Goncalves and A.R. Silva. Passive Replicator: A Design Pattern for Object Replication. In The 2 nd European Conference on Pattern Languages of Programming, EuroPLoP’ 97, pages 165–178, Kloster Irsee, Germany. Siemens Technical Report 120/SW1/FB, 1997, July 1997.Google Scholar
- G. Gray and D. Cheriton. Leases: An efficient fault-tolerant mechanism for distributed file cache consistency. In Proc. 12th ACM Symposium on Operating Systems Principles, pages 202–210, Litch field Park, Arizona, December 1989.Google Scholar
- M. Haahr. Implementation and Evaluation of Scalability Techniques in the ECO Model. Master’s thesis, Department of Computer Science, University of Copenhagen, Denmark, August 1998.Google Scholar
- C. Haynes and J.R. Holmevik. High wired: On the design, use, and theory of educational MOOs. University of Michigan Press, 1998.Google Scholar
- R. Hayton, J. Bacon, J. Bates, and K. Moody. Using Events to Build Large Scale Distributed Applications. In Proceedings of the Seventh ACM SIGOPS European Workshop, pages 9–16. Association for Computing Machinery, September 1996.Google Scholar
- J. Heidemen, T. Page, R. Guy, and G. Popek. Primarily disconnected operation: Experiences with ficus. In Proceedings of the Second Workshop on the Management of Replicated Data, pages 2–5, Monterey, California, November 1992. IEEE.Google Scholar
- L. Lamport and al. Time, clocks and the ordering of events in a distributed system. ACM, 21(7), 1978.Google Scholar
- M. Mateas and S. Lewis. A moo-based virtual training environment. Journal of Computer-Mediated Communication, 2(3), 1996.Google Scholar
- K. O’Connell. System Support for Multi-User Distributed Virtual Worlds. PhD thesis, Trinity College, Department of Computer Science, Dublin, Ireland, October 1997.Google Scholar
- A. Ohnishi. Card: an environment for software requirements definition. In Proc. 2nd Asia Pacific Software Engineering Conference (APSEC’95), pages 420–429, December 1995.Google Scholar
- A. Ohnishi. Visual software requirements definition environment. In Proc. IEEE 21st Compsac, pages 624–629, August 1997.Google Scholar
- S.J. Powers, M.R. Hinds, and J. Morphett. Distributed entertainment environment. In BT Technology Journal Vol 15 No 4. British Telecommunications, October 1997.Google Scholar
- M. Prieto and P. Victory. Subjective object behavior. Object Expert, 2(3), 1997.Google Scholar
- K. Ramamritham and al. Efficient scheduling algorithms for real-time multiprocessor systems. IEEE Transactions on Parallel and Distributed Systems, 1990.Google Scholar
- M. Raynal. Distributed Algorithms and Protocols. John Wiley, 1988.Google Scholar
- M. Resnik, editor. Turtles, termites and Traffic jamps. Exploration in Massively Parallel Microworlds. MIT Press, 1994.Google Scholar
- F.A. Rosa and A.R. Silva. Functionality and Partitioning Configuration: Design Patterns and Framework. In IEEE Fourth International Conference on Configurable Distributed Systems, pages 79–89, Annapolis, Maryland, USA, May 1998.Google Scholar
- Roseman, M. Greenberg, and S. TeamRooms. Network places for collaboration. In Proceedings of CSCW’96, pages 325–333, 1996.Google Scholar
- A.R. Silva, J. Pereira, and J.A. Marques. Object Recovery. In R. Martin, D. Riehle, and F. Buschman, editors, Pattern Languages of Program Design 3, chapter 15, pages 261–276. Addison-Wesley, 1997.Google Scholar
- A.R. Silva, J. Pereira, and J.A. Marques. Object Synchronizer. In Neil Harrison, Brian Foote, and Hans Rohnert, editors, Pattern Languages of Program Design 4, chapter 8. Addison-Wesley, 1999.Google Scholar
- A.R. Silva, F.A. Rosa, and T. Goncalves. Distributed Proxy: A Design Pattern for Distributed Object Communication. In The 4 th Conference on Pattern Languages of Programming, PLoP’ 97(Washington University technical report #WUCS-97-34), Allerton Park, Illinois, September 1997.Google Scholar
- A.R. Silva, P. Sousa, and M. Antunes. Naming: Design Pattern and Framework. In IEEE 22nd Annual International Computer Software and Applications Conference, pages 316–323, Vienna, Austria, August 1998.Google Scholar
- Antóonio Rito Silva. Development and Extension of a Three-Layered Framework. In Saba Zamir, editor, Handbook of Object Technology, chapter 27. New York, CRC Press, 1998.Google Scholar
- S Singhal and al. Networked virtual environments. ACM press, January 98.Google Scholar
- G. Starovic, V. Cahill, and B. Tangney. An Event Based Object Model for Distributed Programming. In J. Murphy and B. Stone, editors, Proceedings of the 1995 International Conference on Object Oriented Information Systems, pages 72–86, London, December 1995. Dublin City University, Ireland, Springer-Verlag.Google Scholar
- I. Tomek and R. Giles. Virtual environments for work, study, and leisure. To be published, 1999.Google Scholar