附属書B XTM概念モデル

B.0 導入

附属書Bでは,XMLトピックマップ概念モデルを示す。このモデルは,統一モデル化言語(Unified Modeling Language)UMLのオブジェクトモデル化記法から抽出した単純な記法を使用する。すなわち,以下では,モデルの中で使用される考え方(及びモデルの中で使用される特別な解釈)だけ示す。

概念モデルで使用される記法の説明

記法は,クラス(ものの種類)を表現する箱,及びそれらクラス間又はクラスのインスタンス(箱によって表現される種類の個々のも)間の関係を表現する,箱の間の接続から形成される。

arrow 空の三角で終わる線。下位型から(上位)型へ,を示す。

この記法は,最初の図B.1 “クラス階層”の中で最も明確に見ることができる。例えば,最上位レベルでは,“Resource”(資源)及び“Non-addressable Subject”(番地付け不可能な主題)の両方が,“Subject”(主題)の下位型になっていることを示す。一つ下のレベルの“String”(文字列)は,“Resource”(資源)の下位型となっていることが示されている。型が二つ以上の下位型をもつ場合には,それら下位型は,左右方向の線 — を使用して一つに集められる。これは,下位型間の接続を提供するわけではない。例えば,“String”(文字列)と“Topic”(トピック)との間の表明された関係は,それらは,両方とも,別々に,“Resource”(資源)の下位型になっている,ということだけとする。

arrow 任意選択的に矢印で終わる線。名前付けされた関係,を示す。

これは,図B.3 “トピックによる主題の具体化”の中で見ることができる。すなわち,“Topic”(トピック)と“Subject”(主題)との間の線は,名前付けされた関係“reifies”(具体化する)が,0個以上のトピック(“0個以上”というのは,0..* によって示されている。)と一つの主題との間で成立することを示す。

矢印が存在する場合,その関係は一方向だけであることを示す。この場合,示されていることは,トピックが与えられると,そのトピックが具体化する主題を見つけることができる,ということである。しかし,主題,例えば,“Hamlet”という名前の登場人物,が与えられただけでは,それを具体化するトピックを見つけられるという保証はない。

矢印が存在しない場合は,関係に方向性がないことを示す。このことは,どちらの方向にもたどれることを意味している。

この記法は更に変形可能で,接続線の端にラベルを付けることができる。これは,図B.6 “有効範囲内の基底名”の中に見ることができる。例えば,“String”(文字列)の隣のラベル“+baseNameString”は,“Base Name”(基底名)に関係するbaseNameStringとして利用できるのが,“String”(文字列)であることを示している。

最後に,接続それ自体も,関係の性質を指示するために,二重山括弧で囲まれた名前でラベル付けしてよい。例えば,<<REIFIES>>など。

arrow 黒いひし形で終わる線。一般に所有と呼ぶ厳密な依存性,を示す。

これは,図B.6 “有効範囲内の基底名”の中に見ることができる。“Base Name”(基底名)の“Topic”(トピック)への関係は,トピックの基底名,として以外には何かを基底名と呼ぶことは意味がないということを示す。

arrow 白いひし形で終わる線。集合,を示す。

これは,図B.5 “有効範囲内でのトピック特質の割当て”の中に見ることができる。“Topic”(トピック)の“Scope”(有効範囲)への関係は,有効範囲が,一つ以上のトピックの集合になっていることを示す。

附属書Bでは,クラスの名前は,Classのように(英字の)大文字で始める。

B.1 クラス階層

Figure B-1: Class Hierarchy (class diagram)
図B.1 クラス階層(クラス図)

Subject(主題)は,人間が語ったり心に抱くあらゆるものとする。Resource(資源)は,コンピュータシステムの境界内で識別性をもつSubject(主題)とする。他のあらゆるSubject(主題)は,Non-addressable Subject(番地付け不可能な主題)として知られている。Non-addressable Subject(番地付け不可能な主題)には多くの型がある。Class(クラス)は,Non-addressable Subject(番地付け不可能な主題)とする。Resource(資源)の型は,Topic Map(トピックマップ),Topic Map Node(トピックマップノード)及びTopic Characteristic(トピック特質),並びに他の多くのものと同様に,String(文字列),XML Element(XML要素)及びXML Attribute(XML属性)を含む。XML Element(XML要素)の型は,<topic> Element(<topic>要素)及び<association> Element(<association>要素),並びに他の多くのものを含む。Topic Map Node(トピックマップノード)の型は,三つだけ存在する。すなわち,Topic(トピック),Association(関連)及びScope(有効範囲)とする。Topic Characteristic(トピック特質)の型は,三つだけとする。すなわち,Base Name(基底名),Occurrence(出現)及びRole(役割)とする。

