TAKING ADVANTAGE OF THE MARKUP LANGUAGE APPROACH IN DESIGNING VIRTUAL COLLABORATIVE ENGINEERING ENVIRONMENTS Jorge Alberto Campos1 jorge@unifacs.br Cesar Teixeira1 cesar@unifacs.br Maria da Graça Pimentel2 mgp@icmc.sc.usp.br Cláudio da Costa Pinto1 claudio@unifacs.br UNIFACS - Universidade Salvador, Salvador, Brazil. 2 USP - Universidade de São Paulo, Brazil. ABSTRACT This paper discusses how the combination of the technologies for representing three-dimensional information in virtual reality and for representing structured documents may bring synergetic results in the development of collaborative projects in the areas of Engineering and Architecture. It is presented a generic and extensible solution for associating context-based information to the elements defined in the Virtual Reality Modeling Language (VRML). Such solution exploits the open model for defining structured documents proposed by the World Wide Web Consortium (W3C). Keywords: XML, VRML, RDF, Metadata, Virtual Reality, Virtual Engineering, Collaborative Projects. 1.INTRODUCTION Communities in several areas of the knowledge have created specific languages to express ideas or phenomena relevant to their work. These languages are often composed of symbols and special characters and usually are well understood only by the elements within the communities itself, mainly due to the fact that no semantic is defined by the language. The Architecture/Engineering/Construction Industry (AEC) has developed a language to represent objects dealt with in their projects. The language uses twodimensional symbols for representing three-dimensional elements in the real world. The use of two-dimensional symbols is imposed by the medium where the projects are usually presented: paper and, later, computer screens. However, such language is not an accepted standard even among the AEC community. It is not unusual architects and engineers using the same symbol for representing different objects, for example. The provision of three-dimensional computer models in virtual reality has introduced a new metaphor in the development and representation of Engineering and Architecture projects, allowing a real visualization of the elements being designed[2]. Although these models use a real, less symbolic representation, the integration with some symbolic notation is still necessary in order to allow the designer to properly identify some elements. An example is the use of colors to represent the different kinds of tubes that may be necessary in a building, such as associating the color green with water and black with inflammable fluids. Notations like these are strongly dependent of the user’s interpretation, and as such it is difficult to be integrated in applications where the information must be machine processed. A similar dependency on the user's interpretation occurs with most documents in the World Wide Web (Web) so far: those documents that use HTML as specification language use a restrict group of tags associated to the presentation form of the document. As a result, any structural or semantic information produced by the author may be processed only by reader user. As an illustration, consider the example of information such as Project Name, Project Description, Author's name or Author's email, contained in most projects, that, in order to be presented in a HTML document, are likely to be formatted using the same generic presentation elements associated to paragraphs. The main claim in this paper is that two of the technologies in increasing use in the Web, that for representing virtual three-dimensional worlds and that allowing the formal definition of structured documents, if used together, can promote the development of collaborative work in engineering and architecture design. The definition of a specific language should result from the integrated work from interested communities, such as manufactures, clients and engineers. The Computer Science community is to be in charge of the provision for applications associated with the authoring, interchange and visualization of the information. The remaining of this paper is organized as follows. The next sections discuss the main technologies used in the visualization of three-dimensional information and in the definition of structured documents in the Web. Next, a proposal for the definition of structured elements associated with computational models of virtual reality is presented, followed by an example of its implementation, in order to demonstrate how the two technologies can be used to promote the development of collaborative work in engineering and architecture design. The paper concludes discussing related and future work. the engineer wants to simulate two scenarios: first considering the cold and hot water tubes in separate, and then considering them simultaneously, he or she would have to request the server machine to deliver a new version in virtual reality for each of the desired possibilities. As illustrated in Figure 1, these requests could be implemented, for example, through the submission of HTML forms or by means of direct access to the database in the server, using the Common Gateway Interface (CGI)[4]. DB DB VRML Converter Application CGI 2. THE CURRENT 3D VISUALIZATION PARADIGM ON THE WEB The Virtual Reality Modeling Language (VRML97) [7] is an ISO standard for the representation of threedimensional information in the Internet. VRML is a descriptive language for virtual worlds in which a door, a window, a tube or any other object in the virtual environment corresponds to group of nodes having associated geometry, appearance and position in space. As a result, the real meaning of each object is known only by the application that generated its representation in virtual reality, since the language does not support the association of semantic information to the elements that represent the virtual environment. A program in VRML defines a series of nodes, or building blocks, that allow the representation of a virtual environment. Once defined such a virtual environment in VRML, a user is able to visualize and interact with the environment, as well as to navigate through the virtual objects and to activate hyperlinks to other documents or virtual environments. As an motivation, consider the scenario where an engineer is analyzing the interference the tubes for hot and cold water could have in the structural elements of a building. Suppose that the necessary information is stored in a server machine available over the Internet. If HTML VRML Server Client Visualization Application Figure 1 – Visualization through the Common Gateway Interface (CGI) The approach illustrated in Figure 1 presents many inconveniences. First, it depends strongly on the existence of enough resources in the server to allow the simultaneous attendance of several requests of engineers, working, eventually, in different projects around the world. Second, it demands an application that must be able to access all the involved databases, which are likely to be non-uniform and distributed (indicated by the dashed oval in the figure). Third, it generates an intense traffic of information between the server and the client machines. Last, but not least, it does not exploit the computational capabilities of the client machine which are used only for presentation purposes. An alternative approach, illustrared in Figure 2, corresponds to the situation where the server, upon demand of a client, extracts from the databases containing the raw data of the computational models for the information requested and repass them in their original format to the client machine. additional effort to support plug-in applications for all client machines. Last, but not least, the substituition of a computational model or the definition of a new data format demand great effort in updating the application both at client and server sides. 3. THE CURRENT STRUCTURED DOCUMENTS PARADIGM ON THE WEB DB DB Application Server Client DB DB VRML Converter Visualization Application Figure 2 – Visualization through Plug-ins As a result of this approach, a subset of the information contained in the database is sent to the client. In the client machine, an application would be in charge of converting the original data to VRML as well as of supporting some local simulation without the need to frequent additional requests to the server. Such an application could be implemented, for instance, as a plug-in associated to the original HTML browser. The World Wide Web Consortium has proposed the eXtensible Markup Language (XML)[1,8] as a language which allows communities and applications to define their own set of structured elements to be exchanged and presented in the WWW. XML is a subset of Standard Generalized Markup Language (SGML) [3], an ISO standard for the formal specification of the structure of electronic documents. The extensibility nature of XML allows its use in different applications: in the representation of documents of specific areas such as Mathematics (MathML) [8], in the coding of Metadata (RDF) [5], in the specification of the synchronization of streamed multimedia (SMIL) [10], among others. It is out the scope of this paper a discussion of the many specifications already under development. The World Wide Web Consortium [6] provides appropriate references. In this context, the Resource Description Framework (RDF) [5] is an XML application that formalizes the definition of the mechanisms for the representation of Metadata, in order to allow interoperability among applications exchanging machine understandable information on the Web. The basic idea of RDF is not to define a universal set of Metadata, but to provide the necessary mechanisms so that the several communities may code, interchange and reuse structured Metadata. As an example, consider the following declaration contained in a document: Leonardo DaVinci's davinci@artists.art e-mail is Consider again the scenario where an engineer analyzes the interference that the tubes for hot and cold water could have in the structural elements of a building. When using the approach in Figure 2, the engineer could request all the data referring to tubes and structural elements in a particular building and, running simulations in the client machine, generate the visualizations for the combinations under investigation. Although this declaration is perfectly understandable for a human, it is very unlikely that a machine will properly process it with ease. The RDF data model consists in the definition of a triple of resource, property-type and value that allows meaning to be associated to a declaration, so that it that can be read and understood both for human and machines. The meaning of each component in this triple is as follows: This approach reduces the traffic between client and sever machines at the same time that exploits the processing capabilities of the client machine. However, the approach is still highly dependent on the data format enforced by the original models; moreover, it implies an Resource: anything described by a declaration RDF Property-Type: the characteristic or attribute type used to describe the resource Value: the value associated to the resource Graphically, the relationship established by the triple can be represented by a graph, as presented in Figure 3: Leonardo DaVinci e:mail davinci@ artists.art Figure 3 – Graphic representation of the a RDF triple This approach, illustrated in Figure 4, provides for the uniform treatment of the information in the several databases of the many areas which may be involved in the project. It means that the elements of virtual reality, as well as their meaning, may be defined by the AEC community in an uniform way. Other advantage of the present proposal is the potential reduction in the traffic of information in the network and in the number of requests to the server during the simulations made by the designer, at the same time that it exploits the processing capabilities of the client machine. In XML-RDF, this declaration could be written as follows: <RDF:RDF> <RDF:Description about="Leonardo DaVinci"> <RDF:E-mail>davinci@artist.art</RDF:E-mail> </RDF:Description> </RDF:RDF> DB The prefix RDF: is a resource of the language XML called namespace that allows the unambiguous identification of the meaning and values of the elements they specify. The element RDF itself is used in the declaration of Metadata within an XML document. The meaning and values of the elements Description and E-mail are described in the vocabulary associated to the prefix. Application XML Converter Server XML Interpreter A document XML containing the declaration above would have two other lines in its beginning, such as in: <?xml version = “1.0”?> <?xml:namespace ns=xmlns:rdf=http://www.w3c.org/rdf/schema prefix=RDF > <RDF:RDF> <RDF:Description about="Leonardo DaVinci"> <RDF:E-mail>davinci@artist.art</RDF:E-mail> </RDF:Description> </RDF:RDF> The first line identifies the document as compliant the the 1.0 version of XML. The second line identifies the location of the vocabulary that defines the elements with the prefix “RDF:”. 4. PROPOSAL This work proposes the incorporation of meaning to the elements of virtual reality documents built in VRML, using the syntax XML-RDF, in order to facilitate and promote the development of collaborative engineering projects over the Internet. The incorporation of meaning, or semantics, to the elements of virtual reality would allow an application to set up and to processes a VRML file locally, based on the data supplied by the designer and in the semantics of each element. DB Client Visualization Application Figure 4 - Visualization through XML-RDF. Under this proposal, let us consider again the scenario where an engineer analyzes the interference the tubes for hot and cold water may have in the structural elements of a building. The engineer could access the XML-RDF information, necessary to build the virtual environments, from different databases and developed under distinct applications by other designers. Such information could be stored in many servers worldwide. This would demand that an application in the client machine would allow the engineer to define the restrictions to be applied and to request the data necessary for the virtual reality simulation to run locally. Moreover, the engineer would be able to request modifications to be made in the current visualization, which would be processed in the client machine with no need for accessing the remote servers. 5. IMPLEMENTATION ASPECTS In order to illustrate implementation issues, this session presents the representation of a red cube in VRML and the corresponding XML-RDF representation, as proposed in this paper. This simple example demonstrates the immense potential of the introduction of semantics to the elements of a virtual world. Moreover, it is important to note that the observations regarding this example can be easily extended for any application that uses this metaphor. A VRML document that represents a cube of dimension 1 unit is shown below: #VRML V2.0 utf8 Transform { translation 0 1 0 children Shape { appearance Appearance { material Material { diffuseColor 1 0 0 } } geometry Box { size 1.0 1.0 1.0 } } } The representation of the same cube in XML-RDF could be as follows: <?xml version="1.0"?> <?xml:namespace ns=xmlns:rdf=http://www.w3c.org/rdf/schema prefix=RDF> <?xml:namespace ns=xmlns:vrml=http://www.vrml.org/rdf/schema prefix=VRML> <?xml:namespace ns=xmlns:aec=http://www.aec.org/rdf/schema prefix=AEC> <RDF:RDF> <RDF:Author>Jorge Campos</RDF:Author> <RDF:Organization>Unifacs</RDF:Organization> <AEC:Revision_Number>01</AEC:Revision_Number> <AEC:Revision_Date>1999-01-12 </AEC:Revision_Date> <AEC:Unit>Meter</AEC:Unit> <VRML:Header Header=”#VRML V2.0 utf8”> <VRML:Transform> <VRML:translation> 0 1 0 </VRML:translation> <VRML:children> <VRML:Shape> <VRML:appearance name=My_Appearance> <VRML:material name=My_Material> <VRML:diffuseColor value=1 0 0/> </VRML:material> </VRML:appearance> <VRML:geometry> <VRML:Box> <VRML:Size Value=1.0 1.0 1.0/> </VRML:Box> </VRML:geometry> </VRML:Shape> </VRML:children> </VRML:Transform> </VRML:Header> </RDF:RDF> The vocabulary presented in this example is fictitious and suggests the entities that could take the responsibility for their definition. It seems natural that the W3C would define the most generic elements so that they can be used potentially by any community. It would be left to the consortium of the VRML language the definition and maintenance of the specifications with all the existent elements in the language and its possible values. The AEC community would be in charge of the definition of the elements that are specific to its area and that would be used to introduce semantics to the objects modeled in virtual reality. The application in charge of interpreting and presenting the VRML document would use the elements defined by the AEC community to identify, in the document, the VRML elements that satisfy the restrictions established by the engineer or designer. For example, the engineer could request the application to show the elements from the original or from the latest version of a project. Another example would be the partial presentation of the project features, only those ones suggested by a specific designer. 6. EXPANSIBILTY The proposed approach can be naturally integrated with other facilities already available in the Web. For instance, applications can extract information from the navigation through a given project to produce a slide show, and as such using the results from the VRML processing to generate a SMIL [10] document. 7. CONCLUSION AND FUTURE WORK The creation of mechanisms for incorporating semantics to objects dealt by virtual reality applications promotes the development of collaborative projects in the engineering and architecture domains over the Internet. The joint use of standard mechanisms for the representation of objects, used both by virtual reality and structured documents applications, results in an open and expandable solution. The implementation of an application capable of processing the documents that use the syntax of the XML-RDF language combined with the objects from VRML specifications is not only possible but also likely to be very relevant. In order to demonstrate the potential of the present proposal, it is under specification a model of document in XML-RDF, and under development an application that processes such a document in order to present it in a Web browser. It is an important point that the proposal presented here is generic, so that it can be used by any community having the three-dimensional representation as a main communication media REFERENCES [1] Bray, Tim; Paoli, Jean; Sperberg-McQueen, C. M. EXTENSIBLE MARKUP LANGUAGE (XML) 1.0. W3C Recommendation. February 1998. http://www.w3.org/TR/1998/REC-xml199980210.html [2] Campbell, D., VRML in Architectural Construction Documents: A Case Study, Proceedings of Third Symposium on Virtual the Reality Modeling Language, Monterey, CA, February 1998. [3] ISO (International Organization for Standardization). ISO 8879:1986(E). Information processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML). First edition -- 1986-10-15. [Geneva]: International Organization for Standardization, 1986. [4] Jern, M., 3D Date Visualization on the Web, Proceedings of the 1998 Multimedia Modeling, Lausanne, Switzerland, October 12-15, 1998. [5] Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation 22 February 1999, URL:www.w3.org/1998/10/WD-rdfsyntax-19981008, http://www.w3.org/TR/REC-rdfsyntax/ [6] W3C - World Wide Web Consortium, URL:http://www.w3.org [7] VRML97 - Virtual Reality Modeling Language Specification, ISO/IEC 14772-1:1997, URL:http://www.vrml.org/specification/vrml97 [8] The Extensible Markup: XML 1.0, 1998. http://www.w3.org/XML/ [9] Mathematical Markup Language (MathML) 1.0 Specification http://www.w3.org/TR/REC-MathML/ [10]Synchronized Multimedia Integration Language (SMIL) 1.0 Specification – W3C Recommendation, June, 1998. http://www.w3.org /TR/1998/PR-smil19980615