GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

22
GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013

Transcript of GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Page 1: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

GSFC SEDS Schema

Overview & Major DifferencesKevin Rice

NASA/GSFC CCSDS Fall 2013

Page 2: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Agenda

• What We Did• What We May Do• Major Elemental Differences in Diagrams

Page 3: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

What We Did

Page 4: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Some Initial Goals

• Try to solve “our” problem first– Definitely interested in data types and packet descriptions

that are found in C FSW header files– Could be interested in other SOIS aspects

• Gain increased understanding of SOIS concepts by being “hands on”

• Replace Sam Price’s XSD with SOIS or SOIS-like XSD• Experiment

– Multiple schemas? • Improve emerging standard

– Hopefully

Page 5: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

One GSFC Problem Space

• FSW already exists– C and C-header (“.h”) files

• But annotated – Holds “metadata” not storable in C directly

• units, calibrator, limit, apid, etc…

– Sam Price “invention” as C has no annotation itself• In comments as “@keyword value” largely

– Parsable, Sam has tool• Desire:

– Build independent metadata, feed development or test tool chains• History

– Replace “in house” XML solution, move towards SOIS

Page 6: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Concept

Annotated .C or .H

Files

XML Metadata

Tool ChainMetadata

Directions of Definite Interest:RedBlueGreenBlueRed, BlueGreen

Docs

Page 7: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Example of Annotation/*! * @ingroup MESSAGES * @brief An example message for Power point. * @apid 135 */typedef struct Basic_M{ /*! * @is_packet_header */

CCSDS_Telemetry_Header packet_header; //CCSDS Packet Header/*! * @brief Temp of the baseplate the ram is attached to. * @polynomial [1566.7676,-18.85822,-.17372, 0.00229, 0.00001] * @units fahrenheit * @red_limit [-Inf,-20), (120,Inf] * @yellow_limit [-20,-15), (115,120] */int32_t cpu_temp;

/*! * @brief Receiver Position * @coordinate_frame ECEF * @unit meter */ double position[3];};

Page 8: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Initial Efforts

• Pre-existing XML solution• XTCE– Found it difficult to readily understand and apply

• SciSys Schema– Found it difficult to readily understand and apply

Created new schema for just data typesAttempted to “evolve” over time towards SOIS

solution, adding functionality, some experimentation

Page 9: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Some New Goals

• Narrow syntax– XTCE is very general– Closer to C data types plus annotation

• Go towards typical programming language terms– Parameter Variable– ParameterType DataType

• Copy XTCE concepts but fix items if there are known issues

• Simplify if possible• Flatten if possible

Page 10: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Results• Experimentation

– 8 major versions! -- numerous minor versions

– Ex. Tried a three schema split• But, in the end (for now):

– Consists of the overall structure of SciSys schema– But is hand created, has its own schema types– Is flatter and has a different “ref” mechanism– New data types– And a myriad of other “efficiencies”, “improvements”

• All SciSys Examples Converted over using Software Tool– NPAL, FOG, Hydra Star Tracker, Dot. Example, etc…

• GSFC GPS metadata converted to it (but this is just the data types)• Lives in NASA GITHUB Account• Self Evaluation

– A derivative work that needs further refinement and thinking– We need to understand SOIS concepts more deeply

Page 11: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

What We May Do

Page 12: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Some Ideas

• Further clean up of schema– A number of areas need further refinement

• Possibly experiment again w/multiple schema solutions

• Expand GPS metadata into it– Generate GPS .h/.c files, compare to hand created

version• Validate Sci Sys Examples– Possibly round-trip back to sci sys format– Maybe use them directly in a tool

Page 13: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Schema Diagrams

Page 14: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Removed AncillaryData and AliasSet, capped short description at 128.

Page 15: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Import other packages in another SEDS instance

Version, schema version, authorship log

Basically the same as SciSys

Name change. Flatter XML, but hierarchical references:NPAL.DAS::BatV1

Name change

Page 16: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

More C-like

Place to say a “struct” is a packet.Give APIDs

Very similar to SciSys. Parameter is now Variable, uses the term “prototype” instead of Command.Probably change…

Also very similar to SciSys. DataType, Variable as above

Page 17: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Just a list mainly…

May remove or re-think…

Abstract data type

“Packed” or masksMore…

Page 18: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

But only one more…

Bitfields and unions are also “struct-like” in syntax

Page 19: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Most of the other data types are similar.

But wait!? Where are units, cal, etc…?

Page 20: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Variables refer to DataTypes. But attributes are child elements aligned with type. Hence an IntegerVariable should have an IntegerDataType, and its various attributes should be aligned with it (e.g. initialValue is an xs:integer). Experimental…

But wait!? The units, cal, etc…again!?

Page 21: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

XTCE keeps the bulk of this at the type. But typical .H definition re-uses “UINT32” and although the annotation changed – new units, new cal or limit, etc… Experimental!

They are in the variable area…

Page 22: GSFC SEDS Schema Overview & Major Differences Kevin Rice NASA/GSFC CCSDS Fall 2013.

Suggest Now Using XMLSpy for Viewing Additional Changes If

there is Time and Interest…