1
PDS 4 Data Design Report
PDS Management Council
April 2, 2009
PDS 2010 Data Design WG
Data Architecture Scope
2
Key Deliverables• PDS4 Information Model
• The Information Model defines the objects in the PDS archive. This includes data structures, formats, and products as well as data sets, documents, missions.
• PDS4 Data Dictionary Model• The Data Dictionary Model provides the schema for the PDS data
dictionary. The data dictionary defines the data elements used in the PDS4 Information Model.
• PDS Standards Reference V4.0 and V4.1• Version 4.0 of the PDS Standards Reference document will be a rewrite
of Version 3.x. Version 4.1 will be an update released toward the end of the project.
• Grammar• The Grammar will be used to capture PDS archive metadata for
product labels. The plan is to replace or fix ODL. XML is being considered as an additional grammar.
3
Data Design Working Group • Formed in December 2008• Personnel
• Steve Hughes (Lead)• Mitch Gordon (Rings)• Edward Guinness (Geosciences)• Lyle Huber (Atmospheres)• Ron Joyner (EN)• Anne Raugh (SBN)• Elizabeth Rye (Imaging, Standards)• Steve Joy (PPI)• Dick Simpson (Observer)
• Weekly Telecons• Project Website
• Just released version “m” of the model to the PDS engineering website.
• The design documents and example labels are re-generated after the application of updates to the information model database. 4
Data Design WG Schedule
• 04-Dec-2008 - Project and Project Members Defined • 31-Dec-2008 - Requirements updated• 30-Apr-2009 - General Data Model (Draft)• 30-Apr-2009 - Product Data Model (Draft)• 30-Apr-2009 - Data Dictionary Model (Draft)• 30-Apr-2009 - Grammar Options• 30-Apr-2009 - PDS Standards Reference (Outline)• 30-Sep-2009 - Data Dictionary Model (Final)• 30-Sep-2009 - Grammar Decision • 30-Sep-2009 - PDS Standards Reference (Draft)• Interim - PDS and community wide review• 30-Jul-2010 - General Data Model (Final)• 30-Jul-2010 - Product Data Model (Final)• 30-Jul-2010 - PDS Standards Reference (Final)
5
Done
SubstantialProgress
PDS4 Data Product Concept Map
6
Web View
Programmer View
Designer View
User View
Working Group Accomplishments To Date
7
• Four basic data structures•Homogeneous N-dimensional array of scalars – Array_Base•Heterogeneous repeating record structure of scalars – Table_Base•Unencoded byte stream•Encoded byte stream
• Identifiable• Digital Product
• Data Product• 2-D Image
Product• …
• Document Set
• Non-Digital Product• Mission• Instrument• Resource
• Data Type• Binary Data Type
• Decimal Integer• …
• Character Literals• Character
Integer• …
• Array_Base• 2D_Array
• 2D_Image• 2D_Spectrum
• 3D-Array• 3D_Wavelength_Array
• 3D_Image• 3D-Spectral_Array
• 3D_Time_Array• Movie
• 3D_Spatial_Array• N>3-D Array
• Table_Base• Character_Table_Base• Binary_Table_Base
• Draft PDS Data Dictionary Model
• Grammar – ODL+, XML, and AnneML Labels
Prototype ODL+ Label Template (Data Structure)
8
/* Object Section */ Object = 2D_Image axes_order = FAST2SLOW axis_length = (${axis_length}, ${axis_length}) axis_name = (${axis_name}, ${axis_name}) axis_type = (${axis_type}, ${axis_type}) axis_unit = (${axis_unit}, ${axis_unit}) byte_order = MSBF description = ${description} /* Optional */ element_bytes = ${element_bytes} /* Optional */ element_offset = ${element_offset} /* Optional */ element_scale = ${element_scale} /* Optional */ element_type = ${element_type} element_unit = ${element_unit} /* Optional */ first_element = TOPLEFT min_index = 0 number_of_axes = 2
End_Object = 2D_ImageEND
Prototype ODL+ Label Template(Other stuff)
9
#PDS4#/* ******* Label Template : 2D_Image_Label ******* */ PDS_Unique_Identifier = ${PDS_Unique_Identifier}
/* Identification Section */ Object = Identification_Section dd_version_id = ${dd_version_id} label_revision_note = ${label_revision_note} pds_version_id = PDS4.0 End_Object = Identification_Section
/* Dataset Section */ Object = Dataset_Section data_set_id = ${data_set_id} End_Object = Dataset_Section
/* Instrument Section */ …/* Mission Section */ …/* Node Section */ …/* Circumstances of Observation Section */ …
Prototype XML Label – XML/Schema
10
<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">... <xs:complexType name="2D_Image_Type <xs:sequence> <xs:element name="axes_order" type="xs:string"> <xs:element name="axis_length" <xs:element name="axis_name" <xs:element name="axis_type" <xs:element name="axis_unit" <xs:element name="byte_order" <xs:element name="element_bytes" <xs:element name="element_offset" <xs:element name="element_scale" <xs:element name="element_type" <xs:element name="element_unit" <xs:element name="first_element" <xs:element name="min_index" <xs:element name="number_of_axes" </xs:sequence> </xs:complexType>
…
Prototype AnneML Label
11
PDS4 Label { Use Dictionary PDS4; Use Dictionary <local data dictionary>;
… class 3D_Image { axes_order = FAST2SLOW; axis_length = (${axis_length},${axis_length}, $
{axis_length}); axis_name = (${axis_name}, ${axis_name}, ${axis_name}); axis_type = (${axis_type}, ${axis_type}, ${axis_type}); axis_unit = (${axis_unit}, ${axis_unit}, ${axis_unit}); … element_bytes = ${element_bytes}; /* Optional */ element_offset = ${element_offset}; /* Optional */ element_scale = ${element_scale}; /* Optional */ element_type = ${element_type}; element_unit = ${element_unit}; /* Optional */… number_of_axes = 3; …};
Next Steps
12
• Continue design work in preparation for Tech Session
• PDS Technical Staff Review
• Information Model• Obtain consent to continue along current design path
• Grammar • Present options and move toward adoption of one or two of
the options
• Data Dictionary Model• Present draft model and consider adoption
• Standards Reference• Present outline and request feedback