GSA Annual Meeting, November 5-8, 2001

Paper No. 0
Presentation Time: 8:00 AM-12:00 PM

OBJECT-ORIENTED PARADIGM: AN EFFICIENT TOOL FOR TEACHING AND RESEARCH IN STRUCTURAL GEOLOGY


BABAIE, Hassan A., Department of Geology, Georgia State Univ, Atlanta, GA 30303 and BABAEI, Abbed, Dept. of Biological, Geological, and Environmental Sciences, Cleveland State Univ, Cleveland, OH 44115, geohab@panther.gsu.edu

Abstraction is a fundamental object-oriented (OO) technique that allows us to recognize and focus on the important properties and functions of geological objects, and filter the unessential details, which may not be relevant to the problem at hand. Through abstraction, we emphasize on the main differences between groups of geological objects. Abstraction leads to classification, which provides a simple model (class) defining the characteristics and functions for all objects that belong to that class. A superclass in a fault classification hierarchy, for example, defines the general properties such as name, length, and slipVector, and methods (e.g., getSlipVector ()) for all instances of the Fault class. Each subclass (e.g., NormalFault) inherits the general features defined in the Fault class, and extends the superclass by defining new, more specific properties (e.g., heave, throw) and methods (e.g., getDipSlipComponent ()).

The UML class and sequence diagrams would help students to more clearly visualize the relationship between the objects (e.g., a Fault object contains many FaultSegment objects). Polymorphism, a fundamental OO feature which works due to the inheritance structure of the class hierarchy, enables students and researchers to perceive and model the differences among the related objects. For example, the slip () method defined in the Fault superclass, and overridden in the NormalFault, ReverseFault, and StrikeSlipFault subclasses with a same interface, would polymorphically move the hanging-wall up in an instance of a ReverseFault, and move it down in an instance of a NormalFault. Instances of the three subclasses have access to more general methods such as getSlipVector (), defined in their superclass (Fault). The OO paradigm can be applied to teach and study tectonic features in a more productive way compared to the traditional techniques of education and research. The OO modeling and programming languages such as UML, Java, C++, or C#, and a query language such as the SQL in a database environment, would enable scientists and educators to develop libraries (packages) of geological classes and tables which will enhance the quality of their data processing in the classroom, field, lab, and on the web.