Annex B: UML Diagram Interchange¶
B.1 Summary¶
この付録では、図表上の形状の位置や配線のような、設計者が支配する UML モデルの純粋に図表的な一面の相互交換 (UML DI) を可能にする。
This information must be interchanged between tools to reproduce UML diagrams reliably.
UML ツールは交換された図式情報と交換された抽象構文のオブジェクトとの間に与えられるリンクによって、UML のどの部分が交換されていない図表的一面を指定しているかを判断することが可能だ。
UML DI は Diagram Definition (DD), とりわけその Diagram Interchange (DI) と Diagram Common (DC) パッケージに基づく。
UML diagrams are interchanged by instantiating classes and associations in UML abstract syntax and in UML DI, then linking them together by reference.
Figure B.1 UML Diagram Interchange Architecture
この図式では、左下に UML の抽象構文の UseCase のオブジェクト、そしてそれを参照する UML DI の UMLShape のオブジェクトが示されている。UMLShape のオブジェクトは図式上の図像の位置と、それに含まれるラベルを指定する。
Stereotypes can be based on elements of UML DI and applied to instances of those elements.
Receivers of interchange files containing instances of UML DI elements render the instances visually as specified by UML.
ほとんどの場合、描画は UML DI オブジェクト、参照される UML 抽象構文のオブジェクト、および記法の UML 仕様によって与えられる位置と大きさしか使用せずに決定することが可能だ。
UML が同じ抽象構文に対して複数の記法を与えている場合、UML DI にはどの記法を用いる必要があるのかを指示する追加情報が含まれる。
B.2 Generic¶
B.2.1 Summary¶
UML DI の Generic 部分には複数の種類の UML 図式に共通する図表的外観が含まれる。
B.2.2 UML Diagrams and Diagram Elements¶
Figure B.2 UML Diagrams and Diagram Elements
DI の Diagram と DiagramElement を UMLDiagram と UMLDiagramElement それぞれに特化して UMLDiagram を具象化し、特性と関連を加えて、継承特性を再定義する。
UMLDiagramElement is the most general class for UML DI.
UMLDiagramElement は DI の DiagramElement から modelElement を再定義し、
UMLDiagramElements が他の言語要素ではなくUML 要素の記法であるように制限する。
UMLDiagramElement は DI の DiagramElement から ownedElement を再定義し、
UMLDiagramElements が UMLDiagramElements しか所有せず、かつ整列されるように制限する(読者ノート:図表要素の z-ordering に影響するようだ)。
isIcon は矩形以外の幾何学的図形で表示する選択肢のあるモデル要素や、鏃を開いた実線以外の線で表示する選択肢のあるモデル要素のために導入されているものだ。
A value of true for
isIconindicates the alternative notation shall be rendered.
UMLDiagramElement に関して注意すること:
ownedElementsはそれらのowningElementsのboundsと交わらないboundsを有することがある。ownedElementsのmodelElementsはowningElementsのmodelElementsとは異なるownersを持つことがある。
UMLDiagram is the most general class for UML diagrams, and is the root of the diagram taxonomy defined in this Annex (also see in Figure A.5 in Annex A).
UMLDiagram は Packages による所有権を表すために PackageableElement から特殊化されている。
isFrameは図式の枠を見せる必要があるかどうかを指示する。headingはそのheadedDiagramがあれば、それと同じmodelElementを持たなければならない。isISOは ISO 表記法規則に準じる必要があるかどうかを指示する。isInheritedLighterは継承要素を薄い色で見せるかどうかを指示する。
B.2.3 UML Shapes and Edges¶
Figure B.3 UML Shapes and Edges
DI の Shape と Edge を UMLShape と UMLEdge にそれぞれ特殊化し、具象化して継承された特性を再定義する。
UMLShape is the most general class for UMLDiagramElements that are never rendered as lines.
UMLLabels ではなく、
modelElementsがなく、少なくとも一つのmodelElementがある単一の UMLLabel をただ一つのownedElementとする UMLShapes は、註釈記号として描画されるものとする。このような UMLShapes と他の UMLDiagramElements とを接続する UMLEdges は破線を用いて描画されるものとする。三つ以上の端子がある Dependency を示す矢印は、その Dependency を
modelElementとして持つ UMLEdges と、その Dependency をmodelElementとして持つ UMLShapeであるsourceまたはtargetのいずれかとして交換される。If the
boundsof the UMLShape give an area greater than zero, it shall be rendered as a dot, otherwise nothing is rendered for the UMLShape.Dpendency を註釈する UMLLabels はすべて UMLShapes が所有するものとする。
UMLEdge is the most general class for UMLDiagramElements that are always rendered as lines.
DI の Edge source と target を再定義し、UMLDiagramElements をリンクする
UMLEdges を制限する。
B.2.4 Labels¶
Figure B.4 Labels
The model in Figure B.4 specializes UMLShape into the most general class for shapes that shall be rendered only as character strings (UMLLabel), and specializes it into various kinds of labels used in multiple kinds of UMLDiagrams.
UMLLabel の特殊化により、交換ファイルの受領者は modelElements のどの部分が表示されることを意図しているのか、どの部分が変更されたときに描画を更新することができるかを判断できるようになる。
Specializations of UMLLabel are introduced only when it is ambiguous or cumbersome to determine which portions of the
modelElementsare intended to be shown by parsing text as UML specifies.
文字列の多くは、UMLLabel の特殊化でない UMLLabal オブジェクトと交換される。
UMLLabels のすべては少なくとも一つの modelElement があるものとする。ただし
UMLLabel にしか分類されず、その特殊化のいずれでもないようなものは除く。
UMLLabel は、UMLDiagramElement の外側に配置される場合を含め、ラベルが貼られる
UMLDiagramElement がもしあればそれと同じ modelElements でなければならず、その UMLDiagramElement の ownedElements でなければならない。
All UMLLabels shall have values of false for
isIcon.
UMLLabels は、常に、描画されるテキストを指定するものとし、BNF がある場合にはそれを含め、modelElement の各種類をラベル付けするための UML 仕様に準拠するものとする。
The specializations of UMLLabel are for showing information about the portions of their
modelElementsdefined by the type of themodelElementProperty.
UMLNameLabel の modelElement は name と visibility を表す Properties
を持つ NamedElements に限定される。
必要な情報をすべて表示する特化型がない場合には UMLLabel を直接使用する。
UMLNameLabels are for showing information about NamedElements, which always includes their
name, ornameExpression, or ElementImportaliasif the NamedElement is imported, and may also include package containment (qualified names) and visibility.
UMLKeywordLabels are for showing various kinds of information about modelElements using wording and punctuation specified by UML between guillemets (see Annex C).
UMLKeywords はちょうど一つの
modelElementを持つものとする。textは、«» とキーワードのみを含むものとする。
UMLTypedElementLabel is for showing name, type, and role information about exactly one Slot, InstanceSpecification, InstanceValue, or element with a
type, such as TypedElement or Connector.
UMLTypedElementLabels を交換することについて注意する点がある:
modelElementが Slot の場合、そのtextにはdefiningFeatureのname,definingFeatureのtypeのname,modelElementのvalueを含めることが許される。modelElementが InstanceSpecification または InstanceValue である場合、そのtextはInstanceSpecification または
InstanceValue の
instance
の
nameと、InstanceSpecification の
classifiersまたはInstanceValue の
instance
の
namesを含んでよい。modelElementがspecificationのある InstanceSpecification である場合、そのtextはspecificationを含んでよい。modelElementが StructuredClassifier をclassifierとして持つ InstanceSpecification のslotのvalueである InstanceValue であり、その UMLTypedElementLabel がその InstanceSpecification をmodelElementとして有する UMLCompositeStructureDiagram 内でその InstanceValue をmodelElementとしてある形で見えている場合、そのtextにはその UMLTypedElementLabel のmodelElementである InstanceValue を所有する Slot のdefiningFeatureである Property のnameを含んでよい。TypedElements や Connectors のように
modelElementにtypeがある場合、そのtextはそのmodelElementのnameおよびそのmodelElementのtypeのnameを含んでよい。
UMLRedefinesLabel is for showing information about exactly one RedefinableElement, which may include the
nameof theredefinedElement.
B.2.5 Compartmentable Shapes¶
Figure B.5 UML Compartmentable Shapes
UMLDiagramElement と UMLShape を UMLCompartmentableShape と UMLCompartment にそれぞれ特殊化し、それらを具象化、特性を追加し、隔離された内容を有する形状を表すために、継承された特性を再定義する。
UMLCompartmetableShape is the most general class for UML elements that may have information shown in separated portions inside their shapes, usually arranged linearly and separated by solid lines (compartments).
UMLCompartment は UMLDiagramElement から
ownownElementを subset し、UMLCompartment で表される、縦に並んで表示される区画を指定する。UMLCompartment は UMLDiagramElement の
ownedElementを subset して、縦に並べられた区画の内容を指定する。UMLCompartment は
modelElementを持たない。
区画の表題は modelElements がない UMLLabels として、また UMLCompartments の最初の orderedElement として交換されなければならない。
B.2.6 Stereotype Applications¶
Figure B.6 Stereotype Application Labels
UMLLabel を UMLStereotypePropertyValueLabel に特殊化し、UML 抽象構文要素に適用する Stereotypes の Property の値を示す関連を導入する。
UMLStereotypePropertyValueLabels have
attributesof Stereotypes asmodelElements, and give the Element to which the Stereotype is applied.
UMLStereotypePropertyValueLabels は適用された Stereotypes の値を示す文字列として、UML で規定された構文 (12.3.4) で描かれなければならない。
UMLStereotypePropertyValueLabels は次の ownedElements だ:
modelElementsを持たない UMLEdges のsourceまたはtargetである、modelElementsを持たない UMLShape. この UMLEdges の他方の端子はそのstereotypedElementsであるmodelElementsを持つ UMLShapes だ。すべての UMLStereotypePropertyValueLabels が次を持つ UMLCompartments:
その
stereotypedElementとしてこの UMLCompartment のownningElementのmodelElementを持ち、かつその
modelElementsとしてこの UMLCompartment のownningElementのmodelElementに適用する同じ Stereotype の Properties.
Stereotype 適用の交換に関する他の注意点:
UML 抽象構文要素に適用する Stereotypes は:
テキストで示されることがあり、UML 抽象構文要素に適用されたステレオタイプは、設計者定義の Stereotypes を
modelElementとして持ち、その Stereotypes が適用されたmodelElementを持つ UMLDiagramElement のownedElementである UMLLabels と交換される。設計者定義図像で示されることがあり、その図像は Stereotypes で指定され、UML DI ではなく UML 抽象構文で交換される。描画規則は (12.3.4) と後述で規定。
次の条件をすべて満たす UMLShapes は
iconとして描画されるものとする。Stereotypesが適用されていないときには描画されるアイコンはこの場合は描画されない:modelElementにちょうど一つの Stereotype が適用されていてiconに対する値があって、isIconに対する値が真であって、isIconに対する値が偽である場合に矩形で描画される。
次の条件を満たす UMLShapes は Stereotype
iconとして描画されるものとする:Stereotype を
iconに対する値のあるmodelElementとして有して、modelElementに Stereotype が適用されたmodelElementsがある UMLDiagramElements のownedElementsであり、isIconに対する値が真。
これらの UMLShapes は次のいずれかの場所で描画されるものとする:
isIconの値が偽である UMLShapes のために描画される幾何的図形の内側。または、それらの
owningElementsである UMLEdges について描画された線の近く。それらの
owningElementsである UMLLabels について描画された文字列の左側。
B.2.7 UML Styles¶
Figure B.7 UML Styles
DI Style を UML で最も一般的なスタイルクラス UMLStyle へ特化して具体化し、UMLDiagramElement に継承されたスタイル関係の特性を再定義する。
UMLStyle introduces properties to specify the name and size of fonts used in rendering UMLDiagramElements. The
fontSizeis given in typographical points.
B.3 Structure¶
B.3.1 Summary¶
UML DI の Structure 部分は構造図の図表的な一面とその内容を表す。
B.3.2 Structure Diagrams¶
Figure B.8 Structure Diagrams
UMLStructureDiagrams はいずれも modelElements がないが、例外として
UMLCompositeStructureDiagrams はちょうど一つある。
UMLStructureDiagrams はすべて関連付けのための図表的オプション UMLDiagramWithAssociations を持つ。
UMLDiagramWithAssociations 注意点:
これらの図式では
isAssociationDotShowで指されるように、関連を表すのにドット記法を用いても用いなくてもよい。これらの図式はnavigabilityNotationとnonnavigabilityNotationでそれぞれ指されるように、常に(開いた鏃の矢印で)航路を示すことも、一方向の関連のみ示すことも、(バツジルシで)決して示さなくてもよい。navigabilityNotationとnonnavigabilityNotationで決定される回航可能記法はmodelElementsとして Associations を持つ UMLEdges やclassifierとして Associations を持つ InstanceSpecifications や Properties や Slots に適用する。関連線の間の Generalization の矢印は Generalizations を
modelElementsとする UMLEdges として交換され、Associations をmodelElementsとする UMLEdges であるsourcesとtargetsは交換される。GeneralizationSets を示す破線は GeneralizationSets を
modelElementsとする UMLShapes として交換される。修飾された Association
memberEnds記法は、そのmemberEndをmodelElementとする UMLShapes, Association をmodelElementとする UMLEdges が所有する UMLShapes,qualifiers(UMLProperty) をmodelElementsとする UMLLabels が所有する UMLShapes として交換される。modelElementsとして InstanceSpecifications があり、リンクを示すことを目的とした UMLShapes 間の UMLEdges は、modelElementsとして InstanceSpecifications を持ち、classifierとしてリンクを分類する Association を持つ。その AssociationmemberEndsのnamesを示す UMLLabels は Slot をmodelElemetsとして持つ。
UMLStructureDiagrams 注意点:
線で示される Properties または Slots は、Properties または Slots が
modelElementsである UMLEdges とそれぞれ交換される。Packages を
modelElementsとして持つ UMLShape で、その内側に UMLShapes が描画されていない場合、Package のnameはタブではなく、大きい方の矩形に示す。そうでない場合はタブに示す。キーワードや図像装飾も同様だ。Namespace と NamedElement を
modelElementとして持つ UMLShapes の間にあるmodelElementsのない UMLEdges は、その Namespace 端子にマルに囲まれた十字で示される。Interfaces を
modelElementsとして持ち、玉またはソケット記法で描画される UMLClassifierShapes は Dependencies が次の間にあるmodelElementsとして持つ UMLEdgesのsourceまたはtargetであることが許される:Interfaces を必要とするか支給する Ports
InterafaceRealization または Interface を
suppliersとする Usage Dependencies
requiredInterfaces とprovidedInterfaces を表す玉とソケット記法はisIconの値が真である UMLClassifierShapes として交換される。The lines between these notations and port rectangles are interchanged as UMLEdges with InterfaceRealization or Usage Dependencies as
modelElementswith the Interfaces assuppliers, which determine whether the UMLClassifierShapes shall be rendered as balls or sockets (used Interfaces arerequiredand realized Interfaces areprovided).
UMLCompositeStructureDiagram は StructuredClassifier である modelElements
か、または StructuredClassifier である classifier を持つ
InstanceSpecification である modelElements を持つ (B.2.4)。
特に UMLCompositeStructureDiagrams の内容物に関する注意点:
Interfaces を
modelElementsとして持ち、玉またはソケット記法で描画される UMLClassifierShapes は、Interfaces を必要とするか支給する Ports であるrolesを持つ ConnectorEnds をmodelElementsとして持つ Connectors を持つ UMLEdgesのsourceまたはtargetであることが許される。Connectors を
modelElementsとする UMLEdges は、ConnectorendrolesがpartWithPortの値を持つ Ports であり、ちょうど一つの Interface を必要とするか支給する場合、Interfaces をmodelElementsとする UMLClassifierShapes をsourceかtargetあるいはその両方とし、玉またはソケット記法で描画してよい。modelElementsに Interfaces を持ち、玉またはソケット記法 (B.3.3) で描画される UMLClassifierShapes は、partWithPortの値を持つ Ports であり、ちょうど一つの Interface を要求または支給するendrolesを持つ Connectors を見せるために、(玉がソケットの中にあり、両者の間に線がないように)互いに近接して描画してよい。These UMLClassifierShapes may be the
sourceortargetof multiple UMLEdges that have all InterfaceRealization or all Usage Dependencies asmodelElementswhen the Connector has more than twoends.
UMLProfileDiagrams 注意点:
Stereotype 定義は UMLClassifierShapes と共に示されるものとする (B.3.3)。
Extensions を
modelElementsとして持つ UMLEdges は、回航可能矢印や他の関連装飾を伴わず、鏃が黒塗りの実線矢印として描画されるものとする。ProfileApplications を
modelElementsとする UMLEdges は鏃が開いた破線矢印として描画される。
Template 署名矩形は TemplateSignatures を modelElements とする UMLShapes として交換され、それはこの TemplateSignature を modelElement とする単一の
UMLLabel かまたは UMLLabel 一つにつき TemplateParameter 一つを modelElement
とする UMLLabels を含むものとする。
B.3.3 Classifier Shapes¶
Figure B.9 Classifier Shapes
UMLCompartmentableShape を UMLClassifierShape に特殊化し、特性を追加し、ちょうど一つの Classifier を見せるように制限する。
UMLClassifierShape は
feature区画で示されるmodelElementsに対してisIndentForVisibilityを導入。特徴が可視性の見出しの下でインデントされて表示されることを示す。isDoubleSidedを導入。isActiveの値が真の Class で、矩形として表示されるmodelElementsに対して垂直辺を二重線で引くかどうかを示す。
UMLClassifierShapes 注意点:
ownedElementsUMLClassifierShapes であり、modelElementsとして Classifiers を持ち、UMLLabel の特殊化のどれにも分類されない UMLLabels には、その Classifier の情報を示す UML が指定するテキストをもたせるものとする。UMLClassifierShape
compartmentsにテキスト順に示される ClassifierfeaturesはmodelElementsとして単独 Feature それぞれを有する UMLLabels と交換されるものとする。UMLClassifierShape
compartmentsでテキスト順に示される Classifierfeaturesの下に現れる省略記号はmodelElementsのない UMLLabels として、また UMLCompartments のorderedElementの最後のものとして交換されるものとする。Components を
modelElementsとする UMLClassifierShapes は、modelElementsとして、その Components のrequiredとprovidedInterfaces を持つownedElementsとして UMLLabels を持つownedElementsとして UMLCompartments を持つことが許される。ここで、この UMLLabals は Interfaces のnamesを示す。さらに (B.3.3) も参照すること。
B.3.4 Multiplicity and Association End Labels¶
Figure B.10 Multiplicity and Association End Labels
UMLLabel を UMLMultiplicityLabel と UMLAssociationEndLabel に特殊化し、それぞれちょうど一つの MultiplicityElement または Association memberEnd に関する情報を表示するように制限する。
UMLMultiplicityLabels と UMLAssociationEndLabels に関する注意:
UMLCompartments にあるテキストで示される Properties に関する情報は、たとえその Property が Association
memberEndであろうと、 Multiplicity が示されていようと、UMLMultiplicityLabels や UMLAssociationEndLabel ではなく、直接 UMLLabel (B.3.3) を用いて交換されるものとする。UMLMultiplicityLabel は MultiplicityElement が定義する
modelElementsの部分に関する情報を見せるのに用いるものであって、Property のようなmodelElementsを分類するであろう MultiplicityElement の他の特殊化ではない。ConnectorEnds は UMLMultiplicityLabel で示すものとする。ConnectorEnds により導入される唯一の非導出 Property である
roleは、Connector をmodelElementsとする UMLEdges のtargetsにより示され、ConnectorEnd の唯一の一般化は MultiplicityElement だ。Information about
definingEndsof ConnectorEnds is shown with UMLAssociationEndLabels (definingEndsare Properties).UMLAssociationEndLabels は UMLMultiplicityLabel で示されるもの以外の Association
memberEndsに関する情報を示すのに用いられるものとする。Multiple UMLAssociationEndLabels can have the same
modelElement, each showing its own aspect of themodelElement.ExtensionEnds を
modelElementsとして持つ UMLAssociationEndLabels は、そのmodelElementsがlowerの値が 1 であるときにしか用いることが許されない。この場合、UMLAssociationEndLabels のtextの値は{required}であるものとする。
B.3.5 Association, Connector, and Link Shapes¶
Figure B.11 Association, Connector, and Link Shapes
UMLShape を UMLAssociationOrConnectorOrLinkShape に特殊化して、特性を一つ追加し、Association classifier を持つ Association か InstanceSpecification か
Connector をちょうど一つ見せるように制限する。また、その modelElement の表示方法を示す kind を導入する。
端の数に関係なく、ひし形からちょうど2本の線は、Properties(UMLAsstionationOrConnectorOrLinkShapeのAssociationモデル要素の memberEnds、または、 InstanceSpecification モデル要素 UMLAssociationOrConnectorOrLinkShape の分類子である Association の memberEnd)、または ConnectorEnds (Connector モデル要素 UMLAssociationOrConnectorOrLinkShape の両端)のいずれかであるモデル要素を持つ UMLEdges と相互交換しなければならない。
kind の値が diamond である UMLAssociationOrConnectorOrLinkShapes は菱型として描画されるものとし、
二つの
memberEndsがある Associationclassifierか、二つの
endsがある Connector か、二つの
memberEndsがある Associationclassifierがある InstanceSpecification
のいずれかの modelElement を持つものとする。
(when there are more than two ends these elements are always shown this way, and the notation shall be interchanged with UMLShapes).
端子の個数に関係なく、菱形から生えるちょうど二本の線は Properties または
ConnectorEnds のいずれかである modelElements を持つ UMLEdges と交換されるものとする。
上記 Properties は次のいずれかだ:
«the
memberEndsof the AssociationmodelElementof the UMLAssociationOrConnectorOrLinkShape»«
memberEndsof an Association that is aclassifierof the InstanceSpecificationmodelElementUMLAssociationOrConnectorOrLinkShape»
上記 ConnectorEnds は «the
endsof a ConnectormodelElementof UMLAssociationOrConnectorOrLinkShape» だ。
kind の値が triangle である UMLAssociationOrConnectorOrLinkShapes はそれと同じ modelElement を持つ UMLEdge を註釈する黒塗りの三角形として描画されるものとする。
B.4 Behavior¶
B.4.1 Summary¶
UML DI の Behavior 部分は挙動図の外観とその内容を捉える。
B.4.2 Behavior Diagrams¶
Figure B.12 Behavior Diagrams
UMLDiagram を挙動に関する要素を描写する図式を表すための最も一般的なクラス
UMLBehaviorDiagram に特化し、それをさまざまな種類の挙動図へと特化する。
UMLBehaviorDiagrams は高々一個の modelElement を持つように制限されており、それは Behavior でなければならない。
UMLUseCaseDiagrams には modelElements がない。内容に関する注意:
UMLCase 記法は UMLClassifierShapes と交換され、
isIconの値が真のときは楕円として、偽のときには矩形として描画されるものとする。Actor 記法は UMLClassifierShapes と交換され、
isIconの値が真のときは棒人形として、偽のときには矩形として描画されるものとする。Actors を示す設計者定義の図像は Stereotype
iconsで指定してかまわない。Extends と Includes 記法は Extends と Includes を
modelElementsとする UMLEdges と交換されるものとする。Extends を
modelElementsとして持つ UMLShapes は註釈記号として描画され、特化型でない UMLLabels をその二つしかないownedElementsとして持つものとする。この UMLLabels はその Extend のconditionまたはextensionLocationsをmodelElementsとして持ち、それぞれ UML が指定する構文で、このconditionspecificationまたはextensionLocationnamesを与えるtextを持つものとする。UMLEdges between such UMLShapes and other UMLDiagramElements shall have no
modelElementsand be rendered with dashed lines.
UMLStateMachineDiagrams はちょうど一個の modelElement を持つように制限されており、それは StateMachine でなければならない。
isCollapseStateIconを導入。複合 States を表す UMLShapes に非複合 States と区別する小さい図像を含めるかどうかを指示する。isInheritedDashedを導入。modelElementとして継承した State を持つ UMLShapes の境界を破線にするかどうかを指示する。isInheritedDashedと継承したisInheritedLighterはcannot both have a value of true at the same time, and one of them must have a value of true for UMLStateMachineDiagrams that show inherited States.
StateMachines は「フローチャート」様式で表示してもよい。そこでは Transition
triggers は凹五角形で示され、Transition effects にある SequenceNodes にある executableNodes は SendSignalActions であるときを除いて、角丸矩形として示され、凸五角形として示される。
フローチャート様式とは
isTransitionOrientedの値が真である StateMachineDiagrams だ。Transitions に関するこの情報は
isTransitionOrientedの値が真である StateMachineDiagrams ではテキストでしか表示されない。
Transition 指向 UMLStateMachineDiagram は modelElements として Triggers や
ExecutableNodes を持つ UMLShape を ownedElements として持つことが許される。
source または target としてこれらの UMLShape を持つ UMLEdges は
modelElements としてTransitions を持たなければならず、source または
target として同じ UMLShape を共有する UMLEdges では、modelElements は同じでなければならない。
In transition-oriented UMLStateMachineDiagrams, UMLEdges that have Transitions as
modelElements, and have assourceortargetUMLShapes with States asmodelElementswith a value true forisSubmachineState, where the Transition’s correspondingsourceortargetis a ConnectionPointReference, the ConnectionPointReference shall be shown textually overlaying the line rendered by the UMLEdge, with semicircles at both ends of the text.
このテキストは ConnectionPointReference を modelElement として持つ UMLLabel
と交換される。
UMLStateMachineDiagrams 注意点:
互いに隣接する Regions を
modelElementsとして持つ UMLShapes は、それらの間を結ぶ破線で描画されるものとする。その StateMachines または States にある唯一の Regions は示されない。
UMLActivityDiagrams はちょうど一個の modelElement を持つように制限されており、それは Activity でなければならない。
UMLActivityDiagram は isActivityFrame を導入。図式の枠を五角形の見出しがない角丸矩形にするかどうかを示す。isActivityFrame の値が真である場合、
isFrameの値は偽だ。その Activity の
nameは図式の種類を示すことなく、図式の左上に UMLNameLabel で表示される。
UMLActivityDiagrams 注意点:
CallBehaviorActions を
modelElementsとして持ち、かつ Activities をbehaviorsとして持つ UMLShapes は、折りたたまれていると、その内側にある熊手型の記号で描画されるものとする。開いたときにはこのbehaviorは枠記法で表示されるものとする。そこではmodelElementsとして ActivityEdges を持つ UMLEdges と、modelElementsとして Activity またはその ActivityParameterNodes を持つsourceまたはtargetsとして UMLShapes を含む枠表記で表示されるものとする。InputPins と OutputPins の情報のいくつかは次のように図表的に示してよい:
modelElementとして単一の InputPin または OutputPin を持ち、isIconの値が真である UMLShapes は、InputPins に対してはその隣りにある丸矩形に、 OutputPins に対してはその外に向けられた矩形に、小矢印が描画されるものとする。If the InputPin or OutputPin corresponds to a Parameter that has a value of true for
isStreamthe UMLShape shall be rendered as filled, inverting the arrow, if any.isStreamの値が真であり、isIconの値が真である Parameter に対応するmodelElementとして単一の InputPin または OutputPin を持つ UMLShapes は、その中の矢印を反転し、黒塗りで描画されるものとする。
OutputPins と InputPins の間の ObjectFlows は次のように略記法を用いて示してよい:
UMLEdges は、それらの
sourceまたはtargetが同じ UMLShape であり、複数の Pins がmodelElementsである場合、同じ ActivityEdge をmodelElementとして持つものとする。 UMLShapes は小正方形として描画され、その近くに UMLLabel が描画されることがある。これらの UMLEdges は ObjectFlows をmodelElementsとして持ち、isIconの値が真であり、複数の Pins をmodelElementsとして持ち、全ての Pins がisStreamの値が真である Parameter に対応するsourceまたはtargetのUMLShape である場合、黒塗りの矢印で表示されるものとする。ObjectFlows を
modelElementsに持つ UMLEdges が Actions をmodelElementsに持つ同じ UMLShape をsourceとtargetに持つ場合、小さい正方形が線の近くに描画されるものとする。The small square shall be interchanged with a UMLShape with the same ObjectFlows as
modelElementas the UML Edge (a single UMLEdge may have multiple ObjectFlows asmodelElement).
単一の UMLShape を、ActivityEdge の
targetとsourceである二つの ControlNodes の略記法として、次のように用いることが許される:単一の UMLShape は
modelElementsとして MergeNode, ActivityEdge, DecisionNode を持つことが許される。MergeNode と DecisionNode がそれぞれこの ActivityEdge のsourceとtargetとなる。UMLEdges that have such UMLShapes as
targethave an ActivityEdge asmodelElementwith the MergeNode astarget.UMLEdges that have such UMLShape as
sourcehave an ActivityEdge asmodelElementwith the DecisionNode assource.
単一の UMLShape は
modelElementsとして JoinNode, ActivityEdge, ForkNode を持つことが許される。ここで JoinNode と ForkNode がそれぞれこの ActivityEdge のsourceとtargetとなる。UMLEdges that have such UMLShapes as
targethave an ActivityEdge asmodelElementwith the JoinNode astarget.UMLEdges that have such UMLShape as
sourcehave an ActivityEdge asmodelElementwith the ForkNode assource.
UMLEdges は ExecptionHandler の
handlerBodyをmodelElementとして持つ UMLShapes をtargetsとして持つことが許される。isIconが真であるこれらの UMLEdges はジグザグ線として描画され、偽ならばジグザグ印がその線の近くに描画されるものとする。ちょうど一つの
inputElement,outputElement, Actionnodeとちょうど二つの ObjectFlowedgesがある ExpansionRegions を、二種類ある略記法の一つを使って示してよく、それらは両方とも ExpansionRegion がmodelElementである UMLShape を含み、ActionnodeがmodelElementである UMLLabel を含み、UMLShape の中央に描画される。ExpansionRegion はちょうど一つの
inputElement,outputElement, Actionnodeと、ObjectFlowedgesを二つ持ち、次の二種類の略記法のいずれかで示すことが許される。どちらも ExpansionRegion をmodelElementとし、ActionnodeをmodelElementとする UMLLabel を含む UMLShape を含み、UMLShape の中央に描画される。一つは、UMLShape の境界上に ExpansionRegion の
inputElementとoutputElementをmodelElementsとする他の UMLShapes を二つ持ち、この二つの他の UMLShapes は最初の UMLShapes のownedElementsであるとし、かつそれぞれ ObjectFlows をmodelElementsとする UMLEdges 二つのtargetとsourceとし、この ObjectFlows はそのinputElementとoutputElementをそれぞれtargetとsourceとする。modelElementとして ExpansionRegion を持つこの UMLSShape は、左上に ExpansionRegion のmodeを示すmodelElementとして ExpansionRegionを持つ UMLKeywordLabel である追加的ownedElementを持つものとする。もう一つの記法は並列
modeExpansionRegions 専用だ。inputElementとoutputElementを表示することは許されない。The UMLShape with ExpansionRegion as
modelElementshall be thetargetandsourceof the two UMLEdges with ObjectFlows asmodelElementsdescribed above, respectively, and shall have an additionalownedElementin the upper right that is a UMLLabel with the ExpansionRegion asmodelElement, and the value “*” for text.
割り込み活動辺は割り込み可能区域により識別される。InterruptibleRegion の
interruptingEdgesであり、isIconの値が真である ActivityEdges をmodelElementとして持つ UMLEdges はジグザグ線として表示される。偽である場合、ActivityEdges をmodelElementとして持つ UMLShapes は、線の近くにジグザグの絵として描画される。isActivityFrameの値が真である UMLActivityDiagram のmodelElementである Activity のownedElementsである ActivityPartitions をmodelElementsとする UMLSpapes の外側の線分を融合してもよい。ActivityEdge 連結器記法は同じ ActivityEdge を
modelElementsとして持ち、その ActivityEdge をmodelElementとして持つ UMLLabels をownedElementsとして有する UMLShapes と交換されるものとする。UMLActivityDiagrams 内の UMLLabels については (B.4.3) を見ろ。
UMLInteractionDiagrams にはちょうど一個の modelElement を持つように制限されており、それは Interaction でなければならない。
UMLInteractionDiagram introduced
kind, which affects the rendering of diagram contents in some cases. For example, UMLShapes with alt CombinedFragments asmodelElementsin UMLInteractionDiagrams with the value overview forkindshall be rendered as rhombuses.
kind の値が table である場合、UMLLabels ではなく UMLShapes である
ownedElements は矩形として描かれる (B.4.5)。UMLInteractionDiagram では、図式上の生存線を破線で描画するかどうかを指定する isLifelineDashed も導入されている。
UMLInteractionDiagrams 注意点:
Interactions の Properties は図式の左上隅の下(五角形の見出しの下)にテキストとして示してよく、Classes 内の Proerties の表記と同じ方法で UMLLables と交換される。これらの UMLLabels は UMLEdges の
sourceまたはtargetである他のUMLShapes に表示されることがある。これらの UMLShapes は付箋として、UMLEdges は破線として描かれるものとする。GeneralOrderings を
modelElementsとして持つ UMLEdges は黒塗りの鏃が線の中間にある矢印で描かれなければならない。鏃は別々の UMLShape として交換されてはならない。Messages を
modelElementsとする UMLEdges で、messageKindの値として喪失または発見を持つものは、targetまたはsource端子に、それぞれ小さな黒塗りの円が描かれる。円は別々の UMLShape として交換されてはならない。modelElementsとして CombinedFragments を持ち、interactionOperandの値が par であり、isIconの値が真である UMLShapes は、形状の上下に中括弧を付けて描く(余領域記法)ものとする。CombinedFragments はすべて
interactionOperandに関わらず、その UMLShapes の左上隅の五角形にテキストを表示するものとする。ここでテキストは CombinedFragments をmodelElementsとする UMLLabels と交換され、事によると複数のラベルが五角形ごとにある。余ったラベルは直接入れ子になった結合断片をmodelElementsとして持つ。ExecutionSpecifications を
modelElementsとして持ち、isIconの値が真である UMLShapes は、陰影のある塗りつぶしパターンで描かれるものとする。
B.4.3 Activity Diagram Labels¶
UMLActivityDiagrams にある UMLLabels に関する注意点:
UMLActivityDiagrams の
ownedElementsであり、modelElementsとして Activities を持つ UMLLabel の特殊化のどれにも分類されない UMLLabels には、その Activity に関する情報の種類を指示するキーワードから始まるtextを«と»に括って記述されなければならない。ActivityParameterNodes を
modelElementsとする UMLShapes のownedElementsであり、 Parameters をmodelElementsとし、UMLLabel の特殊化のどれにも分類されない UMLLabels には、その Parameter に関する情報を与えるtextを、UML が指定する構文で記すものとする。CallOperationAction を
modelElementsとする UMLShapes のownedElementsであり、 Classes または Operations をmodelElementsとし、UMLLabel の特殊化のどれにも分類されない UMLLabels には、その Class または Operation またはその両方のnameを与えるtextがあり、UML が指定する構文で記すものとする。UMLShapes の
ownedElementsであり、modelElementsに Actions を持ち、modelElementsに ActivityPartitions を持つ UMLLabel で、特殊化のどれにも分類されない UMLLabels には、ActivityPartitions のnameを与えるtextを UML が指定する構文で記すものとする。modelElementsがない UMLShapes のownedElementsであり、modelElementsとして ActivityNodes を持ち、UMLLabel の特殊化のどれにも分類されない UMLLabels には、UML が指定するキーワードで始まるtextを«と»に括って記述されなければならない。ObjectNodes を
modelElementsとする UMLShape のownedElementsであり、State をmodelElementsとし、UMLLabel の特殊化のどれでもない UMLLabel は、UMLLabel のmodelElementsのnamesを角括弧で囲んだ,区切りのリストとして描かれるものとする。UMLLabel の特殊化のどれでもない、中括弧で括られた
textを持つ UMLLabels には、modelElementsとして ActivityNodes または ActivityEdges を持ち、そのtextはmodelElementsの特性の値を UML が指定する構文で与えるものとする。UMLLabel の特殊化のどれでもない、角括弧で括られた
textを持つ UMLLabels には、modelElementsとして ActivityEdges を持つものとし、角括弧の間のtextは ActivityEdges のguardを示すものとする。UMLLabels は Parameters を
modelElementsとして 持ち、CallActions の InputPins または OutputPins をmodelElementsとして持つ UMLShapes の近くに配置することで、InvocationActions のbehaviorsやoperationsの Parameters を示すことが許される。InputPins または OutputPins を示す UMLShapes の近くにある UMLLabels は次に示す略記法を交換するのに用いてよい:
ActivityParameterNode を
sourceとする ObjectFlow のtargetとして InputPin を持つ Actions は、その Action, その InputPin, ActivityParameterNode のparameterのnameのみを UMLLabel として表示し、そのparameterをmodelElementとして交換した略記法で示してよい (15.4.4)。ActivityParameterNode を
targetとする ObjectFlow のsourceとして OutputPin を持つ Actions は、その Action, その OutputPin, その近くの ActivityParameterNode のparameterのnameのみを、そのmodelElementとしてそのparameterと UMLLabel として交換した略記法で示してよい (15.4.4)。他の Action の OutputPin を
sourceとする ObjectFlow のtargetとして InputPin を持ち、FlowFinal をtargetとする ObjectFlow のsourceである OutputPin を持つ AddVariableValueActions は、もう一方のAction, その OutputPin, そのvariableをmodelElementとする UMLLabel により示される AddVariableValueActions のvariableのnameの近くのみを示す略記法で示してよい (16.9.4)。ReadVariableActions である
fromActionsを持つ ActionInputPins はこの ActionInputPin とその近くの ReadVariableAction のvariableのnameのみを UMLNameLabelとして交換し、そのvariablesをmodelElementとする略記法で示してよい。ReadSelfObjectActions である
fromActionsを持つ ActionInputPins はこの ActionInputPin とその近くの文字列selfのみを UMLLabel として表示し、この ReadSelfObjectAction をmodelElementとして交換した略記法で示してよい。ValueSpecificaionAction である
fromActionsを持つ ActionInputPins はこの ActionInputPin とその近くのこの ValueSpecificaionAction のvalueのみを UMLLabel として表示し、このvalueをmodelElementとして交換した略記法で示してよい。
ActivityPartitions の見出しはそれらの ActivityPartition を
modelElementとする UMLLabels と交換されるものとする。
B.4.4 State Shapes¶
Figure B.13 State Shapes
UMLCompartmentableShape を UMLStateShape に特殊化し、特性を一つ追加し、少なくとも一つの States を示すように制限する。isTabbed を導入。これはその形状の上部にタブを追加して State の名前を表示するかどうかを指示する。
UMLStateShape は状態リスト表記を交換する際に複数 modelElements を持つことが許される (14.2.4)。
In this case, the
namesof themodelElementsare shown by a UMLLabel with the samemodelElements, with the UMLStateShape asowningElement, and the UMLLabel shall be rendered as a comma delimited list of thenamesof itsmodelElements.
UMLStateShapes の内容に関する注意点:
entry,do,exitBehaviors を示す UMLLabals には、その Behaviors をmodelElementsとし、UML が規定する構文のtextを持つものとする。内部または局所 Transitions を示す UMLLabals には、その Transitions を
modelElementsとして持ち、UML が指定する構文のtextを持つ。UMLStateShapes の
ownedElementsであり、States をmodelElementsとして持ち、UMLLabel のどの特殊化でもない UMLLabels は、その State に関する情報を与える UML により規定されるtextを持つものとする。
B.4.5 Interaction Tables¶
Figure B.14 Interaction Shapes
UMLLabel を UMLInteractionTableLabel に特殊化し、UMLInteractionDiagrams の表形式におけるラベルに対して特性を追加する。
UMLInteractionTableLabels は UMLInteractionDiagram の ownedElement であり、
kind に table を持つ単一の UMLShape の ownedElement である UMLShape
の ownedElement でなければならない。これらの UMLShape はすべて、表全体、および表の各マス目に対して一つずつ、矩形として描かれるものとする。
表全体はこの UMLInteractionDiagram の
ownedElementの一つ各マス目は
ownedElementsの第二層
表全体の UMLShapes はそれらの owningElement の modelElement と同じ
InteractionDiagram を modelElement として持つものとする。マス目用の UMLShape
は表用の UMLShape 内の ownedElement とし、ownedElement は複数持たないものとし、UMLInteractionTableLabel であるものとする。
最上行のマス目用 UMLShape は modelElement を持たない ownedElement を一つ持つものとする。一方、マス目用の UMLShape 全てとそれらの ownedElements はちょうど一つの modelElement を持つものとする。同じ列のマス目用
UMLInteractionTableLabels はすべて同じ kind の値を持つものとする。
B.5 Information Flows¶
InformationFlows に関係した UMLDiagramElements についての注意点:
InformationFlows を
modelElementsとして持つ UMLLabels はconveyedの種類のnamesを示す。この InformationFlows の複数conveyednamesは CSV として表示される一つの UMLLabel で示されるものとし、同じ UMLLabel に対して複数のmodelElementsが存在するか、同じmodelElementに対して複数のconveyednamesが存在するか、あるいはその両方が原因であってもかまわない。InformationFlows を
modelElementsとし、isIconの値が真である UMLShapes は同じ InformationFlows をmodelElementsとして持つ UMLEdges と重なり、そのinformationTargetの方を向いて整列された、黒塗りの三角形として描かれるものとする。There shall be one triangle for all InformationFlows going in the same direction realized by the same element (a maximum of two triangles for the same realizing element).
B.6 UML Notations and UML DI Representations¶
本節では UML の表記法が UML DI を利用してどのようにモデル化されるのかを示すことで付録 B を要約する。付録 B のすべて、またはここまでの記法のすべてを網羅するものではない。
Table B.1 と B.2 はそれぞれ形状と辺を網羅している。
Notation 列は UML 記法の見本だ。
Diagram elements 列は記法に対応する UML DI 要素だ。包含階層的に表現している。
同じ入れ物を持つ要素は、左から右へ、上から下へと、左の列に示された記法に従って並べられる。
各要素について、図表要素の型が与えられ、その後に
modelElementの型が続き、場合によってはその図表要素に適用される他の制約が括弧で括られる。The type of modelElement is followed by a ‘+’ when multiple
modelElementsof this type can be assigned to one diagram element.Ref 列では記法が定義されている Notation 節と図表、および UML DI 表現が定義されている Annex B 節を参照する。
B.7 Classifier Descriptions¶
機械生成による節。
B.8 Association Descriptions¶
機械生成による節。