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
isIcon
indicates 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
bounds
of 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
modelElements
are 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
modelElements
defined by the type of themodelElement
Property.
UMLNameLabel の modelElement
は name
と visibility
を表す Properties
を持つ NamedElements に限定される。
必要な情報をすべて表示する特化型がない場合には UMLLabel を直接使用する。
UMLNameLabels are for showing information about NamedElements, which always includes their
name
, ornameExpression
, or ElementImportalias
if 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
name
of 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
attributes
of 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
fontSize
is 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
required
Interfaces とprovided
Interfaces を表す玉とソケット記法はisIcon
の値が真である UMLClassifierShapes として交換される。The lines between these notations and port rectangles are interchanged as UMLEdges with InterfaceRealization or Usage Dependencies as
modelElements
with the Interfaces assuppliers
, which determine whether the UMLClassifierShapes shall be rendered as balls or sockets (used Interfaces arerequired
and 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 は、Connectorend
roles
がpartWithPort
の値を持つ Ports であり、ちょうど一つの Interface を必要とするか支給する場合、Interfaces をmodelElements
とする UMLClassifierShapes をsource
かtarget
あるいはその両方とし、玉またはソケット記法で描画してよい。modelElements
に Interfaces を持ち、玉またはソケット記法 (B.3.3) で描画される UMLClassifierShapes は、partWithPort
の値を持つ Ports であり、ちょうど一つの Interface を要求または支給するend
roles
を持つ Connectors を見せるために、(玉がソケットの中にあり、両者の間に線がないように)互いに近接して描画してよい。These UMLClassifierShapes may be the
source
ortarget
of multiple UMLEdges that have all InterfaceRealization or all Usage Dependencies asmodelElements
when 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 注意点:
ownedElements
UMLClassifierShapes であり、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
とprovided
Interfaces を持つ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
definingEnds
of ConnectorEnds is shown with UMLAssociationEndLabels (definingEnds
are 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
memberEnds
of the AssociationmodelElement
of the UMLAssociationOrConnectorOrLinkShape»«
memberEnds
of an Association that is aclassifier
of the InstanceSpecificationmodelElement
UMLAssociationOrConnectorOrLinkShape»
上記 ConnectorEnds は «the
ends
of a ConnectormodelElement
of 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 が指定する構文で、このcondition
specification
またはextensionLocation
names
を与えるtext
を持つものとする。UMLEdges between such UMLShapes and other UMLDiagramElements shall have no
modelElements
and 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 assource
ortarget
UMLShapes with States asmodelElements
with a value true forisSubmachineState
, where the Transition’s correspondingsource
ortarget
is 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
isStream
the 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
modelElement
as 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
target
have an ActivityEdge asmodelElement
with the MergeNode astarget
.UMLEdges that have such UMLShape as
source
have an ActivityEdge asmodelElement
with the DecisionNode assource
.
単一の UMLShape は
modelElements
として JoinNode, ActivityEdge, ForkNode を持つことが許される。ここで JoinNode と ForkNode がそれぞれこの ActivityEdge のsource
とtarget
となる。UMLEdges that have such UMLShapes as
target
have an ActivityEdge asmodelElement
with the JoinNode astarget
.UMLEdges that have such UMLShape as
source
have an ActivityEdge asmodelElement
with 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
を持つものとする。もう一つの記法は並列
mode
ExpansionRegions 専用だ。inputElement
とoutputElement
を表示することは許されない。The UMLShape with ExpansionRegion as
modelElement
shall be thetarget
andsource
of the two UMLEdges with ObjectFlows asmodelElements
described above, respectively, and shall have an additionalownedElement
in 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 asmodelElements
in UMLInteractionDiagrams with the value overview forkind
shall 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
names
of themodelElements
are shown by a UMLLabel with the samemodelElements
, with the UMLStateShape asowningElement
, and the UMLLabel shall be rendered as a comma delimited list of thenames
of itsmodelElements
.
UMLStateShapes の内容に関する注意点:
entry
,do
,exit
Behaviors を示す 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 の複数conveyed
names
は CSV として表示される一つの UMLLabel で示されるものとし、同じ UMLLabel に対して複数のmodelElements
が存在するか、同じmodelElement
に対して複数のconveyed
names
が存在するか、あるいはその両方が原因であってもかまわない。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
modelElements
of this type can be assigned to one diagram element.Ref 列では記法が定義されている Notation 節と図表、および UML DI 表現が定義されている Annex B 節を参照する。
B.7 Classifier Descriptions¶
機械生成による節。
B.8 Association Descriptions¶
機械生成による節。