Compartmented Mode Workstation Labeling: Encodings Format

Chapter 8 Enforcing Proper Label Adjudications

This section describes how to use compartments and/or markings to effect proper label adjudication by the system. Each label adjudication example described in Chapter 1, Introduction is expanded below using examples in the proper format for inclusion in an encodings file. Only marking bits are used in the examples below, although compartment bits could alternatively have been used in the examples. From the standpoint of label adjudication, there is no difference between compartment bits and marking bits.

Normal Words

Example 8-1 shows the encoding of a normal (non-inverse) word not necessarily in a hierarchy. A single marking (or compartment) bit is necessary, and this bit should not be specified as an initial marking (or compartment) bit (except in the rare case that this word is a default word that should always be present with some classification). This example is the simplest and most common example of the association between a human-readable word and the internal bit format. Normal words can also have multiple associated bits, and may be in hierarchies with other words.


Example 8-1 Normal Words

name= word1;  markings= 0; 

Appendix B, Annotated Sample Encodings has the following examples of normal information label words: CC, SB, bravo1, bravo2, bravo3, B, alpha1, alpha2, alpha3, A, project x LIMDIS, project y LIMDIS, ORCON org x, ORCON org y, D/E, all eyes, p1 eyes only, p2 eyes only, WNINTEL, and NOFORN.

Inverse Words

Example 8-2 shows the encoding of an inverse word that is not necessarily in a hierarchy. A single marking (or compartment) bit is necessary, and this bit must be specified as an initial marking (or compartment) bit, as described in Chapter 3, Classification Encodings. This example is the simplest and most common example of the association between a human-readable inverse word and the internal format. Inverse words can also have multiple associated bits, and may be in hierarchies with other words.


Example 8-2 Inverse Words

name= word2;   markings= ~1;

Appendix B, Annotated Sample Encodings contains examples of inverse information label words: bravo4, charlie, REL CNTRY1, REL CNTRY2, REL CNTRY3.

Hierarchies of Words

The establishment of hierarchies among words is an extremely important feature of the translation software, because the software enforces that two words in the same hierarchy cannot appear together in a label. The software infers a hierarchy between two words W1 and W2 whenever both of the following two conditions are true: 1) if the bits explicitly specified for W1 includes all of the bits explicitly specified for W2, and 2) if the values of the bits specified for W1 dominates the values of the same bits for W2, with unspecified bits in W2 taken to be 0. The following series of examples highlights these concepts.

Example 8-3 shows the encoding of two normal words in a hierarchy, with word5 hierarchically above word4. This is the most common way to encode a hierarchy of normal words, with 1) the words in decreasing hierarchical order and 2) without any 0 bits explicitly encoded (using a ~). It is unnecessary to explicitly specify that for word4 bit 4 must be 0 (using ~4) because bit 4 was not specified as 1 in the initial marking bits. Note that if bit 4 is not specified as 0 for word4, that word4 must appear after word5 in the encodings. If the order of the two words were reversed, a label with bits 3 and 4 as 1 would have word4 shown in the human-readable label, because although both the word4 and word5 bits match the internal format, word4 would be encountered first by the translation software.


Example 8-3 Two Normal Words in a Hierarchy

name= word5;   markings= 3  4;
name= word4;   markings= 3;

Example 8-4 is identical to the above example, except it demonstrates that while the ~4 is not necessary, it is a valid alternative representation. Note that bit 4 is not an inverse bit, and therefore need not be specified as 1 in the initial marking bits.


Example 8-4 Normal Words Alternative Representation

name= word5;  markings= 3  4;
name= word4;  markings= 3 ~4;


Example 8-5 is identical to the above example, but has the order of the words reversed. This example works properly because the ~4 is present. As above, note that bit 4 is not an inverse bit, and therefore need not be specified as 1 in the initial marking bits.


Example 8-5 Normal Words Reversed Order

name= word4;  markings= 3 ~4;
name= word5;  markings= 3  4;

Example 8-6 shows a hierarchy of inverse words, with word12 above word13 in the hierarchy. In this example, both bits 3 and 4 are inverse bits, and are specified as 1 in the initial marking bits.


Example 8-6 Hierarchy of Inverse Words

name= word12;  markings= 3 ~4;
name= word13;  markings= ~3  ~4;

