HHG to the PDS4 Information Model

From The SBN Wiki
Revision as of 20:19, 3 August 2017 by Akash (talk | contribs) (category added)
Jump to navigation Jump to search

The PDS4 Standards, master schema, and core data dictionary are all derived from the PDS4 Information Model. The Information Model (IM) exists as a database. The Master Schema and Schematron are extracted from the IM database automatically (by script).

The PDS4 Information Model Specification is a human-readable dump of the contents of the Information Model Data Base, also generated automatically. You can find a link to it on the PDS4 Documentation page.

What It Is

The IM Specification HTML document is a human-readable format of the information in the IM database. It is cross-linked for browsing, and makes heavy use of modelling terminology.

Model-Driven design is used to develop and extend the PDS4 data standards. This IM Specification is as close as you can get to actually digging through the IM database itself.

What It Isn't

The IM Specification is not the Information Model. if a discrepancy should appear to arise between, say, the Master Schema and the Schematron file, the IM database is the authority, not this specification.

It is also NOT in Master Schema order. That is, the attributes for any given class are listed alphabetically, whereas in the Master Schema keywords have been arranged in a logical order based on their definitions.

So while the IM Specification can help you understand what is required and why (by following the derivation in the IM Specification), you cannot use it as your only source of information for writing PDS4 labels from scratch.

Who's This For?

The IM specification is primarily for the use of software developers designing large utilities to support significant portions of the total PDS4 archive. It documents the detailed derivations and hierarchical relationships between and among the various classes. If you're working in an environment where it is useful to know the object-oriented derivations present in the model, it's useful.

In the programming sense it is also a useful catalog of everything that might be included in a class, as long as order of occurrence is not significant.

And it does also include definitions of the terminology used, and the sort of context diagrams only an engineer could truly love.


If you find it useful, use it. If you don't, ignore it. You never have to look at this specification to do your PDS work.