Closed bergtwvd closed 4 years ago
I think APP-6A = MIL-STD-2525B, APP-6B = MIL-STD-2525C ... But perhaps using NATO terminology is better anyway. 2525 ABC follow the same schema for symbol codes. 2525 D is different.
I think there are differences between the two, at least for the earlier versions. But I am not the expert on this ... To avoid confusion, we should consistently use APP-6.
I suggest to use only one "Symbol" attribute as an array of variant record with enumerator for symbol encoding type and datatype either SymbolIdentifierArray15 or 30. The same should be used for NETN-MRM Aggregate and NETN-Physical entities.
The MSDL schema defines a generic msdl:patternForceSymbolID15 datatype based on MIL-STD 2525B. In MSG-106 the team modified the schema to introduce patternForceSymbolAPP6B which has a slightly different semantics allowing different combinations of characters. Both are 15 characters but the allowed combinations are not the same but the latter is backwards compatible and allow any 2525B symbol code to also be entered in the XML and still be valid. MSG-163 introduced MIL-STD 2525C and D symbol codes as separate elements of a unit with its own datatype description. The 2525C replaced the App6B for Units but for some reason Equipment type is still using the original patternForceSymbolAPP6B (and no 2525D). Very confusing and not very consistent.
In MSDL the Symbology standard used in the document is specified as "ScenarioOptions" and applies/should apply for the entire file. => Only one standard is used. This does not make sense if we also introduce an additional 2525D?
IMHO, we the 2525D element can remain as defined but should also be added to EquipmentItem. The 2525B element can also be kept even if the name should be made more generic (perhaps just use the original msdl:patternForceSymbolID15) the exact encoding used for this element is specified by the ScenarioOptions element (currently MILSTD_2525C, MILSTD_2525B, NATO_APP-6). So basically two symbol codes are possible to define for each unit/equipmentItem.
The corresponding attribute in NETN-ORG Unit&EquipmentItem will be a single attribute as an Array of SymbolIdentifierVariantStruct. Each variant is based on a SymbologyStandardEnum (APP6A, APP6B, APP6C, MILSTD2525B, MILSTD2525C, MILSTD2525D) and for all except MILSTD2525D the datatype would be a 15 character string and for MILSTD2525D a 30 character string.
I suggest putting the Symbol related datatypes in NETN-BASE
BTW APP6D uses the same 30 digit encoding as MIL-STD 2525D
NEW PROPOSAL: Use URI notation as discussed in NETN-Physical#10
Instead of relying on a federation agreement, I would propose to include the symbol standard information into the string itself. Hence, it's clear at the very beginning how the symbol has to be interpreted.
Reference syntax: https://tools.ietf.org/html/rfc3986#section-3
For example: app6b:SFGP------ 2525b:SFGP------
Explanation: Scheme is symbol code standard. Path is actual symbol code.
This will have an impact on both the XML Schema and FOM module.
The following are the proposed changes:
In NETN-ORG-SimpleTypes.xsd:
Only one symbol for Unit and EquipmentItem allowed.
In NETN-ORG fom module:
The FOM shows SymbolId2525C and D attributes, whereas the MSDL file uses APP6 codes.
Don't we standardize on APP-6x ?