[cssm] SACP Schema Development - yet another Update

John Pietras john.pietras at gst.com
Fri May 1 19:50:13 UTC 2020

I think that you are misinterpreting the containment hierarchy of the XML schema/document. One could get the impression from your example that to "name" a parameter you have to crawl the hierarchy. That's not true - e.g., the name of tcPlopSyncMaxCltuLength parameter of the TcPlopSyncAndChnlEncode FR (i.e., encoder) that appears in the configuration profile is {<FrNickname for the TcPlopSyncAndChnlEncode FR>: "tcPlopSyncMaxCltuLength"}. Rather than repeat the <FrNickname for the TcPlopSyncAndChnlEncode FR> for every parameter, we leverage XML to let us collect all of the TcPlopSyncAndChnlEncode parameters under the same Nickname.

You tend to draw your examples from the lowest couple of layers of the space communications "stack" (aperture, space link carrier, coding) where indeed in most cases there are only one instance of each type of FR and therefore only one instance of each parameter of each FR. So for those layers, indeed, you can have a flat list of "ForwardProfileParameters". And in fact the functional resource naming conventions give unique names to every parameter, so for those parameters that appear once and once only in a configuration profile, one *could* just get away with using the parameter names (e.g., tcPlopSyncMaxCltuLength )and ignoring the nickname of the FR instances that contain them.

However, when you get "above" the coding layer, then you start getting multiple instances of the same FR types, and each of those instances has its own "copy" of the configuration parameters that applies to that instance. E.g., each one of possibly multiple master channels has its own set of configuration parameters, and each of the virtual channels of each of those master channels has *its* own set of configuration parameters, and (on the forward link) each virtual channel has its own set of MAP channels, each with its own set of configuration parameters. We use the XML containment hierarchy to define, for example, which set of VC Generation parameters applies to the VC #4 that feeds Master Channel 0, and which set of VC Generation parameters applies to the VC #4 that feeds Master Channel 1. I think that your flat-list approach would get awkward dealing with these kinds of configuration parameters.

I look forward to Monday's discussion.

Best regards,

From: SMWG [mailto:smwg-bounces at mailman.ccsds.org] On Behalf Of Barkley, Erik J (US 3970) via SMWG
Sent: Friday, May 1, 2020 2:11 PM
To: Marcin.Gnat at dlr.de
Cc: CCSDS Service Mgmt WG <smwg at mailman.ccsds.org>
Subject: Re: [cssm] SACP Schema Development - yet another Update

Dear Marcin,

I took a look at the schema examples.  No surprise, I think we have work to do : -)

I can very much appreciate the issue being dealt with here of how to have something that draws the configuration profile from functional resources in yet also fits with the service management schema landscape. In some sense we have two very different things going on here (yeah, probably not really a surprise to you).  My sense is that we would do well to lean towards the service management schema landscape in deciding how we want to proceed.

Doing a quick compare and contrast, the current things we have out there for the service management landscape lend themselves to instance documents that are quite straightforward. Putting some representative instance documents into a mind manager map file it quickly shows you the level of complexity/markup elements and sub elements involved for a particular instance.  If I load up one of the CPIF instance from prototyping I get a (partial) diagram like this:

[cid:image001.png at 01D61FC7.BD952730]

The counts in the oval represent the number of items below this element in the map including item name and value. There is about 3 levels of hierarchy involved and then we are done (eg., PlanningInfo-->PlanningInfoData-->elevationAscendingEvent-->*payload*)

By contrast for either the multiple service or cookie cutter or service config profile so far we have a partial diagram like this:

[cid:image002.png at 01D61FC7.BD952730]

