Software Engineering 4310

Software Requirements Specification

Version 1.0

2/28/2007

Ó 2004 / files/CS4310/f04-s05/CompletedWork/SRS/Final

Software Requirements Specification

Document Control

Approval

The Guidance Team and the customer shall approve this document.

Document Change Control

Initial Release: / January 29, 2005
Current Release: / 1.1.1
Indicator of Last Page in Document: / §
Date of Last Review: / .
Date of Next Review:
Target Date for Next Update:

Distribution List

This following list of people shall receive a copy of this document every time a new version of this document becomes available:

Guidance Team Members:

Dr. Ann Gates

Dr. Yoonsik Cheon

Guillermo Rauda

Yafa Albayyar

Customer:

Dr. Randy Keller

Dr. Diane Doser

Dr. Aaron Velasco

Matt Averill

Software Team Members:

Teams 1-8

Change Summary

The following table details changes made between versions of this document

Version / Date / Modifier / Description
1.0 / 1/17/05 / A. Gates / Initial draft
1.1 / 1/26/05 / Y. Cheon / Added the stimulus section and various appendixes (including diagrams)
1.1.1 / 1/26/05 / Y. Cheon / Added Visio diagrams (thanks to Memo) and fixed appendix numbering

Table of Contents

Document Control ii

Approval ii

Document Change Control ii

Distribution List ii

Change Summary ii

1. Introduction 1

1.1. Purpose and Intended Audience 1

1.2. Scope of Product 1

1.3. Definitions, Acronyms, and Abbreviations 1

1.3.1. Definitions 1

1.3.2. Acronyms 3

1.3.3. Abbreviations 3

1.4. Overview 4

1.5. References 4

2. General Description 5

2.1. Product Perspective 5

2.2. Product Features 5

2.3. User Characteristics 7

2.4. General Constraints 7

2.5. Assumptions and Dependencies 7

3. Specific Requirements 8

3.1. External Interface Requirements 8

3.1.1. General Interface Requirements 8

3.1.2. Main Screen 8

3.1.3. Input Screen 8

3.1.4. Results Screen 9

3.1.5. Error and Warning Messages 9

3.1.6. Hardware Interfaces 9

3.1.7. Software Interfaces 9

3.1.8. Communications Interfaces 10

3.2. Behavioral Requirements 10

3.2.1. Same Class of User 10

3.2.2. Related Real-World Objects 10

3.2.3. Stimulus 12

3.2.4. Related Features 14

3.2.5. Functional 14

3.3. Non-behavioral Requirements 14

3.3.1. Performance Requirements 14

3.3.2. Qualitative Requirements 14

3.3.3. Design and Implementation Constraints 14

3.4. Other Requirements 14

3.4.1. Database 14

3.4.2. Operations 14

3.4.3. Site Adaptation 15

Appendix A: Dataflow Diagram 16

Appendix B: Statechart Diagram 20

Appendix C: Class Diagram 21

Appendix D: Scenarios 22

Appendix E: Hole’s Program 23

E.1. punch.c 23

E.2. cover.f 24

E.3. tomosm.f 25

E.4. backray.f 25

E.5. duadd.f 25

E.6. addc.f 26

E.7. rmsavg.f 26

E.8. velbasin.f 26

E.9. velid.f 27

E.10. finddt.f 27

E.11. regrid.f 28

E.12. dzgrid.f 28

Appendix F: Sample Use of Hole’s Program 30

F.1. Seismic Tomography Algorithm 30

F.2. Implementation of the Hole’s Code 30

Appendix F: External Software Scripts 33

Software Requirements Specification / Date
2/28/2007 12:12 PM / Page
ii

Software Requirements Specification

1.  Introduction

1.1.  Purpose and Intended Audience

The purpose of this Software Requirements Specification (SRS) document is to present a clear and precise description of the functionality of the three-dimensional seismic travel time tomography modeling system, called SeismicT3, and to eliminate ambiguities and misunderstandings that may exist. For the customer, the SRS explains all functions that the software should perform. For the developer, it is a reference point during software design, implementation and maintenance. To clarify keywords used throughout the document, a set of definitions, acronyms, and abbreviations is provided in Section 1.3.

The SRS divides the system requirements into two parts, behavior and non-behavioral requirements. The behavioral requirements describe the interaction between the system and environment. Non-behavioral requirements relate to the definition of the attributes of the product as it performs its functions. This includes the level of security, efficiency, reliability, maintainability, portability, capacity, and the standards of compliance of the product. The intended audience of the SRS is Drs. Randy Keller, Diane Doser, and Aaron Velasco and the development teams. This document serves as an agreement between both parties regarding the product to be developed.

