Esri / joint-military-symbology-xml

Joint Military Symbology Markup Language is a data encapsulation of MIL-STD-2525D and APP-6(D).
Apache License 2.0
143 stars 58 forks source link

Cyberspace amplifier ambiguity #229

Open meterlongcat opened 8 years ago

meterlongcat commented 8 years ago

Good morning,

I believe I have found an ambiguity for Cyberspace amplifiers, but am hopeful that I've just misinterpreted it and you can correct me. Here goes:

Section L.5.3.3 of the 2525D spec states that the valid amplifiers for a Cyberspace symbol is dependent on the dimension of that symbol. This is reflected in _jmsml_DBase.xml, where multiple Dimensions contain Cyberspace. Each Dimension also captures the valid Fields (which includes amplifiers). This allows the valid amplifiers for a Cyberspace symbol to be retrieved via the relevant Dimension it belongs to. So far so good.

Consider the following code-flow with example Cyberspace SIDC 1006600000 0000000000:

Method _Symbol#UpdateFromCurrent() populates the various properties of the Symbol object. Specifically, it calls _librarian.SymbolSet(...), passing 6 and 0 (60 = Cyberspace's symbol set). This returns the correct Symbol Set object. Next _librarian.DimensionBySymbolSet(...) is called, passing "SS_CYBERSPACE". This is where the ambiguity starts. Method Librarian#DimensionBySymbolSet cannot determine what dimension the Cyberspace symbol exists in, and always returns the "AIR" dimension because it is the first dimension containing Cyberspace. This means that currently, all Cyberspace symbols are considered to be in the AIR dimension. Ultimately this means that the returned amplifiers for a Cyberspace symbol are always those defined for AIR.

As I understand it, the SIDC Symbol Set is used to pick the dimension. Therefore there is currently no way of defining a SIDC that defines a Cyberspace symbol plus the dimension it's in, because you can only have a single Symbol Set.

It looks like the 2525D spec is deficient in this regard, and requires the single Symbol Set 60 to be split into multiples as follows (much like Signals Intelligence already is):

Kind Regards, Jan

meterlongcat commented 8 years ago

Just thought I'd clarify that this doesn't appear to affect just amplifiers, but Cyberspace symbols in general. Cyberspace symbols are always in the AIR dimension (evident by the use of the AIR frame as per the 2525D spec Table I).

abouffard commented 8 years ago

@meterlongcat , you have stumbled upon a mistake DISA made in the allocation of symbol set codes for Cyberspace. JMSML is currently reflecting what is printed in the current version of 2525D and does not yet reflect any of the approved change proposals (CP) for 2525D Change 1.

Esri authored CP 150715-1 (DISA's CP number 15-057-DS) which identified this problem and proposed a fix. This CP was discussed and then approved as written by unanimous vote of the SSMC.

At an as of yet undetermined point in the future we will implement this CP in JMSML, along with others that have been approved for 2525D Change 1. When we start implementing CPs like this we'll create a separate branch of this repo to contain those changes, then merge that branch into master once 2525D Change 1 is published.

joebayles commented 8 years ago

@abouffard can you update this as necessary?

joebayles commented 6 years ago

@meterlongcat the cyberspace appendix is updated in MIL-STD-2525D Change 1, which is coming out soon. More to follow!