Example 8-7 does not represent any hierarchy between the two words. Bit 4 is an inverse bit, and is specified as 1 in the initial marking bits. Word12 is not in a hierarchy above word13 because the bits specified for word12 (3) do not include those specified for word13 (3 and 4). Word13 is not in a hierarchy above word12 because the values of the bits specified for word13 (1 and 1 for bits 3 and 4, respectively) do not dominate the values of the same bits for word12 (1 and 0, with the 0 for bit 4 implicitly assumed).


Example 8-7 No Hierarchy

name= word12;  markings= 3;
name= word13;  markings= ~3  ~4;

It is always possible to specify all bits involved in hierarchies (leaving no bits implicitly 0). Allowing bits to be implicitly assumed to be 0, as the the first example above, is a convenience that can be used only for hierarchies--or portions of hierarchies--involving normal bits. If an inverse bit appears in a word in a hierarchy, all words above that word in the hierarchy must have the inverse bit explicitly specified.

Appendix B, Annotated Sample Encodings contains the following examples of information label words in hierarchies: CC, SB, bravo1, bravo2, bravo3, bravo4, B, alpha1, alpha2, alpha3, A, all eyes, p1 eyes only, p2 eyes only, WNINTEL, NOFORN, REL CNTRY1, REL CNTRY2, and REL CNTRY3. Appendix B, Annotated Sample Encodings also contains a graphical representation of the hierarchical relationships among these words.

Composite Words

Example 8-8 shows a composite word, word9, which is a composite of words word7 and word8. This example works assuming that bits 6 and 7 are not specified as 1 in the initial marking bits. Functionally, with this encoding, if word8 is added to a label with word7 already present, both words are automatically replaced by word9. Note that having the composite word precede the other words is critical in this example. If instead word9 was below word7 and word8, it would never appear in human-readable labels translated from internal labels; instead, word7 word8 would appear, and word9 would become an alias for word7 word8.


Example 8-8 Composite Words

name= word9;  markings= 6  7;
name= word7;  markings= 6;
name= word8;  markings=     7;

Example 8-9 shows an alternative method for encoding a composite word. In this example, because of the presence of the explicit 0 bits (~6 and ~7) in the encodings of word7 and word8, the order of the words does not matter. Note that the 0 bits are not inverse bits, and therefore need not be specified as 1 in the initial marking bits.


Example 8-9 Composite Word Alternative Method

name= word7;  markings= 6 ~7;
name= word8;  markings= ~6 7;
name= word9;  markings= 6  7;


From an adjudication standpoint, this alternative is identical to the previous example. However, there is one important functional difference between this example and the preceding one in the way that the translation software will work. In the preceding example, if word8 is added to a label containing word7 (or vice versa), the label changes to contain word9 instead of word7 or word8. But in this example, the explicit specification of the 0 bits makes the encodings of word7 and word8 mutually exclusive, so (as explained in Chapter 7, General Considerations for Specifying Encodings) they must be prevented from appearing together by a combination constraint, for example:

word7 ! word8

Therefore, adding word8 to a label that already contains word7 does not replace both words with word9 as in the above example; instead, the addition of word8 is ignored. Note that in both examples, adding word9 to a label with either word7 or word8 replaces the word with word9.

Appendix B, Annotated Sample Encodings contains the following examples of composite words: all eyes, which is a composite of p1 eyes only and p2 eyes only.

Non-Hierarchical Composite Words

Example 8-10 shows a non-hierarchical composite word, word12, which is a composite of words word10 and word11. This example works assuming that all specified bits are not specified as 1 in the initial marking bits. Functionally, with this encoding, if word11 is added to a label with word10 already present (or vice verse), word12 is automatically added to the label. Non-hierarchical composite words must always preceed the words of which they are composite. Note that a combination constraint cannot prevent a non-hierarchical composite word from being combined with a word of which it is a composite.


Example 8-10 Non-Hierarchical Composite Word

name= word12;  markings= 6 7;
name= word10;  markings= 0 6;
name= word11;  markings= 1 7;

A Complex Example

Combinations of the above types of words can yield more complex examples. Example 8-11 shows two words in a hierarchy, one of which is inverse. This example has the interesting adjudication effect that if the inverse word (word13) is combined with any label that does not contain the word, the result is that the inverse word is replaced by the word above it in the hierarchy (word14). Because word13 is inverse, bit 9 must be specified as 1 in the initial marking bits. name= word14; markings= 8 9;


Example 8-11 Two Words in Hierarchy with Inverse Word

name= word13;  markings= 8 ~9; 

Appendix B, Annotated Sample Encodings contains the following examples of complex information label words similar to this example: bravo4, which is an inverse word below bravo2 in a hierarchy.