B.2 クラスとインスタンスとの関係

Figure B-2: Class-Instance Relationship (class diagram)
図B.2 クラスとインスタンスとの関係(クラス図)

Subject(主題)は,0個以上のClass(クラス)のインスタンスとなってよい。

B.3 トピックによる主題の具体化

Figure B-3: A Topic Reifies a Subject (class diagram)
図B.3 トピックによる主題の具体化(クラス図)

Topic(トピック)は,Subject(主題)を具体化するResource(資源)とする。トピックは,Subject(主題)のトピックマップシステムにおける表現とする。Subject(主題)の具体化は,それを具体化するTopic(トピック)にTopic Characteristic(トピック特質)の割当てを可能にする。

B.4 主題の参照

Figure B-4: Referencing the Subject (class diagram)
図B.4 主題の参照(クラス図)

Topic(トピック)は,任意の数のSubject Indicator(主題指示子)をもつことがてきる。Subject Indicator(主題指示子)は,Topic(トピック)によってどのSubject(主題)が具体化されるか指示するResource(資源)とする。Subject(主題)それ自体がResource(資源)の場合には,Subject Indicator(主題指示子)への存在してもよい任意の参照に加えて,Topic(トピック)からそのResource(資源)への直接の参照が可能になる。

B.5 有効範囲内でのトピック特質の割当て

Figure B-5: Topic Characteristics Are Assigned Within Scopes (class diagram)
図B.5 有効範囲内でのトピック特質の割当て(クラス図)

Scope(有効範囲)は,Topic Characteristic(トピック特質)のTopic(トピック)への割当てが有効な範囲を定義するTopic(トピック)の集合とする。Scope(有効範囲)が指定されない場合には,Scope(有効範囲)は,制約なしのScope(有効範囲)と考えられ,割当ては常に有効とする。

B.6 有効範囲内の基底名

Figure B-6: Base Name Within Scope (class diagram)
図B.6 有効範囲内の基底名(クラス図)

Base Name(基底名)は,Scope(有効範囲)内でTopic(トピック)に名前付けするために使用されるString(文字列)とする。唯一のTopic(トピック)に,与えられたScope(有効範囲)内で特定のBase Name(基底名)を割り当ててよい。このように与えられたScope(有効範囲)内で割り当てられたBase Name(基底名)の集合は,一つの名前空間を構成し,Topic(トピック)をあいまい性なしに識別するために使用してよい。

B.7 出現

Figure B-7: Occurrence (class diagram)
図B.7 出現(クラス図)

Occurrence(出現)は,Topic(トピック)に関係するResource(資源)を示す。

B.8 トピック間の関連

Figure B-8: Association Between Topics (class diagram)
図B.8 トピック間の関連(クラス図)

Association(関連)は,Topic(トピック)を互いに関係付ける。Association(関連)は,一つ以上のRole(役割)から成るが,各Role(役割)は,そのAssociation(関連)においてTopic(トピック)がもってもよい関わり方の型を指定するトピックに対応している。各Role(役割)は,指定された方法でAssociation(関連)の中に含まれる0個以上のトピックに割り当てられる。これらのTopic(トピック)を,Association(関連)におけるRole(役割)の演技者という。

備考 XTMにおいて,一つのAssociation(関連)の中の異なるRole(役割)が異なるScope(有効範囲)によって支配されることは許されない。XTM構文は,<association>要素の一つの<scope>下位要素を通して,Association(関連)のすべてのRole(役割)に関わるその一つのScope(有効範囲)を表現する。

B.9 トピックマップ

Figure B-9: Topic Map (class diagram)
図B.9 トピックマップ(クラス図)

Topic Map(トピックマップ)は,0個以上のTopic Map Node(トピックマップノード),すなわち,Topic(トピック),Scope(有効範囲)及びAssociation(関連),から成る。Topic Map(トピックマップ)の中の二つ以上のTopic(トピック)が同じSubject(主題)を具体化することは,可能とする。Topic Map(トピックマップ)の中の二つ以上のTopic(トピック)によって具体化されるSubject(主題)が存在しない場合,そのTopic Map(トピックマップ)を,Consistent Topic Map(無矛盾トピックマップ)という。