2003 Seattle Annual Meeting (November 2–5, 2003)

Paper No. 3
Presentation Time: 8:45 AM

DESIGN AND DEVELOPMENT OF DISCIPLINE-SPECIFIC, GEOSCIENCE MARKUP LANGUAGES AND DATABASES APPLYING UML AND XML


BABAIE, Hassan, Department of Geology, Georgia State Univ, Atlanta, GA 30303 and BABAEI, Abbed, Biological, Geological and Environmental Sciences, Cleveland State Univ, E. 24th at Euclid Ave, Cleveland, OH 44115, geohab@panther.gsu.edu

The Extensible Markup Language (XML) is a meta-language that allows developing discipline-specific languages to describe the vocabulary and syntax for any field in geosciences (e.g., seismology). Each language is developed by defining tags (elements) for geological objects such as foliation, plate, aquifer, and earthquake. These elements have their own sub-elements. For example, the <richterScale> element contains the <descriptor> and <magnitude> sub-elements (<richterScale> <descriptor> Great </descriptor> <magnitude> 8.5 </magnitude> </richterScale>). The markups are self-explanatory and are used to structure, organize, and give meaning to data.

The Unified Modeling Language (UML) and the Unified Process (UP) are applied to create the blueprint of the language by building precise, unambiguous, and complete object model of the discipline (e.g., hydrogeology). This is achieved by specifying all concepts (e.g., aquifer, permeability) in the discipline. Each of these concepts becomes a UML class, which relate to other classes, for example, through association, inheritance, and/or aggregation. Such relationships between interrelated classes are depicted on the UML class diagrams that show the structure of part of the language (in a package). It is then a simple matter to map (i.e., forward engineer) a UML class diagram to XML Metadata Interchange (XMI), Data Definition Language (DDL), or Java code, within any Integrated Development Environment (IDE) such as Rational Rose. The XMI can then be translated into well-formed XML Schema (XSD) for every package. The DDL can be used to create the database that mimics the UML model. The XSD Schema describes the structure of the documents for a given markup language, by defining the tags and the data type for each element. It also shows the order that the elements should appear in the document. The XSD Schema can also be used to develop the database within an IDE such as XMLSPY.

The XML markups, allow sending, receiving, and transforming data from one format to another applying XML Stylesheet Language (XSL) and Transformation (XSLT). The Java code can be used to design the JSP, servlet, and Java Beans for each use case that involves the processing of XML data over the Web, or dealing with a distributed database.