If large-scale shared virtual worlds are to be established on the Internet, they must be based on technologies that allow them to adapt, scale, and evolve continuously-that is, without their being taken offline. In the course of designing NPSNET-V, an architecture intended to satisfy these criteria through component-based dynamic extensibility, the authors recognized the need for a consistent, unified component framework. This framework, which they implemented in Java™, allows one to construct applications as component hierarchies rooted at an invariant microkernel. A simple extensible interface layer and event model allow components to communicate with one another, and an XML configuration and serialization mechanism permits applications to store and transmit component and application state in a versatile standardized format. After an initial bootstrapping process, one may add, remove, and upgrade components at run time, and one may introduce newly loaded Java™ code anywhere in the application hierarchy at any time. The complications posed by this reconfigurability and the hierarchical nature of NPSNET-V applications led the authors to develop a consistent design strategy, which they based largely on several common design patterns. The most critical design pattern that they used was the Model-View-Controller pattern, which forms the basis of the NPSNET-V entity model.
[1]
Michael Zyda,et al.
NPSNET-V: A New Beginning for Dynamically Extensible Virtual Environments
,
2000,
IEEE Computer Graphics and Applications.
[2]
S. Wilson,et al.
Using CORBA Middleware to Support the Development of Distributed Virtual Environment Applications
,
2001,
WSCG.
[3]
Steve Pettifer,et al.
GNU/MAVERIK: a micro-kernel for large-scale virtual environments
,
1999,
VRST '99.
[4]
Steve Pettifer,et al.
DEVA3: architecture for a large-scale distributed virtual reality system
,
2000,
VRST '00.
[5]
Michael Zyda,et al.
Bamboo-a portable system for dynamically extensible, real-time, networked, virtual environments
,
1998,
Proceedings. IEEE 1998 Virtual Reality Annual International Symposium (Cat. No.98CB36180).
[6]
Roy T. Fielding,et al.
Hypertext Transfer Protocol - HTTP/1.0
,
1996,
RFC.
[7]
Steve Pettifer,et al.
A Microkernel for Large-Scale Virtual Environments
,
2001
.
[8]
Mel Slater,et al.
Component framework infrastructure for virtual environments
,
2000,
CVE '00.
[9]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.