HR: 1330h
AN: U22A-0008 [PDF]
TI: Using Rulesets to Build and Manage Data
AU: * King, T A
EM: tking@igpp.ucla.edu
AF: Institute of Geophysics and Planetary Physics, UCLA, 3846 Slichter Hall, Los Angeles, CA 90095-1567 United States
AU: Joy, S P
EM: sjoy@igpp.ucla.edu
AF: Institute of Geophysics and Planetary Physics, UCLA, 3846 Slichter Hall, Los Angeles, CA 90095-1567 United States
AU: Mafi, J N
EM: jmafi@igpp.ucla.edu
AF: Institute of Geophysics and Planetary Physics, UCLA, 3846 Slichter Hall, Los Angeles, CA 90095-1567 United States
AU: Means, E K
EM: emeans@igpp.ucla.edu
AF: Institute of Geophysics and Planetary Physics, UCLA, 3846 Slichter Hall, Los Angeles, CA 90095-1567 United States
AU: Walker, R J
EM: rwalker@igpp.ucla.edu
AF: Institute of Geophysics and Planetary Physics, UCLA, 3846 Slichter Hall, Los Angeles, CA 90095-1567 United States
AB:
The construction and maintenance of a data system involves a coordinated effort by data producers, data engineers and archive
managers. An effective data system has rich metadata content which is used to document, track and locate data within the
archive. Much of the metadata is derived from the actual data, such as the range of values, structure of the data, and the
position and pointing direction of the instrument. Other metadata is common across large collections of data, such as the
project under which the data were collected, version and release information, the properties of the instrument, and how the
data were processed. Active archives are built incrementally and often over a considerable length of time. Occasionally
archives must be migrated to new environments. This can be a daunting task and automation makes it viable. In both situations
maintaining consistency is the most important factor. Our group has been involved with NASA's Planetary Data System
continuously since its inception in 1985. This long-term experience guided the development of a formal ruleset language to
create a standardized method to build new archive components and to maintain our existing archive. A ruleset is an ordered
list of rules. Each rule provides a concise description of how to acquire, process and store desired information. The ruleset
language we have developed has two components. First there are variables which serve as storage points for information.
Second there are directives which detail how to set variables, flow control, branching, inclusion of other rulesets, and
output. The ruleset language and the companion ruleset processor support the extraction of information from external sources.
This is accomplished through external applications that adhere to a standardized convention: information is passed to the
application through the command line and the application outputs any results or messages to the standard output channel
(display) formatted in the ruleset language. The output ruleset is then processed "in-place". When an application adheres to
this convention it is called a plug-in. The ubiquitous support of the convention allows a plug-in to be written in any
programming or script language and makes it easy to test. A growing set of plug-ins already exists to perform many common
tasks. This set includes time format conversion, string manipulation, text formatting, table lookup and simple math.
DE: 6339 System design
DE: 6344 System operation and management
DE: 6999 General or miscellaneous
DE: 7899 General or miscellaneous
SC: U
MN: 2003 Fall Meeting