Multi-user Object-Oriented Environments

  • Ivan Tomek
  • Alicia Diaz
  • Ronald Melster
  • António Rito Silva
  • Miguel Antunes
  • Vinny Cahill
  • Zièd Choukair
  • Alexandro Fernandez
  • Mads Haahr
  • Eric Jul
  • Atsushi Ohnishi
  • Luís Rodrigues
  • Erich R. Schmidt
  • Cristian Ţăpuş
  • Waldemar Wieczerzycki
  • Daniel M. Zimmerman
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1743)


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 [8], 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 [22]. As virtual environments became better known and more sophisticated, their user populations reached hundreds of thousands. At present, VEs are used for recreation, education [16], 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.


Virtual Environment Virtual World Design Pattern Real Environment Pattern Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    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
  2. [2]
    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
  3. [3]
    Z. Choukair. COREMO: A CORBA Real-Time Extension Model. PhD thesis, Orsay U./ENST Bretagne, 1997.Google Scholar
  4. [4]
    Z. Choukair and al. Contraintes temps-réel des applications multimédia en environnement distribué. Technical report, ENST Bretagne, 1994.Google Scholar
  5. [5]
    Z. Choukair and al. Distribution architecture overview and representation mechanisms for the amusement project. Technical report, ENST Bretagne, 1998.Google Scholar
  6. [6]
    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
  7. [7]
    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
  8. [8]
    B. Damers. Avatars! Peachpit Press, 1998.Google Scholar
  9. [9]
    DASCo. Development of Distributed Applications with Separation of Concerns Project. DASCo Home Page URL:
  10. [10]
    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
  11. [11]
    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
  12. [12]
    J.L. Diez and al. Virtualarch: A distributed virtual reality platform. Master’s thesis, ENST Bretagne, 1998.Google Scholar
  13. [13]
    P. Dourish and M. Chalmers. Running out of space: Models of information. HCI’94, 1994.Google Scholar
  14. [14]
    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
  15. [15]
    P. Spellman et al. Collaborative virtual workspace. In Proceedings of Group’97 ACM SIGGROUP, pages 197–203, 1997.Google Scholar
  16. [16]
    V. O’Day et al. Moving practice: From classrooms to moo rooms. Journal of Collaborative Computing, 7(1-2), 1998.Google Scholar
  17. [17]
    S. Evans. Building blocks of text-based virtual environments. Technical report, Computer Science University, University of Virginia, April 1993.Google Scholar
  18. [18]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1994.Google Scholar
  19. [19]
    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
  20. [20]
    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
  21. [21]
    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
  22. [22]
    C. Haynes and J.R. Holmevik. High wired: On the design, use, and theory of educational MOOs. University of Michigan Press, 1998.Google Scholar
  23. [23]
    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
  24. [24]
    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
  25. [25]
    L. Lamport and al. Time, clocks and the ordering of events in a distributed system. ACM, 21(7), 1978.Google Scholar
  26. [26]
    M. Mateas and S. Lewis. A moo-based virtual training environment. Journal of Computer-Mediated Communication, 2(3), 1996.Google Scholar
  27. [27]
    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
  28. [28]
    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
  29. [29]
    A. Ohnishi. Visual software requirements definition environment. In Proc. IEEE 21st Compsac, pages 624–629, August 1997.Google Scholar
  30. [30]
    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
  31. [31]
    M. Prieto and P. Victory. Subjective object behavior. Object Expert, 2(3), 1997.Google Scholar
  32. [32]
    K. Ramamritham and al. Efficient scheduling algorithms for real-time multiprocessor systems. IEEE Transactions on Parallel and Distributed Systems, 1990.Google Scholar
  33. [33]
    M. Raynal. Distributed Algorithms and Protocols. John Wiley, 1988.Google Scholar
  34. [34]
    M. Resnik, editor. Turtles, termites and Traffic jamps. Exploration in Massively Parallel Microworlds. MIT Press, 1994.Google Scholar
  35. [35]
    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
  36. [36]
    Roseman, M. Greenberg, and S. TeamRooms. Network places for collaboration. In Proceedings of CSCW’96, pages 325–333, 1996.Google Scholar
  37. [37]
    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
  38. [38]
    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
  39. [39]
    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
  40. [40]
    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
  41. [41]
    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
  42. [42]
    S Singhal and al. Networked virtual environments. ACM press, January 98.Google Scholar
  43. [43]
    D. Snowdon and al. A review of distributed architectures for networked virtual reality. Virtual Reality Press, 2(1):155–175, 1996.CrossRefGoogle Scholar
  44. [44]
    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
  45. [45]
    I. Tomek and R. Giles. Virtual environments for work, study, and leisure. To be published, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Ivan Tomek
    • 1
  • Alicia Diaz
    • 2
  • Ronald Melster
    • 3
  • António Rito Silva
    • 4
  • Miguel Antunes
    • 4
  • Vinny Cahill
    • 5
  • Zièd Choukair
    • 6
  • Alexandro Fernandez
    • 2
  • Mads Haahr
    • 5
  • Eric Jul
    • 7
  • Atsushi Ohnishi
    • 8
  • Luís Rodrigues
    • 9
  • Erich R. Schmidt
    • 10
  • Cristian Ţăpuş
    • 10
  • Waldemar Wieczerzycki
    • 11
  • Daniel M. Zimmerman
    • 10
  1. 1.Acadia UniversityCanada
  2. 2.Lifia - UNLPLa PlataArgentina
  3. 3.GMD FIRSTBerlinGermany
  4. 4.INESC - Technical University of LisbonPortugal
  5. 5.Trinity College DublinIreland
  6. 6.ENST BretagneFrance
  7. 7.University of CopenhagenDenmark
  8. 8.Ritsumeikan UniversityJapan
  9. 9.University of LisbonPortugal
  10. 10.California Institute of TechnologyUSA
  11. 11.Posnan University of EconomicsPoland

Personalised recommendations