コンパートメントモードワークステーションのラベル作成: エンコード形式

語句の階層

語句同士の階層を確立することは、変換ソフトウェアの非常に重要な機能です。なぜなら、この変換ソフトウェアは、同じ階層に属する 2 つの語句をラベル内に一緒に表示できないようにするからです。変換ソフトウェアは、次の 2 つの条件が両方とも満たされているとき、語句 W1 と W2 との間の階層関係を推測します。1) W1 に明示的に指定したビットが W2 に明示的に指定したビットをすべて含んでいるとき、2) W1 に指定したビットの値が W2 の同じビットの値より優位で、かつ W2 で未指定のビットが 0 であるとき。次に示すいくつかの例を使用して、この概念を明らかにします。

例 8–3 は、階層での 2 つの通常の語句のエンコーディングを示しています。word5 は、word4 より階層の上位に位置します。これは、通常の語句の階層をエンコーディングするもっとも一般的な方法です。すなわち、1) 階層関係で上位の語句から順に記述し、2) エンコードされた値が 0 のビットは (~ を使用して) 明示的に記述しません。word 4 のビット 4 が 0 であることを、~ を使用して明示的に指定する必要はありません。なぜなら、ビット 4 は、初期マーキングビットで 1 と指定されていないからです。word 4 のビット 4 を 0 と指定しない場合は、エンコーディングで word 4 を word 5 の後に記述しなければなりません。この語順が逆の場合、ビット 3 およびビット 4 が 1 に設定されたラベルの人が読める形式には word 4 が表示されます。なぜなら、word 4 と 5 のビットの内部形式はまったく同じであるにもかかわらず、変換ソフトウェアが最初に word 4 を見つけるからです。


例 8–3 階層関係を持つ 2 つの通常の語句

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

例 8–4 は上記の例と同じですが、相違点は、~4 の指定は必要ないものの、代替表現としては正しいということです。ビット 4 はインバースビットではないため、初期マーキングビットで 1 を指定する必要はありません。


例 8–4 通常の語句の代替表現

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

例 8–5 は上記の例と同じですが、語句の順序が逆になっています。この例は、~4 を指定しているため正しく動作します。上記と同様、ビット 4 はインバースビットではないため、初期マーキングビットで 1 を指定する必要はありません。


例 8–5 通常の語句を逆の順序で表現する

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

例 8–6 はインバース語句の階層を示したもので、階層では word 12 は word 13 の上位に位置します。この例では、ビット 3 とビット 4 がインバースビットであり、初期マーキングビットとして 1 を指定しています。


例 8–6 インバース語句の階層

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

例 8–7 では、2 つの語句の階層関係を表していません。ビット 4 はインバースビットであり、初期マーキングビットで 1 と指定されています。word 12 は、階層関係において word13 の上位に位置するものではありません。なぜなら、word 12 に指定したビット (3) は、word 13 に指定したビット (3 と 4) を含んでいないからです。word 13 は、階層関係において word 12 の上位ではありません。word 13 に指定したビットの値 (ビット 3 の 1 とビット 4 の 1) は、word 12 のビット 3 とビット 4 の値 (それぞれ、1 と 0。なお、ビット 4 の 0 は暗黙に仮定される) より優位ではないからです。


例 8–7 階層関係がない

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

階層関係にあるすべてのビットを指定することもできます。すなわち、暗黙に 0 にしておくビットはありません。最初の例で示したように、暗黙的に 0 を仮定するようにすると、通常のビットを含む階層または階層の一部に使えるので便利です。階層関係のある語句にインバースビットが存在する場合、階層でその語句より上位に位置するすべての語句は、インバースビットを明示的に指定する必要があります。

付録 B 「説明付きのエンコーディングサンプル」には、階層関係を持つ情報ラベルの例として、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、および REL CNTRY3 を挙げています。また、付録 B 「説明付きのエンコーディングサンプル」には、これらの語句同士の階層関係を表現した図も記載しています。