Annex E: XMI Serialization and Schema¶
E.1 Summary¶
UML 2 models are serialized in XMI 2 according to the rules specified by the MOF 2 XMI Mapping Specification.
OMG の一般的な方針として、MOF 2 および UML 2 モデルの規範的な表現は XMI ファイルだ。UML 2 自体の規範的な XMI 文書は一つの XMI 文書で構成されている。
関連する XMI 文書として、StandardProfile と UML Diagram Interchange モデルがある。UML 2 が依存し、他の仕様が依存する可能性のある PrimitiveTypes は別の XMI 文書で規定されている。
E.2 XMI Serialization of the UML 2 metamodel¶
XMI を使用して生成されるスキーマや文書をタグを使用して調整することが XMI では可能だ。UML 2 モデルの XMI 交換に対する UML 2 メタモデルに表示されるタグ設定は次のとおり:
タグ
org.omg.xmi.nsPrefix
をuml
に設定
他に明示的に設定されているタグはない。すなわち MOF 2 XMI Mappings Specification で文書化されている既定値を仮定する。
UML 2.5 のメタモデル要素に対する xmi:ids
は、UML 2.4.1 と UML 2.5 の間で名前が変更された関連や特性に対応する ids
を除き、UML 2.4.1 と同等の要素と同じだ。
The metaclasses and associations in UML 2.5 are organized in a package structure that corresponds to the specification clause structure. All of these packages are imported into the top-level UML package, so that all metamodel elements can be referred to unqualified in the top-level package.
UML 2.4.1 からメタモデルになされた変更点:
上述のパッケージ体系
StandardProfileL2 と StandardProfileL3 を単体の StandardProfile へ統合
既定値を表現するために多重度の下限値(をゼロとする)緩和
意味を明確にするため、いくつかの特性へ順序を導入
関連所有特性と対応する関連の名前を一部変更
NamedElement::clientDependency
の導出LoopNodes をその
loopVariables
の所有者と同一視する。その結果、UML 2.5 と UML 2.4.1 モデルファイルはバージョン番号を置き換えることで次をおいては交換可能となる:LoopNodes の
loopVariables
Dependencies の
clients
である NamedElements で、UML 2.4.1 ではclientDependency
を含もうとした。StandardProfile への参照
LoopNodes は別として、UML 2.4.1 ではバージョン番号が 20110701 へ戻るように編集され、Dependencies の clients
である NamedElements のすべてに
clientDependency
属性が挿入されていれば、UML 2.4.1 ツールは UML 2.5 モデルを表現する XMI を読み込むだろう。さらに、UML 2.5 モデルの中に StandardProfile への参照がある場合は、
http://www.omg.org/spec/UML/20110701/StandardProfileL2
http://www.omg.org/spec/UML/20110701/StandardProfileL3
のどちらか、または両方への参照を代わりに使用する必要がある。
UML 2.5 適合ツールは UML 2.5 または UML 2.4.1 モデルのどちらも読み込むことも保存することも可能であるものとする。
UML 2.5 ではより多くの OCL 制約が成文化したので、UML 2.4.1 ツールで検証されたモデルが UML 2.5 で検証されない場合がある。
E.3 XMI Serialization of the PrimitiveTypes model library¶
次に記すものは PrimitiveTypes モデルライブラリーで、そのライブラリーを直接的または間接的にインポートするモデルの XMI 交換に表示されるタグ設定だ:
タグ
org.omg.xmi.nsPrefix
をprimitives
に設定PrimitiveTypes::Boolean
にはタグorg.omg.xmi.schemaType
をhttp://www.w3.org/2001/XMLSchema#boolean
に設定PrimitiveTypes::Integer
にはタグorg.omg.xmi.schemaType
をhttp://www.w3.org/2001/XMLSchema#integer
に設定PrimitiveTypes::Real
にはタグorg.omg.xmi.schemaType
をhttp://www.w3.org/2001/XMLSchema#double
に設定PrimitiveTypes::String
にはタグorg.omg.xmi.schemaType
をhttp://www.w3.org/2001/XMLSchema#string
に設定PrimitiveTypes::UnlimitedNatural
にはタグorg.omg.xmi.schemaType
をhttp://www.w3.org/2001/XMLSchema#string
に設定
表記が *
である UnlimitedNatural の制限なし値は *
としてシリアライズされるものとし、それに対して UnlimitedNatural の数値はすべて、整数としての数値の文字列表現としてシリアライズされるものとする。
E.4 XMI Serialization of the StandardProfile¶
次に記すものは StandardProfile プロファイルで、そのプロファイルを直接的にまたは間接的にインポートするモデルの XMI 交換に現れるタグ設定だ:
タグ
org.omg.xmi.nsPrefix
をStandardProfile
に設定
E.5 XMI Serialization of the UMLDI¶
次に記すものはモデル図式の XMI 交換に対する UMLDI メタモデル拡張に現れるタグ設定だ:
タグ
org.omg.xmi.nsPrefix
をumldi
に設定