[cssm] SACP Schema Development - yet another Update (my earlier comments amended)

Marcin.Gnat at dlr.de Marcin.Gnat at dlr.de
Mon May 4 09:00:36 UTC 2020

Dear John and Erik,

I'm so happy this discussion is coming up :). Finally we can get to something...

To the topic, Erik I think captured few of my concerns. On the other hand, I concur with John, that having everything in flat list would end up very fast in a mess.
We need to find maybe some golden middle.

The point of matching of the FR parameters and their definitions: I came up with "simple parameter based on AbstractParameter", which however does not match to the FRM definitions. I understand on one side where it comes from (ASN1 and SLE heritage), and may be good for some fancy wire protocols (like CSTS MD ;-), but I really wonder if anybody in a ground station does want to know how the specific randomizing is defined mathematically per FR definition, in exchange of choosing just "randomizing on" or "off". At the end, the ground station implementers will have to cope with changing from the FRM or SM abstraction layer into their physical devices they have, and they need to do some matching being done custom way anyhow (the question is only how and at which level is it performed).

I know I'm possibly attacking a bit a concept of FRM and maybe I should earlier get a deeper look into that, but maybe earlier I would not be deep enough in Config-Profile stuff to see that anyway.

Let's see how far we go with the discussion today. Unfortunately I did not manage to include John's FRM-like schema into my examples, so no updates...


From: John Pietras [mailto:john.pietras at gst.com]
Sent: Freitag, 1. Mai 2020 22:42
To: John Pietras; Barkley, Erik J (US 3970); Gnat, Marcin
Cc: CCSDS SMWG ML (smwg at mailman.ccsds.org); Wolfgang Hell
Subject: RE: SACP Schema Development - yet another Update (my earlier comments amended)

I'd like to amend (slightly) a comment I made in the email below. I said that I got the impression from your example that one need to crawl the XML schema hierarchy to *name* the parameter, and I pointed out that that's not true. However, it *is* true that with the current schema/approach you do have to crawl the hierarchy to *locate* the parameter name, and I'm now thinking that that was your objection.

However, that still does not negate the fact that for a configuration profile that addresses all layers of a CCSDS communication stack (aperture to SLE-TS, CSTS, or TGFT Host), for anything but the simplest spacecraft (e.g., one MC. One VC and one MAP channel on the forward link, and one MC, one VC, and one RAF instance on the return link) there are going to be a lot of instances of the same parameter types, and there has to be some way of organizing them. The current schema organizes this according to the fanning-in and fanning-out of the data flows through the various layers, which has the added advantage of inherently representing the wiring of the stack. There are ways to somewhat decouple the wiring among the FRs and the parameters contained within those FRs, but (a) both parties still need to agree on that wiring in the first place and (b) someone then has to decide what's the "right" order for the various data sets in the configuration profile - e.g., do I specify all of the master channel parameters for all of the master channel instances before I specify all of the VC parameters for all of the VC instances, before I specify all of the MAP Channel parameters for all of the MAP channels?

Best regards,

From: SMWG [mailto:smwg-bounces at mailman.ccsds.org] On Behalf Of John Pietras
Sent: Friday, May 1, 2020 3:50 PM
To: Barkley, Erik J (US 3970) <erik.j.barkley at jpl.nasa.gov>; Marcin.Gnat at dlr.de
Cc: CCSDS SMWG ML (smwg at mailman.ccsds.org) <smwg at mailman.ccsds.org>; Wolfgang Hell <wo_._he at t-online.de>
Subject: Re: [cssm] SACP Schema Development - yet another Update

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<mailto:Marcin.Gnat at dlr.de>
Cc: CCSDS Service Mgmt WG <smwg at mailman.ccsds.org<mailto: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 01D62201.05E25900]

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 01D62201.05E25900]

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 01D62201.05E25900]

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/20200504/6ac7325e/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/20200504/6ac7325e/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/20200504/6ac7325e/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/20200504/6ac7325e/attachment-0005.png>

More information about the SMWG mailing list