Make it clear "sub"s are children of their parent
Sub Channel Set implies to be a child of a channel set, but rather is a child of Channel Function.
Consider renaming this for next version, this will be a breaking change.
I think I remember why we called the SubChannelSets SubChannelSets. It was not because they were sub of the channel function, but relating to the SubPhysicalUnit. The SubChannelSet should indicate the they are on the channel set level, but define the sub physical units, while the channel sets define the Physical Unit to some level.
But this said, when writing a proposal I also messed this up and placed them below to channel sets. But the use for SubChannel Sets is only allowed for some Attributes that have the SubPhysical Units defined. This is actually quite good explained in Annex F (normative) SubPhysicalUnit precisions.
In other words, SubChannelSets currently are just rarely used, as they define something that is only needed for small parts of the GDTF when one attribute does not fully describe what is happening.
I think moving forward, we need to be more precise with the naming of things, no not create mind challenges for people working with GDTF.
With this in mind, the name SubChannelFunction we discussed, also does not seem like a good with. Actually I would propose SubPhysicalAttribute when we really decide to rename it. ChannelFunction implies that it actually can be controlled, but the main thing of this is that they are indirectly controlled.
I also do not think, that SubChannelFunction will be a good idea. We already have a ChannelSet as child of channel function therefore renaming SubChannelSet into SubChannelFunction will be even more confusing.
As you write @moritzstaffel, we have Attribute. which defines a functionality with PhysicalUnit and some of attributes have a subset of functionality which is defined by SubPhysical. On a controlling part we have ChannelFunction for functionality and ChannelSet for sub set of some special controlling ranges. Deriving from this logic I think the right name would be SubPhysicalSet. "SubPhysical" will associate it with SubPhysicalUnit and "Set" same as ChannelSet.
I like SubPhysicalSet