Sitemap | Deutsch

Architecture and Results

This page only provides a project overview. Please see the current publications for more details. In summer 2002 there was a renaming and slight restructuring of the Contigra XML Schemas to better express the separation between a component's interface and implementation. This change is not reflected on these pages yet. The new grammars are named as follows: CoApplication, CoComponent, and CoComponentImplementation.

Component Development Stages

The first figure depicts the various stages of the component development process and their associated tasks, resulting files, and tools. At the development level simple or compound 3D components will be implemented. Scene graph files, media assets, and script files belong to the implementation of a component. People involved at this stage are scene graph experts, programmers, and 3D designers. The same people create the component interface using a component description language. The next level, component distribution, assumes a set of packaged components, where only the component interface is visible and the implementation remains encapsulated. The components can be distributed over the World Wide Web and selected by project managers or web engineers using a web portal with query functionality. The hierarchy of classified 3D widgets/components along with detailed information for every component is a first approach. Once the components are selected, they can be deployed at the configuration and assembly level. Non-3D-experts configure, assemble, and connnect 3D components to build more complex 3D applications. The results of this stage are declarative documents describing the entire 3D application in a format-independent XML representation, which can be transformed into specific 3D formats such as Java3D or X3D. At runtime level the resulting 3D applications can be viewed within a 3D viewer, either stand alone or on the Web. For the task of designing components one can use the authoring tool Contigra ComponentBuilder. To configure components and construct entire 3D applications developers use the Contigra ApplicationBuilder (the former SceneBuilder).


Contigra XML-Schemas

Contigra Scene Graph XML-Schemas

For the implementation of the tasks (marked red in the upper figure) declarative markup languages were developed. They are coded with XML Schema. The Figure below contains the identified tasks of the development stages and shows the associated XML documents with their schemas as well as other connected resources. The documents within the shaded part constitute a single 3D component, consisting of various implementation files, an integrating CoSceneGraph-file as well as one associated CoSceneComponent document. The CoSceneGraph schema serves as a component implementation language and integrates various scene graph, media, and script files. Scene graphs are split into three parts: geometry, behavior, and audio. For geometry graphs X3D is used. For behavior graphs a new grammar Behavior3D was developed as well as Audio3D for audio graphs. CoSceneComponent is the core markup language of the Contigra architecture. It is a component description language used to define interfaces of a component separated from its scene graph implementation. As such, it provides an abstraction level and is well suited for distribution, search and retrieval as well as component deployment. The third XML Schema CoApplication (the former CoScene) is used to describe the integration of a complex component into a 3D application / scene. Lights, cameras, viewpoints and needed ressources are coded in such an instance document describing an application.