A declarative representation system for dynamic visualization
Mark A. Tarlton · 1993
This thesis introduces a framework for distributed and dynamic three-dimensional visual applications that is designed to reduce the effort and expertise necessary for application development while providing suitable performance in distributed, heterogeneous environments. Within this framework, the functionality of three-dimensional graphics, time-dependent dynamics, and user interaction are integrated so that these aspects of the system's behavior can be expressed in a consistent, coherent fashion. The premise of this work is that problems of programming complexity, hardware dependence, and inefficient operation in distributed environments all have their roots in the use of sequential, procedural programming languages to implement visual applications. In this thesis, a declarative model-based approach is introduced where objects are used to represent rather than simply implement elements of the application or presentation. The interpretation of these structures is performed by device-specific agents distinct from the representation elements. The use of declarative representations provides the following benefits. First, it makes it easier to build visual applications by hiding the details of rendering and control sequencing. This allows the application developer to focus on modeling the application rather than programming graphics. Second, it provides a very high degree of device independence since the representation system is defined independent of any virtual graphics machine architecture. Third, the explicit representation of the application elements facilitates use through interactive tools. Finally, it makes it possible to efficiently operate in distributed environments by adopting the copy-on-write behaviors of master-slave database systems. This allows the representations to be distributed so that rendering can occur at the display site rather than at a central site. An implementation of this architecture, the Mirage System, has been developed using C++. By combining object-oriented programming and declarative knowledge representation techniques, superior modularity and ease of use are achieved as compared to current systems. The Mirage System has been used to construct several applications including scientific data visualizations and virtual reality application. Through these applications, it has been shown that the representational approach reduces development time while providing acceptable functionality and performance.