# Presentation: 809565

## Validation Tool (VTool) 

**Validation Tool (VTool) **

- PDS Management Council Meeting
- Washington, D.C.

- November 2006
- http://pds.nasa.gov

## Topics

- Phase I
- Status
- Implemented Functionality
- Planned Functionality
- Timeline
- Phase II
- Scope & Status
- Use Cases Summary
- Level 4 Requirements
- Timeline

- PDS Management Council

## Phase I - Status

- Requirements Review (Feb 2006)
- Preliminary Design Review (Jun 2006)
- External Code Walk-through (Jun 2006)
- Requirements Document Update (Jul 2006)
- Alpha Test Phase I (Aug 2006)
- Alpha Test Phase II (Sep 2006)
- Open Issues
- 3 Tool Issues
- 11 Standards Issues

- PDS Management Council

## Phase I - Implemented Functionality 

-  General
- Validation of one or more products, which may reside in a directory, which may reside in a directory tree.
- Merge the contents of label fragments with the contents of the parent label if the fragments are collocated.
- Syntactic Validation
- Validation of labels based on the Standards Reference (~95% complete).
- Verify valid character set and lines terminated with <CR><LF>.
- Verify date/time values based on the Standards Reference.
- Semantic Validation
- Validation of labels according to the constructs specified in PDS compliant dictionary (PSDD, local dictionary).
- Recognize and report the existence of SFDUs in a label.
- Recognize labels based on existence of PDS_VERSION_ID or SFDU on the first line.
- Initial reporting of validation results.
- Tool is accessible via command-line and API with configurable parameters.
- Initial documentation supporting use of the tool.

- PDS Management Council

## Phase I - Planned Functionality 

- Syntactic Validation
- Validation of labels based on the Standards Reference (remaining 5%).
- Semantic Validation
- Range checking of values for NON-DECIMAL elements.
- Required file characteristic elements.
- Proper label padding.
- Element Existence
- Existence verification of reference files and data objects.
- Label Fragments
- Identification, discovery and validation of label fragments.
- Full URL Access support
- Specification of validation target and data dictionaries.
- Complete reporting of validation results.
- Complete command-line and parameters support.
- Complete documentation supporting use of the tool.
- Run on PDS supported platforms.

- PDS Management Council

## Phase I - Timeline 

- Resolve Tool Issues (Nov 2006)
- Resolve Standards Issues (On-going)
- Report Content and Format Review (Nov 2006)
- Beta Test (Dec 2006)
- Post-Beta Test Telecon (Dec 2006)
- Operational Delivery of version 1.0.0 (Jan 2007)

- PDS Management Council

## Phase II - Scope & Status 

- Scope
- The second phase will extend the functionality of VTool to cover other aspects of validation including:
- Data Objects
- Catalog Files
- Data Dictionaries (PSDD and Local)
- Data Set
- Volume
- Status
- Defined Use Cases (Sept 2006)
- Derived Level 4 Requirements (Oct 2006)
- Reviewed at Tech Session (Oct 2006)
- Prioritized Capabilities at Tech Session (Oct 2006)
- Phase II-a to validate Generic Object, Catalog Files and Data Dictionaries (PSDD and Local)
- Phase II-b to validate Data Set, Volume and Specific Objects

- PDS Management Council

## Phase II - Use Case Summary

- Each use case describes one or more scenarios where a user or a group of users would:
- Validate a PDS data dictionary.
- Validate a generic data object as part of a PDS data product.
- Validate a catalog file.
- Validate a PDS volume.
- Validate a specific data object as part of a PDS data product with Node developed software.
- Access documentation.
- These use cases have been derived from the PDS level three requirements and from information gleaned during Phase I development of the Validation Tool.
- These use cases have aided in the formulation of a more detailed set of level four requirements for validation.

- PDS Management Council

## Phase II - Level 4 Requirements (1 of 2)

**L4.VAL.1** - The tool(s) shall assist in determining whether components of an archive comply with PDS standards.
**L4.VAL.2** - The tool(s) shall be able to perform compliance tests on any component defined in the PDS Standards Reference, including (but not limited to) data products (including labels and objects), catalog files, data sets, and volumes.
**L4.VAL.3** - The tool(s) shall be able to validate single items (e.g. a stand alone label), groups of items (e.g. a data product with multiple objects), or entire structures (e.g. data sets and volumes).
**L4.VAL.4** - The tool(s) shall be able to validate components against requirements and limitations specified in the PDS Standards Reference.
**L4.VAL.5** - The tool(s) shall be able to validate objects and elements against requirements and limitations specified in one or more PDS compliant data dictionaries.

- PDS Management Council

## Phase II - Level 4 Requirements (2 of 2)

**L4.VAL.6** - The tool(s) shall be able to validate PDS compliant data dictionaries (e.g. Planetary Science Data Dictionary and local data dictionaries).
**L4.VAL.7** - The tool(s) shall report the results of each validation run in human- and machine-readable formats.
**L4.VAL.8** - The tool(s) shall provide documentation for installing, using and interfacing in online (web-based) and printable forms.