Which has a lot more levels of navigation before we finally get to the "payload"  (ConfigurationProfile-->serviceProfile-->apertureFR-->physicalChannelFR-->functionalResourceParameters-->sanaRegisteredFrParameter-->stringParmaeter-->*payload*). I fear with something like this we are essentially dead on arrival.  It seems to expose too much internal wiring/plumbing (and as I think you said, at the end of the day, ground station operators don't care at all about whatever wiring CCSDS has figured out they just want to know the parameters to put into their equipment).

Perhaps we need to consider a more substantial transformation capability between the FRM and CSSM configuration profiles.  I can't help but wonder if this transformation could get us to expressions of configuration profile that are much more "flat" and speak the user's language much more directly.  I don't know what that transformation is yet, but a diagram kind of showing this might look like:

[cid:image003.png at 01D61FC7.BD952730]

Given that, ultimately, the FRM is delivered/transferred to SANA as an XML instance document it seems that there should be the possibility of indicating the FRs that going into a type of configuration profile and then xpath, xquery, etc to get to some list of parameters and their data types.  It would imply some artifact such as database and/or spreadsheet that names the FRs for each configuration profile type.  And I'm sure this is where you come out and pat me on the shoulder and say "there, there...it will all be better soon" : -)   Nonetheless, perhaps this helps at least a bit...?  Let's discuss more on Monday.

Best regards,

From: SMWG <smwg-bounces at mailman.ccsds.org<mailto:smwg-bounces at mailman.ccsds.org>> On Behalf Of Marcin.Gnat at dlr.de<mailto:Marcin.Gnat at dlr.de>
Sent: Friday, March 27, 2020 05:25
To: smwg at mailman.ccsds.org<mailto:smwg at mailman.ccsds.org>
Subject: [EXTERNAL] [cssm] SACP Schema Development - yet another Update

Dear all,

I just uploaded the yet updated schema-drafts and examples. This time the cookie-cutter example is filled with same information as the generic one, for beter comparison. Also I've split the main schema to 902x05w0_01-ConfPrfl.xsd and 902x05w0_01-ccConfPrfl.xsd, to allow smoothly to validate respective examples, without any need for changes as proposed below.


As next, I will try to work on "full-blown-example" of Schema and Example-Profile including also parameter validation.

Here I need to think if we stay with our SM-AbstractParameter as a base class, or I go for the FRM classes (is there any reference I can use for that? Any XSD with base classes I could use?).. What do you think?

Cheers and stay healthy

From: SMWG [mailto:smwg-bounces at mailman.ccsds.org] On Behalf Of Marcin.Gnat at dlr.de<mailto:Marcin.Gnat at dlr.de>
Sent: Dienstag, 17. März 2020 17:58
To: smwg at mailman.ccsds.org<mailto:smwg at mailman.ccsds.org>
Subject: [cssm] SACP Schema Development - Update

Dear all,

I just uploaded the presentation and updated Schemas to the CWE:



The example XML is autogenerated out of XSD and does not yet include some real parameters (I did that for the generic example already). I will fill it up next days, and upload, so that you can better compare the differences.

The section in the beginning of the main schema (902x05w0_01-ConfPrfl.xsd) needs to be changed, depending what content one needs (the cookie-cuter or generic one). So when you take examples (both point to the same main schema!) think about changing the schema as well (otherwise you won't get validated).

      <xsd:restriction base="SrvMgtInfoEntityType">
                  <xsd:element ref="configurationProfileHeader" minOccurs="1" maxOccurs="1"/>
Here, use this -->       <xsd:element ref="configurationProfileFwdRtnSlsTrnsServData" minOccurs="1" maxOccurs="1"/>
Or this -->        <!--  <xsd:element ref="configurationProfileData" minOccurs="1" maxOccurs="1"/> -->
<!-- we have a problem here!!! we can't restrict SrvMgtInfoEntityType with "choice", if we extend it, we have wrong  schema (includes some other things then) -->

I tried to overcome that, but didn't manage. Whatever I did, sooner or later I hit some issue...
This is one of the things we have, which I mentioned, when I said the cookie-cutters does not fit perfectly into current schema landscape (maybe its not immediately obvious, but when you look at my first diagram from the presentation, and than come back to schema, you should see that).

I'd be glad if we can talk next time more about it.

Hear you soon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ccsds.org/pipermail/smwg/attachments/20200501/567171d4/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 146487 bytes
Desc: image001.png
URL: <http://mailman.ccsds.org/pipermail/smwg/attachments/20200501/567171d4/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 114850 bytes
Desc: image002.png
URL: <http://mailman.ccsds.org/pipermail/smwg/attachments/20200501/567171d4/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 101352 bytes
Desc: image003.png
URL: <http://mailman.ccsds.org/pipermail/smwg/attachments/20200501/567171d4/attachment-0005.png>

More information about the SMWG mailing list