1.2.  Scope of Product

GEO-science Network (GEON) is an NSF collaborative project among researchers from a broad cross section of information technology and earth science disciplines. Partners include San Diego Supercomputer Center, Cornell, Virginia Tech, and UTEP. The GEON effort is building digital libraries of high-quality geological information and integrated software tools for data access, analysis, modeling, and visualization of this information. GEON is building resources for researchers, students, teachers, and the public. The SeismicT3 tool, which will create a two and a half dimension (2.5D) three-dimension (3D) seismic velocity model, will be added to GEON’s toolset.

Seismic tomography allows geophysicists and geologists to observe the velocities of seismic waves through structures of the earth’s crust. By creating seismic waves through shot point explosions and measuring the arrival times of waves at geophone stations, a seismic velocity model of the earth’s crust can be calculated by Hole’s nonlinear tomographic inversion procedure [H95, H92, H00] and finite difference calculations [V88, V90]. The application for such models is for earthquake analysis and oil exploration.

The SeismicT3 tool will create seismic models of the Earth from a preliminary velocity model that is refined iteratively using data collected from field experiments and application of the aforementioned calculations. The tool will use travel time picks and shot points to derive travels times and it will calculate RMS errors. The features of the tool are that it will allow the user to submit and access data (shot points, pick files, existing models), view intermediate results of the modeling in order to make decisions about the validity of the model, view and manipulate the final 3-D model, and provide an error recovery option. The tool will provide an interactive environment to facilitate use of the features.

1.3.  Definitions, Acronyms, and Abbreviations

This section describes the acronyms and abbreviations used in this document. Please read this section first before preceding.

1.3.1.  Definitions

Coverage / A term that refers to areas of the model through which rays pass.
Geophone / Intrument used to measure the amplitude of seismic waves.
Grid Point / The coordinate of a cell corner.
Grid Spacing / The number of degrees between adjacent grid lines of the map drawn in the image area.
Initial Velocity Model / The starting model, typically 1-D
Iteration / A pass through Hole’s code at a given smoothing window.
Line number / A number assigned to a row of instruments that have been placed along a profile.
Model box / Surface reference to the model space
Moving average filter / A filter that smooths the values within a model by taking averages as a box moves through the model
Offset / The distance between the shot point and the receiver (x0).
Path Name / A path name is a character string that can be used to locate objects in the integrated file system. The string can consist of one or more elements, each separated by a slash (/) or back slash (\). Each element is typically a directory or equivalent, except for the last element, which can be a directory, another object such as a file, or a generic presentation of an object or objects to be located.
Pick / The arrival time of the first wave, picked by the user from the seismogram data.
Picking error / Resolution of first arrival pick
Punch / Force administered to derive a pick.
P-wave / The primary or fastest wave traveling away from a seismic event through the solid rock, and consisting of a train of compressions and dilations of the material.
Receivers / A device that detects seismic energy in the form of ground motion or a pressure wave in fluid and transforms it to an electrical impulse.
Root-Mean-Square (RMS) Error / Error that is calculated by the square root of the mean value of a variable.
Seismic tomography / Three-dimensional imaging models for the earth.
Seismogram / Record of an earth’s tremor.
Seismic wave / An elastic wave generated by an impulse such as an earthquake or an explosion. Seismic waves may travel either along or near the earth's surface (Rayleigh and Love waves) or through the earth's interior (P and S waves).
Shadow zones / The area where some P waves have been slightly refracted, creating a "shadow" zone. It is a zone on Earth's surface where no seismic waves are received when an earthquake occurs
Shot point / One of a number of locations or stations at the surface of the Earth at which a seismic source is activated.
Slowness / The inverse of velocity.
Smoothing window / The size of the moving average filter in cells x, y, z.
Source location / The coordinates of a explosion used to generate acoustic or seismic waves.
Station / A ground position at which a geophysical instrument is located for an observation.
System / A network of related computer software, hardware, and data transmission devices.
S-waves / A “ripple” wave produced by an earthquake. The “S” is from the Italian “Segundo,” indicating that S-waves arrived at seismic stations after the P-waves.
Time map / A representation of time versus distance
Travel time residual / Difference between observed and calculated travel times.
Travel times / The times it takes a p-wave to travel to two of the closest seismometers and to the most distant one.
UTM / Universal Transverse Mercator coordinates define two-dimensional, horizontal positions
Velocity / In reference to earthquake shaking, velocity is the time rate of change of ground displacement of a reference point during the passage of earthquake seismic waves commonly expressed in centimeters per second.
Velocity curve / A curve on a graph of travel time versus distance for the arrival of seismic waves from distant events. Each type of seismic wave has its own curve.
Velocity residual / The difference between the observed and calculated velocities..
Velocity structure / A generalized regional model of the Earth's crust that represents crustal structure using layers having different assumed seismic velocities.
x-offset / The offset within the x direction reference to the model space.
y-offset / The offset within the y direction reference to the model space.