- PDS Management Council

## Phase II - Timeline

- L5 Requirements Review (Feb 2007)
- Phase II-a
- Design
- Implementation
- Alpha Test (Apr 2007)
- Beta Test
- Release (Jun 2007)
- Phase II-b
- Design
- Implementation
- Alpha Test (Aug 2007)
- Beta Test
- Release

- PDS Management Council

- Backup Material

- PDS Management Council

## Open Tool Issues

- Report Content and Format
- Too much detail to cover here.
- Planning a telecon in early November to discuss reporting.
- GNU Compiler for Java (GCJ)
- Need to figure out what’s up with this.
- Currently investigating.
- Max Errors Command-Line Option
- Current default is 300 error messages per run. Carry-over from LVTool.
- We have a couple of requests from Nodes for this number to represent maximum error messages per label.

- PDS Management Council

## Open Standards Issues (1 of 5)

- SCR 3-1070: ODL Lines and Records
- SCR 3-1073: Update ARCHIVE_STATUS Keyword
- SCR 3-1079: Update format of pdsdd.full and pdsdd.idx
- SCR 3-1087: PDS Standards on Sequences and Sets
- SCR 3-1089: Add Sub-Objects to FILE Object in PSDD
- SCR 3-1090: StdRef Discrepancy Regarding Signed Non-Decimal Numbers
- SCR 3-1091: Add PPI MISSION_PHASE_NAMEs
- Remove optional PSDD from many OBJECTs
- Bad characters in unit ids
- Handling of aliases
- AMBIENT_TEMPERATURE

- PDS Management Council

## Open Standards Issues (2 of 5)

- SCR 3-1070: ODL Lines and Records
- The rules for handling record boundaries in ODL labels as specified in _x0004_section 12.4.1 of the Standards Reference are different from PDS common practice.  The VTool programmers need to know what standard to program to.
- Status: Issue discussed at July 26 Standards Telecon.  Agreement reached on changed wording for StdRef to reflect current practice; final version of SCR needs to be sent out for formal vote.
- SCR 3-1073: Update ARCHIVE_STATUS Keyword
- Hyphenated standard values such as “ARCHIVED-ACCUMULATING”, which are not explicitly listed in the PSDD, cause errors in VTool.
- Status: An SCR has been submitted to fully define and list each standard value.  The SCR has not yet been discussed.

- PDS Management Council

## Open Standards Issues (3 of 5)

- SCR 3-1079: Update format of pdsdd.full and pdsdd.idx
- The current format of the pdsdd.full and pdsdd_*.idx files is not consistent with proper ODL syntax, and therefore caused some parsing problems for VTool.
- Status: The EN Dev team has agreed to postpone resolution of this issue until PDS4.  In the meantime, changes have been made to VTool to accommodate the current format of the PSDD files.
- SCR 3-1087: PDS Standards on Sequences and Sets
- Several ambiguities or inconsistencies regarding the syntax for sequences and sets are present in the Standards Reference.  These need to be resolved in order to be properly validated by VTool.
- Status: This SCR was discussed at the September 20 Standards Telecon.  Consensus was reached; a final version of the SCR needs to be written and sent out for a vote.
- SCR 3-1089: Add Sub-Objects to FILE Object in PSDD
- Neither the PSDD nor the StdRef lists any optional or required sub-objects for the FILE object.  Causes errors in VTool.
- Status: SCR has just been submitted.

- PDS Management Council

## Open Standards Issues (4 of 5)

- SCR 3-1090: StdRef Discrepancy Regarding Signed Non-Decimal Numbers
- Two different places in the StdRef offer differing rules on the inclusion of a sign within non-decimal numbers.  This discrepancy needs to be resolved for proper validation by VTool.
- Status: SCR has just been submitted.
- SCR 3-1091: Add PPI MISSION_PHASE_NAMEs
- PPI validation tests using VTool produced errors for missing standard values for the MISSION_PHASE_NAME element.  These standard values should already have been added to the PSDD.
- Status: SCR has just been submitted to add these values.
- Remove optional PSDD from many OBJECTs
- Many PDS objects list “PSDD” as a optional keyword.  In some places, this is appropriate, but in others it isn’t.  It precludes useful validation of the contents of those objects and its use should be reviewed.
- Status: SCR has not yet been submitted.

- PDS Management Council

## Open Standards Issues (5 of 5)

- Bad characters in unit ids
- Many unit ids contain characters that are invalid in an ODL context.
- Status: This issue will be difficult to resolve and the consensus has been to postpone it to PDS4.
- Handling of aliases
- There are several places within the PSDD where keywords are aliased to each other but have differing standard value lists.
- Status: The decision has been made to discourage aliases in the current version of VTool.  An SCR needs to be submitted to resolve the alias issue.
- AMBIENT_TEMPERATURE
- MAXIMUM_LENGTH attribute should be set to N/A.
- Status: Not yet acted upon.

- PDS Management Council