The Role of Structural Reflection in Distributed Virtual Reality Paul Okanda Distributed Multimedia Research Group, Computing Department, Lancaster University, Lancaster, LA1 4YR. + 44 (0) 1524 593315 okanda@comp.lancs.ac.uk Gordon Blair Distributed Multimedia Research Group, Computing Department, Lancaster University, Lancaster, LA1 4YR. + 44 (0) 1524 593809 gordon@comp.lancs.ac.uk ABSTRACT The emergence of collaborative virtual world applications that run over the Internet has presented Virtual Reality (VR) application designers with new challenges. In an environment where the public internet streams multimedia data and is constantly under pressure to deliver over widely heterogeneous user-platforms, there has been a growing need that distributed virtual world applications be aware of and adapt to frequent variations in their context of execution. In this paper, we argue that in contrast to research efforts targeted at improvement of scalability, persistence and responsiveness capabilities, much less attempts have been aimed at addressing the flexibility, maintainability and extensibility requirements in contemporary Distributed VR applications. We propose the use of structural reflection as an approach that not only addresses these requirements but also offers added value in the form of providing a framework for scalability, persistence and responsiveness that is itself flexible, maintainable and extensible. Keywords Distributed Virtual Environment (DVE), Virtual Reality (VR), Reflection, Object Behaviour, Adaptation. INTRODUCTION Multi-participant shared virtual world applications are real-time distributed simulations in which users navigate and interact within a two or three-dimensional virtual environment. These applications range from non-persistent, short-duration sessions with few users and limited data (e.g. racing online games, virtual shopping applications) to persistent, long duration sessions with many users and voluminous shared data (e.g. virtual communities, multi-participant virtual museums, online role-playing games and collaborative design applications). Recent research has been aimed at developing distributed platforms that can support DVE applications running on the public internet. This has proved extremely challenging, particularly in massively multi-participant applications where thousands of users potentially interact in real-time with each other and with thousands of autonomous entities using uncontrolled network and local (processor, memory) resources. In an effort to better address these challenges, researchers have identified various capabilities that a DVE system should offer. Such systems have requirements which include the following: Scalability: the ability to continue functioning satisfactorily Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. , Month 1-2, 2000, City, State. Copyright 2000 ACM 1-58113-000-