Data Model Software Layer

Gary Granger

National Center for Atmospheric Research
Atmospheric Technology Division

granger@ucar.edu

December 2002


Table of Contents
1. Definition
2. Motivations
2.1. Data models are interfaces but inadequately managed or treated as such.
2.2. Consistency and sharing among data models in ATD
2.3. Data format independence
2.4. Towards more generic processing
2.5. Data logic layer
3. Precedents
4. Design Goals
5. Design
5.1. Dimension
5.2. Data Instances
5.3. Fiber bundle model
5.4. Models
5.5. Storing the dataspace in XML
6. Applications
7. Current status
8. Future possibilities
9. Conclusion

1. Definition

A data model is a type, in the computer science sense. It describes the set of values that can be stored in instances of the type. Like classes or structs, it is a hierarchy of primitive types. The basic primitive type is the field. Examples: NetCDF files define the data model in the header. An XML DTD is a data model. The set of fields written over a serial feed is a data model, but not necessarily the syntax. Data model also implies how the topology and mapping of a field are described.

There can be more than one way to serialize or record the values in a datamodel, just as there are machine-dependent ways to store a float. However, there is every intention that there can be a standard but transparent translation between the model and an on-the-wire format and file formats like netcdf. NetCDF translates its model directly to an on-disk binary format.