1.3.2.  Acronyms

DBMS / Database Management System
GEON / GEO-science Network
GMT / Generic Mapping Tool
GUI / Graphical User Interface
I/O / Input/Output
RMS / Root Mean Square
SeismicT3 / Seismic Travel Time Tomography software system
UTM / Universal Transverse Mercator

1.3.3.  Abbreviations

2-D / Two-dimensions
2.5-D / Two and a half dimensions
3-D / Three-dimensions
dt / Travel time residual
du / Velocity residual
ID / Identification
M / Meters
Km / Kilometers
Km/s / Kilometers per seconds.
Mb / Megabyte (1,024 kilobytes or 1,048,576 bytes).
ms / Milliseconds
Gb / Gigabyte (1,024 megabytes)
GHz / Gigahertz
s / Seconds
TBD / To be determined

1.4.  Overview

This document is divided into four main sections: Introduction, General Description, Requirements and Appendices. The introduction describes the purpose of the SRS and the scope of product. This section also contains definitions, acronyms, and abbreviations sections that will define the words that the readier may need for better understanding of the document. Section 2 gives a general description of the product, including how it compares to similar tools and its main features, user characteristics, and general constraints and assumptions of the system being developed. The third section provides the detailed requirements for the system. The requirements are divided into three main sections: software, hardware and communication interfaces; behavioral requirements, and non-behavioral requirements. Appendices A, B, and C present the dataflow diagram, state chart diagram, and the class diagram, respectively.

1.5.  References

[CG04] Y. Cheon and A.Q. Gates, “Requirements Definition (draft),” [Online document] Sept 2004, Available at HTTP: http://www2.cs.utep.edu/~cs4310/documents/project/ReqDefDraft.doc

[G05] 3gnewsroom, “Glossary,” www.3gnewsroom.com/html/glossary/g.shtml, January 2005.

[H92] J. A. Hole, “Nonlinear High-Resolution Three-Dimensional Seismic Travel Time Tomography”, Journal of Geophysical Reasearch, 97(B5), 10 May 1992.

[IA05] Interview with Matt Averil, UTEP, January 2005.

[IK04] Interview with Dr. Randy Keller, UTEP, September 2004.

[IV04] Interview with Dr. Aaron Velasco, UTEP, October 2004.

[I05] iSeries Information Center,

http://publib.boulder.ibm.com/iseries/v5r1/ic2924/index.htm?info/rbam6/rbam6pathnames.htm, January 2005.

[K04] R. Keller, personal interview, 14 September 2004.

[SH00] C.M. Snelson, and B.J. Hiett, “Documentation for 2-D and 3-D Inversion Code by J. Hole,” Version 1.2, August 2000.

[U05] UTEP, “Top Gun,” http://www.cs.utep.edu/topgun/, January 2005.

[V90] J. Vidale, “Finite-difference calculation of travel times in three dimensions, Geophysics, 55(5), May 1990.

[V98] J. Vidale, “Finite-Difference Calculation of Travel Times,” Bulletin of the Seismological Society of America, 78(6), December 1998.

Software Requirements Specification / <Enter team name here> / Date
2/28/2007 12:12 PM / Page
1

Software Requirements Specification

2.  General Description

2.1.  Product Perspective

SeismicT3 is being developed to upgrade existing software that is over ten years old. While the existing tool requires numerous input/output (I/O) files and execution of several independent programs, SeismicT3 will automate the piping of data from one process to the next. In addition, it will be developed on a multi-processor system to improve the performance of the existing solution.

2.2.  Product Features

The main features of the SeismicT3 tool are described in the ways it will be used. The main uses, as depicted in the use case diagram given in Figure 1, are as follows:

§  Input and edit field data including:

o  Shot point locations

o  Station point locations

o  Picks

o  Initial velocity model

§  Create and store iterations of 3-D velocity models

§  Display thumbnails of the models generated, full images of a chosen model and its associated statistics

§  Manipulate the model

o  Zoom

o  Rotate

o  Slice

There are three actors that interact with the system: the user, the database system, and the tools (see Figure 1). The user interacts with the system by entering or specifying the location and type of input data, i.e., shot points, pick points, and velocity models, to be opened by the system and initiating the aforementioned functionality. The database maintains archived I/O data. The application tools include Generic Mapping Tool (GMT) for displaying the 2-D, 2.5D, or 3-D images and plots, and a basic text editor.