blob: f3946da85af2d5eee6a8312bfaa3db8735ddb86e [file] [log] [blame]
(object Petal
version 50
_written "Rose 8.3.0407.2800"
charSet 0)
(object Class_Category "runtime"
is_unit TRUE
is_loaded TRUE
quid "456EA3440140"
documentation
|Contains M1 constructs that instantiate other metamodel constructs. It is as such not relevant for JMI generation or XMI import/export. It is supposed to describe classes and packages that constitute the elementary runtime libraries.
|
|This is also where concepts are expressed that need special treatment, such as collections or blocks. Furthermore, the list of predefined primitive types is specified here.
|
|As a general hint, in this package UML classes are used to represent instances. The class stereotype is used to indicate the type of the instance represented by the UML class. For example, <<PrimitiveType>>-stereotyped classes denote instances of the PrimitiveType class, such as Integer or String.
stereotype "instancemodel"
exportControl "Public"
logical_models (list unit_reference_list
(object Class_Category "primitivetypes"
quid "456EA41C02D1"
exportControl "Public"
logical_models (list unit_reference_list
(object Class "Binary"
quid "453E10EB01C0"
documentation "A sequence of bytes or arbitrary length"
stereotype "PrimitiveType")
(object Class "Boolean"
quid "453E10EA0332"
documentation "The Boolean extent comprises the two values True and False."
stereotype "PrimitiveType")
(object Class "DateTime"
quid "453E10E9014F"
documentation "A point in time"
stereotype "PrimitiveType")
(object Class "Number"
quid "453E10EA00D9"
documentation
|A number of arbitrary precision. It can be constrained later in qualifying types in order to match, e.g., typical integer precision, or decimals with two decimal digits. Number may also need to capture true fractions or even irrational numbers such as sqrt(2).
|
|Operations on Number instances will be influenced by the precision of the instances involved. Rounding rules may additionally need to be specified.
stereotype "PrimitiveType")
(object Class "String"
quid "453E10E101F8"
documentation "A sequence of (Unicode) characters of arbitrary length"
stereotype "PrimitiveType"))
logical_presentations (list unit_reference_list
(object ClassDiagram "Primitive Type Instances"
quid "453E109F01A3"
title "Primitive Type Instances"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object ClassView "Class" "Logical View::documentation::runtime::primitivetypes::String" @1
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (228, 308)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @1
location (47, 280)
fill_color 13434879
nlines 1
max_width 362
justify 0
label "String")
stereotype (object ItemLabel
Parent_View @1
location (47, 230)
fill_color 13434879
anchor 10
nlines 1
max_width 360
justify 0
label "<<PrimitiveType>>")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453E10E101F8"
width 380
height 180
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::primitivetypes::DateTime" @2
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1405, 309)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @2
location (1220, 281)
fill_color 13434879
nlines 1
max_width 370
justify 0
label "DateTime")
stereotype (object ItemLabel
Parent_View @2
location (1220, 231)
fill_color 13434879
anchor 10
nlines 1
max_width 368
justify 0
label "<<PrimitiveType>>")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453E10E9014F"
width 388
height 180
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::primitivetypes::Number" @3
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (618, 306)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @3
location (435, 278)
fill_color 13434879
nlines 1
max_width 366
justify 0
label "Number")
stereotype (object ItemLabel
Parent_View @3
location (435, 228)
fill_color 13434879
anchor 10
nlines 1
max_width 364
justify 0
label "<<PrimitiveType>>")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453E10EA00D9"
width 384
height 180
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::primitivetypes::Boolean" @4
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1012, 306)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @4
location (827, 278)
fill_color 13434879
nlines 1
max_width 370
justify 0
label "Boolean")
stereotype (object ItemLabel
Parent_View @4
location (827, 228)
fill_color 13434879
anchor 10
nlines 1
max_width 368
justify 0
label "<<PrimitiveType>>")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453E10EA0332"
width 388
height 180
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::primitivetypes::Binary" @5
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1812, 312)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @5
location (1625, 284)
fill_color 13434879
nlines 1
max_width 374
justify 0
label "Binary")
stereotype (object ItemLabel
Parent_View @5
location (1625, 234)
fill_color 13434879
anchor 10
nlines 1
max_width 372
justify 0
label "<<PrimitiveType>>")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453E10EB01C0"
width 392
height 180
annotation 8
autoResize TRUE)
(object NoteView @6
location (872, 112)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @6
location (187, 53)
fill_color 13434879
nlines 2
max_width 1334
label "This is an instance diagram, showing instances of the type PrimitiveType")
line_color 3342489
fill_color 13434879
width 1394
height 131)
(object NoteView @7
location (915, 766)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @7
location (461, 469)
fill_color 13434879
nlines 11
max_width 872
label
|The primitive types constitute the foundation of the programming model. We currently see the following primitive types that need to be supported:
| - string
| - decimal
| - double
| - date
| - boolean
| - enum
| - MIME/BLOB
)
line_color 3342489
fill_color 13434879
width 932
height 606)
(object NoteView @8
location (1811, 584)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @8
location (1498, 503)
fill_color 13434879
nlines 3
max_width 590
label "Primitive types can only have Query operations because the primitive values are immutable.")
line_color 3342489
fill_color 13434879
width 650
height 175)
(object NoteView @9
location (1856, 950)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @9
location (1500, 728)
fill_color 13434879
nlines 8
max_width 677
label
|Compare with the SmallTalk library around "primitive types" and how they are modeled as classes and inheritance hierarchies there., specifically for the Number types.
|
|Obviously, all these classes are value-type classes.
)
line_color 3342489
fill_color 13434879
width 737
height 456)))))
(object Class_Category "enumerations"
quid "456F5A2701E3"
exportControl "Public"
logical_models (list unit_reference_list
(object Class "Enumeration"
quid "44FFFF9401B6"
documentation
|An enumeration type declares a number of literals that constitute the instances of the enumeration type. Enumerations can thus also be used to implement a concept known as "Code List" that is used, e.g., to encode ISO code lists of currencies, countries or others.
|
|However, I wonder if the choice of a Code List / Enumeration is appropriate for, e.g., currency encoding, given the fact that the set of currencies available worldwide may change over time (think "Euro"). Similar for countries (Soviet Union --> GUS, Yugoslavia, ...). Probably, those would better have been instances of classes, only marked as not changing very frequently.
stereotype "Class")
(object Class "EnumerationLiteral"
quid "44FFFF9E034B"
stereotype "Class"
class_attributes (list class_attribute_list
(object ClassAttribute "name"
quid "44FFFFE3028C"
type "string"
exportControl "Public")
(object ClassAttribute "description"
quid "45000293019A"
type "TranslatableText"
quidu "450001CE02D8"
exportControl "Public")))
(object Association "$UNNAMED$0"
quid "44FFFFA50296"
roles (list role_list
(object Role "literals"
quid "44FFFFA601F8"
label "literals"
supplier "Logical View::documentation::runtime::enumerations::EnumerationLiteral"
quidu "44FFFF9E034B"
client_cardinality (value cardinality "1..*")
Containment "By Value"
is_navigable TRUE)
(object Role "$UNNAMED$1"
quid "44FFFFA601FA"
supplier "Logical View::documentation::runtime::enumerations::Enumeration"
quidu "44FFFF9401B6"
is_aggregate TRUE))))
logical_presentations (list unit_reference_list
(object ClassDiagram "Enumerations"
quid "456F5A3A020E"
title "Enumerations"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list))))
(object Class_Category "collections"
quid "457009C300BA"
exportControl "Public"
logical_models (list unit_reference_list)
logical_presentations (list unit_reference_list
(object ClassDiagram "Collections"
quid "45110BA003BB"
title "Collections"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object NoteView @10
location (984, 293)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @10
location (265, 87)
fill_color 13434879
nlines 8
max_width 1403
label
|We need collection types, such as maps, sets, lists, ... Learn from java.util, C++ STL, ABAP internal tables, ...
|
|If we plan to tag structures with hints about expected access patterns, frequencies and data volume, maybe this type of information can also be used for collection types in order to select a good implementation strategy more or less automatically, freeing the developer from having to choose a collection type implementation over another.
)
line_color 3342489
fill_color 13434879
width 1463
height 425)))))
(object Class_Category "testWithRoles"
quid "453F6048033C"
exportControl "Public"
logical_models (list unit_reference_list
(object Class "BusinessPartner"
quid "453F606302EB")
(object Class "SalesOrder"
quid "453F6065033E")
(object Class "BankAccount"
quid "453F60680342")
(object Class "WorkAgreement"
quid "453F60E703E5")
(object Class "Address"
quid "453F61370119")
(object Class "Employee"
quid "455AC5840219")
(object Class "Customer"
quid "455AC5890270")
(object Class "Supplier"
quid "455AC58F03E1")
(object Class "Employer"
quid "455AC62D0280")
(object Association "$UNNAMED$2"
quid "453F60940359"
roles (list role_list
(object Role "$UNNAMED$3"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "453F6095022E"
supplier "Logical View::documentation::runtime::testWithRoles::SalesOrder"
quidu "453F6065033E"
is_navigable TRUE)
(object Role "buyer"
quid "453F60950230"
label "buyer"
supplier "Logical View::documentation::runtime::testWithRoles::Customer"
quidu "455AC5890270"
client_cardinality (value cardinality "1")
is_navigable TRUE)))
(object Association "$UNNAMED$4"
quid "453F60AC02D1"
roles (list role_list
(object Role "$UNNAMED$5"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "453F60AD0142"
supplier "Logical View::documentation::runtime::testWithRoles::SalesOrder"
quidu "453F6065033E"
is_navigable TRUE)
(object Role "seller"
quid "453F60AD0144"
label "seller"
supplier "Logical View::documentation::runtime::testWithRoles::Supplier"
quidu "455AC58F03E1"
client_cardinality (value cardinality "1")
is_navigable TRUE)))
(object Association "$UNNAMED$6"
quid "453F60BF027F"
roles (list role_list
(object Role "$UNNAMED$7"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "453F60C0017C"
supplier "Logical View::documentation::runtime::testWithRoles::SalesOrder"
quidu "453F6065033E"
is_navigable TRUE)
(object Role "vendor"
quid "453F60C0017E"
label "vendor"
supplier "Logical View::documentation::runtime::testWithRoles::Supplier"
quidu "455AC58F03E1"
client_cardinality (value cardinality "1")
is_navigable TRUE)))
(object Association "$UNNAMED$8"
quid "453F60F50164"
roles (list role_list
(object Role "employer"
quid "453F60F601A1"
label "employer"
supplier "Logical View::documentation::runtime::testWithRoles::Employer"
quidu "455AC62D0280"
client_cardinality (value cardinality "1")
is_navigable TRUE)
(object Role "$UNNAMED$9"
quid "453F60F601A3"
supplier "Logical View::documentation::runtime::testWithRoles::WorkAgreement"
quidu "453F60E703E5")))
(object Association "$UNNAMED$10"
quid "453F60F7013F"
roles (list role_list
(object Role "employee"
quid "453F60F80118"
label "employee"
supplier "Logical View::documentation::runtime::testWithRoles::Employee"
quidu "455AC5840219"
client_cardinality (value cardinality "1")
is_navigable TRUE)
(object Role "$UNNAMED$11"
quid "453F60F80122"
supplier "Logical View::documentation::runtime::testWithRoles::WorkAgreement"
quidu "453F60E703E5")))
(object Association "$UNNAMED$12"
quid "453F66CB00B8"
roles (list role_list
(object Role "streetAddress"
quid "453F66CC0240"
label "streetAddress"
supplier "Logical View::documentation::runtime::testWithRoles::Address"
quidu "453F61370119"
client_cardinality (value cardinality "0..1")
is_navigable TRUE)
(object Role "$UNNAMED$13"
quid "453F66CC024A"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB")))
(object Association "$UNNAMED$14"
quid "453F66CE0030"
roles (list role_list
(object Role "$UNNAMED$15"
quid "453F66CE0239"
supplier "Logical View::documentation::runtime::testWithRoles::BankAccount"
quidu "453F60680342"
client_cardinality (value cardinality "0..1")
is_navigable TRUE)
(object Role "$UNNAMED$16"
quid "453F66CE023B"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB")))
(object Association "$UNNAMED$17"
quid "455AC5D601F8"
stereotype "role"
roles (list role_list
(object Role "$UNNAMED$18"
quid "455AC5D70286"
supplier "Logical View::documentation::runtime::testWithRoles::Supplier"
quidu "455AC58F03E1"
Containment "By Value"
is_navigable TRUE)
(object Role "$UNNAMED$19"
quid "455AC5D7029B"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB"
is_aggregate TRUE)))
(object Association "$UNNAMED$20"
quid "455AC5EF00B4"
stereotype "role"
roles (list role_list
(object Role "$UNNAMED$21"
quid "455AC5F000E7"
supplier "Logical View::documentation::runtime::testWithRoles::Customer"
quidu "455AC5890270"
Containment "By Value"
is_navigable TRUE)
(object Role "$UNNAMED$22"
quid "455AC5F000F1"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB"
is_aggregate TRUE)))
(object Association "$UNNAMED$23"
quid "455AC5FD02F9"
stereotype "role"
roles (list role_list
(object Role "$UNNAMED$24"
quid "455AC5FE028C"
supplier "Logical View::documentation::runtime::testWithRoles::Employee"
quidu "455AC5840219"
Containment "By Value"
is_navigable TRUE)
(object Role "$UNNAMED$25"
quid "455AC5FE028E"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB"
is_aggregate TRUE)))
(object Association "$UNNAMED$26"
quid "455AC63202C3"
stereotype "role"
roles (list role_list
(object Role "$UNNAMED$27"
quid "455AC63301CA"
supplier "Logical View::documentation::runtime::testWithRoles::Employer"
quidu "455AC62D0280"
Containment "By Value"
is_navigable TRUE)
(object Role "$UNNAMED$28"
quid "455AC63301DF"
supplier "Logical View::documentation::runtime::testWithRoles::BusinessPartner"
quidu "453F606302EB"
is_aggregate TRUE))))
logical_presentations (list unit_reference_list
(object ClassDiagram "Test"
quid "453F605C03BD"
title "Test"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object NoteView @11
location (1224, 1862)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @11
location (49, 1365)
fill_color 13434879
nlines 19
max_width 2315
label
|A class may specify roles as separate classes. For example, a BusinessPartner may act in the role of an Employee or in the role of a Supplier. The respective role classes are themselves not special. However, the association from the class to its role class is somewhat special. It is marked here with the stereotype <<role>> and has the class as the composite parent and the role class as the composite child. Instances of the role classes thus cannot exist without an instance of the class of which they represent a role. The role classes can declare properties and take part in regular associations as usual classes can. This can be used to model structural features that are specific to the role, not the general concept.
|
|The class which has roles may have state that is relevant and needs to be maintained for an instance of that class only if that instance has one or more specific roles associated. For example, a BusinessPartner acting in the role of a Customer or an Employee may require the BankAccount information to be maintained. These constraints can be made explicit, ideally in a shorthand form (not requiring writing OCL for the average case). In this example, we've chosen a dependency (marked with the name "implies") from the <<role>> association to the feature (e.g., another association) which is required to be maintained when the role is present.
|
|With this setup, regular events will be raised for the role objects. Metadata-driven tools such as UI creation / extension tools may use the special nature of the <<role>> associations and "implies" dependencies to accumulate the metadata for a given role class. For example, if someone wants to build a UI for a role class, tools could implicitly aggregate the metadata of the "core" class (the class of which this is a role class) including all the features selected by the "implies" dependencies.
)
line_color 3342489
fill_color 13434879
width 2375
height 1006)
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::WorkAgreement" @12
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1010, 1277)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @12
location (849, 1227)
fill_color 13434879
nlines 1
max_width 322
justify 0
label "WorkAgreement")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453F60E703E5"
width 340
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::Address" @13
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (255, 614)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @13
location (163, 564)
fill_color 13434879
nlines 1
max_width 184
justify 0
label "Address")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453F61370119"
width 202
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::BankAccount" @14
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (650, 156)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @14
location (512, 106)
fill_color 13434879
nlines 1
max_width 276
justify 0
label "BankAccount")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453F60680342"
width 294
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::Employer" @15
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1064, 983)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @15
location (957, 933)
fill_color 13434879
nlines 1
max_width 214
justify 0
label "Employer")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "455AC62D0280"
width 232
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$8" @16
location (1066, 1130)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F60F50164"
roleview_list (list RoleViews
(object RoleView "employer" @17
Parent_View @16
location (277, -166)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @18
Parent_View @17
location (1180, 1122)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 191
justify 0
label "+employer"
pctDist 0.095238
height 114
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F60F601A1"
client @16
supplier @15
vertices (list Points
(1066, 1130)
(1066, 1045))
line_style 3
origin_attachment (1066, 1130)
terminal_attachment (1066, 1045)
label (object SegLabel @19
Parent_View @17
location (1099, 1078)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "1"
pctDist 0.607143
height 33
orientation 1))
(object RoleView "$UNNAMED$9" @20
Parent_View @16
location (277, -166)
stereotype TRUE
line_color 3342489
quidu "453F60F601A3"
client @16
supplier @12
vertices (list Points
(1066, 1130)
(1066, 1215))
line_style 3
origin_attachment (1066, 1130)
terminal_attachment (1066, 1215))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::Employee" @21
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (653, 960)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @21
location (546, 910)
fill_color 13434879
nlines 1
max_width 214
justify 0
label "Employee")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "455AC5840219"
width 232
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$10" @22
location (654, 1182)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F60F7013F"
roleview_list (list RoleViews
(object RoleView "employee" @23
Parent_View @22
location (-135, -114)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @24
Parent_View @23
location (788, 1071)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 216
justify 0
label "+employee"
pctDist 0.700000
height 134
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F60F80118"
client @22
supplier @21
vertices (list Points
(654, 1182)
(654, 1022))
line_style 3
origin_attachment (654, 1182)
terminal_attachment (654, 1022)
label (object SegLabel @25
Parent_View @23
location (708, 1039)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "1"
pctDist 0.900000
height 54
orientation 1))
(object RoleView "$UNNAMED$11" @26
Parent_View @22
location (-135, -114)
stereotype TRUE
line_color 3342489
quidu "453F60F80122"
client @22
supplier @12
vertices (list Points
(654, 1182)
(654, 1242)
(840, 1242))
line_style 3
origin_attachment (654, 1182)
terminal_attachment (840, 1242))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::Customer" @27
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1588, 184)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @27
location (1487, 134)
fill_color 13434879
nlines 1
max_width 202
justify 0
label "Customer")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "455AC5890270"
width 220
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::BusinessPartner" @28
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1018, 669)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @28
location (848, 619)
fill_color 13434879
nlines 1
max_width 340
justify 0
label "BusinessPartner")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453F606302EB"
width 358
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$12" @29
location (597, 631)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F66CB00B8"
roleview_list (list RoleViews
(object RoleView "streetAddress" @30
Parent_View @29
location (165, 459)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @31
Parent_View @30
location (518, 586)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 287
justify 0
label "+streetAddress"
pctDist 0.327801
height 46
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F66CC0240"
client @29
supplier @13
vertices (list Points
(597, 631)
(356, 631))
line_style 3
origin_attachment (597, 631)
terminal_attachment (356, 631)
label (object SegLabel @32
Parent_View @30
location (405, 673)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "0..1"
pctDist 0.796681
height 42
orientation 0))
(object RoleView "$UNNAMED$13" @33
Parent_View @29
location (165, 459)
stereotype TRUE
line_color 3342489
quidu "453F66CC024A"
client @29
supplier @28
vertices (list Points
(597, 631)
(839, 631))
line_style 3
origin_attachment (597, 631)
terminal_attachment (839, 631))))
(object AssociationViewNew "$UNNAMED$14" @34
location (833, 412)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F66CE0030"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$15" @35
Parent_View @34
location (401, 240)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F66CE0239"
client @34
supplier @14
vertices (list Points
(833, 412)
(694, 218))
line_style 0
label (object SegLabel @36
Parent_View @35
location (638, 245)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "0..1"
pctDist 1.050592
height 62
orientation 0))
(object RoleView "$UNNAMED$16" @37
Parent_View @34
location (401, 240)
stereotype TRUE
line_color 3342489
quidu "453F66CE023B"
client @34
supplier @28
vertices (list Points
(833, 412)
(973, 606))
line_style 0)))
(object AssociationViewNew "$UNNAMED$26" @38
location (1072, 825)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @39
Parent_View @38
location (974, 856)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<role>>"
pctDist -1.150000
height 31
orientation 1)
line_color 3342489
quidu "455AC63202C3"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$27" @40
Parent_View @38
location (-411, 156)
stereotype TRUE
line_color 3342489
quidu "455AC63301CA"
client @38
supplier @15
vertices (list Points
(1072, 825)
(1072, 921))
line_style 3
origin_attachment (1072, 825)
terminal_attachment (1072, 921))
(object RoleView "$UNNAMED$28" @41
Parent_View @38
location (-411, 156)
stereotype TRUE
line_color 3342489
quidu "455AC63301DF"
client @38
supplier @28
vertices (list Points
(1072, 825)
(1072, 730))
line_style 3
origin_attachment (1072, 825)
terminal_attachment (1072, 730))))
(object AssociationViewNew "$UNNAMED$23" @42
location (714, 722)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @43
Parent_View @42
location (571, 803)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<role>>"
pctDist -1.900000
height 81
orientation 1)
line_color 3342489
quidu "455AC5FD02F9"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$24" @44
Parent_View @42
location (-769, 53)
stereotype TRUE
line_color 3342489
quidu "455AC5FE028C"
client @42
supplier @21
vertices (list Points
(714, 722)
(654, 722)
(654, 898))
line_style 3
origin_attachment (714, 722)
terminal_attachment (654, 898))
(object RoleView "$UNNAMED$25" @45
Parent_View @42
location (-769, 53)
stereotype TRUE
line_color 3342489
quidu "455AC5FE028E"
client @42
supplier @28
vertices (list Points
(714, 722)
(839, 722))
line_style 3
origin_attachment (714, 722)
terminal_attachment (839, 722))))
(object AssociationViewNew "$UNNAMED$20" @46
location (1090, 244)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @47
Parent_View @46
location (1247, 155)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<role>>"
pctDist 3.133333
height 90
orientation 0)
line_color 3342489
quidu "455AC5EF00B4"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$21" @48
Parent_View @46
location (-393, -425)
stereotype TRUE
line_color 3342489
quidu "455AC5F000E7"
client @46
supplier @27
vertices (list Points
(1090, 244)
(1090, 184)
(1478, 184))
line_style 3
origin_attachment (1090, 244)
terminal_attachment (1478, 184))
(object RoleView "$UNNAMED$22" @49
Parent_View @46
location (-393, -425)
stereotype TRUE
line_color 3342489
quidu "455AC5F000F1"
client @46
supplier @28
vertices (list Points
(1090, 244)
(1090, 607))
line_style 3
origin_attachment (1090, 244)
terminal_attachment (1090, 607))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::SalesOrder" @50
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (2037, 680)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @50
location (1921, 630)
fill_color 13434879
nlines 1
max_width 232
justify 0
label "SalesOrder")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "453F6065033E"
width 250
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$2" @51
location (2039, 214)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F60940359"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$3" @52
Parent_View @51
location (1242, -474)
stereotype TRUE
line_color 3342489
quidu "453F6095022E"
client @51
supplier @50
vertices (list Points
(2039, 214)
(2039, 618))
line_style 3
origin_attachment (2039, 214)
terminal_attachment (2039, 618))
(object RoleView "buyer" @53
Parent_View @51
location (1242, -474)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @54
Parent_View @53
location (1814, 111)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 130
justify 0
label "+buyer"
pctDist 0.711656
height 41
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F60950230"
client @51
supplier @27
vertices (list Points
(2039, 214)
(2039, 151)
(1698, 151))
line_style 3
origin_attachment (2039, 214)
terminal_attachment (1698, 151)
label (object SegLabel @55
Parent_View @53
location (1716, 103)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "1"
pctDist 0.957055
height 49
orientation 1))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithRoles::Supplier" @56
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1571, 680)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @56
location (1478, 630)
fill_color 13434879
nlines 1
max_width 186
justify 0
label "Supplier")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "455AC58F03E1"
width 204
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$17" @57
location (1333, 674)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @58
Parent_View @57
location (1339, 646)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<role>>"
pctDist 0.600000
height 29
orientation 0)
line_color 3342489
quidu "455AC5D601F8"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$18" @59
Parent_View @57
location (-150, 5)
stereotype TRUE
line_color 3342489
quidu "455AC5D70286"
client @57
supplier @56
vertices (list Points
(1333, 674)
(1469, 674))
line_style 3
origin_attachment (1333, 674)
terminal_attachment (1469, 674))
(object RoleView "$UNNAMED$19" @60
Parent_View @57
location (-150, 5)
stereotype TRUE
line_color 3342489
quidu "455AC5D7029B"
client @57
supplier @28
vertices (list Points
(1333, 674)
(1197, 674))
line_style 3
origin_attachment (1333, 674)
terminal_attachment (1197, 674))))
(object AssociationViewNew "$UNNAMED$6" @61
location (1792, 650)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F60BF027F"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$7" @62
Parent_View @61
location (995, -38)
stereotype TRUE
line_color 3342489
quidu "453F60C0017C"
client @61
supplier @50
vertices (list Points
(1792, 650)
(1912, 650))
line_style 3
origin_attachment (1792, 650)
terminal_attachment (1912, 650))
(object RoleView "vendor" @63
Parent_View @61
location (995, -38)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @64
Parent_View @63
location (1770, 628)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 146
justify 0
label "+vendor"
pctDist 0.184874
height 23
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F60C0017E"
client @61
supplier @56
vertices (list Points
(1792, 650)
(1673, 650))
line_style 3
origin_attachment (1792, 650)
terminal_attachment (1673, 650)
label (object SegLabel @65
Parent_View @63
location (1680, 625)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "1"
pctDist 0.938650
height 26
orientation 1))))
(object AssociationViewNew "$UNNAMED$4" @66
location (1792, 725)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype TRUE
line_color 3342489
quidu "453F60AC02D1"
roleview_list (list RoleViews
(object RoleView "$UNNAMED$5" @67
Parent_View @66
location (995, 37)
stereotype TRUE
line_color 3342489
quidu "453F60AD0142"
client @66
supplier @50
vertices (list Points
(1792, 725)
(1912, 725))
line_style 3
origin_attachment (1792, 725)
terminal_attachment (1912, 725))
(object RoleView "seller" @68
Parent_View @66
location (995, 37)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @69
Parent_View @68
location (1774, 695)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 122
justify 0
label "+seller"
pctDist 0.151261
height 31
orientation 1)
stereotype TRUE
line_color 3342489
quidu "453F60AD0144"
client @66
supplier @56
vertices (list Points
(1792, 725)
(1673, 725))
line_style 3
origin_attachment (1792, 725)
terminal_attachment (1673, 725)
label (object SegLabel @70
Parent_View @68
location (1681, 693)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 15
justify 0
label "1"
pctDist 0.936605
height 33
orientation 1))))
(object AssocConstraintView "" @71
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @71
location (773, 567)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "implies")
stereotype TRUE
line_color 3342489
client @42
supplier @34
vertices (list Points
(714, 722)
(833, 412))
line_style 0)
(object AssocConstraintView "" @72
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @72
location (1083, 543)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "implies")
stereotype TRUE
line_color 3342489
client @57
supplier @34
vertices (list Points
(1333, 674)
(833, 412))
line_style 0)
(object AssocConstraintView "" @73
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @73
location (962, 328)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "implies")
stereotype TRUE
line_color 3342489
client @46
supplier @34
vertices (list Points
(1090, 244)
(833, 412))
line_style 0)
(object AssocConstraintView "" @74
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @74
location (656, 677)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "implies")
stereotype TRUE
line_color 3342489
client @42
supplier @29
vertices (list Points
(714, 722)
(597, 631))
line_style 0)))))
(object Class_Category "testWithPolymorphicAssociations"
quid "4579745001F1"
exportControl "Public"
logical_models (list unit_reference_list
(object Class "A"
quid "457974660120"
operations (list Operations
(object Operation "a"
quid "457974900293"
concurrency "Sequential"
opExportControl "Public"
uid 0))
class_attributes (list class_attribute_list
(object ClassAttribute "AtoB"
quid "4579751C03C1"
stereotype "expose"
type ":b"
exportControl "Public")))
(object Class "C"
quid "457974670064"
used_nodes (list uses_relationship_list
(object Uses_Relationship
quid "45797D2C02CF"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::E"
quidu "45797CF50117")
(object Uses_Relationship
quid "457974A3018C"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::A"
quidu "457974660120")
(object Uses_Relationship
quid "45799DE70255"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::A"
quidu "457974660120"))
operations (list Operations
(object Operation "a"
quid "4579749501DC"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "c"
quid "4579773003DA"
concurrency "Sequential"
opExportControl "Public"
uid 0))
class_attributes (list class_attribute_list
(object ClassAttribute "CtoD"
quid "4579750C02B0"
stereotype "expose"
type ":b"
exportControl "Public")
(object ClassAttribute "AtoB"
quid "457D86D90303"
stereotype "expose"
type ":b"
exportControl "Public")))
(object Class "B"
quid "457974670367"
used_nodes (list uses_relationship_list
(object Uses_Relationship
quid "45799DD403DE"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::D"
quidu "457974680354"))
operations (list Operations
(object Operation "b"
quid "4579749A003F"
concurrency "Sequential"
opExportControl "Public"
uid 0)))
(object Class "D"
quid "457974680354"
used_nodes (list uses_relationship_list
(object Uses_Relationship
quid "457974A5024E"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::B"
quidu "457974670367")
(object Uses_Relationship
quid "45797D2D03D5"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::F"
quidu "45797CF700F2"))
operations (list Operations
(object Operation "b"
quid "4579749D012A"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "d"
quid "4579772D00C9"
concurrency "Sequential"
opExportControl "Public"
uid 0)))
(object Class "E"
quid "45797CF50117"
used_nodes (list uses_relationship_list
(object Uses_Relationship
quid "45797FB700C2"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::A"
quidu "457974660120"))
operations (list Operations
(object Operation "a"
quid "45797D0A0081"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "c"
quid "45797D270047"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "e"
quid "457D905100D8"
concurrency "Sequential"
opExportControl "Public"
uid 0))
class_attributes (list class_attribute_list
(object ClassAttribute "EtoF"
quid "457D78C40133"
stereotype "expose"
type ":b"
exportControl "Public")))
(object Class "F"
quid "45797CF700F2"
used_nodes (list uses_relationship_list
(object Uses_Relationship
quid "45797FB8011E"
stereotype "conformsTo"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::B"
quidu "457974670367"))
operations (list Operations
(object Operation "b"
quid "45797D0D0216"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "d"
quid "45797D290144"
concurrency "Sequential"
opExportControl "Public"
uid 0)
(object Operation "f"
quid "457D9032005B"
concurrency "Sequential"
opExportControl "Public"
uid 0)))
(object Association "AtoB"
quid "4579746A02C1"
roles (list role_list
(object Role "b"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "4579746B020E"
label "b"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::B"
quidu "457974670367"
is_navigable TRUE)
(object Role "a"
quid "4579746B0210"
label "a"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::A"
quidu "457974660120"
is_navigable TRUE))
Constraints "readonly")
(object Association "CtoD"
quid "4579746C002F"
roles (list role_list
(object Role "b"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "4579746C027E"
label "b"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::D"
quidu "457974680354"
is_navigable TRUE)
(object Role "a"
quid "4579746C0288"
label "a"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::C"
quidu "457974670064"
is_navigable TRUE)))
(object Association "EtoF"
quid "45797D4C011C"
roles (list role_list
(object Role "b"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "45797D4C036B"
label "b"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::F"
quidu "45797CF700F2"
is_navigable TRUE)
(object Role "a"
quid "45797D4C036D"
label "a"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::E"
quidu "45797CF50117"
is_navigable TRUE))
Constraints "readonly")
(object Association "CtoB"
quid "4579853B01D1"
roles (list role_list
(object Role "b"
attributes (list Attribute_Set
(object Attribute
tool "MOF"
name "sap2mof.store"
value ("RoleStoreKindSet" 203)))
quid "4579853B037F"
label "b"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::B"
quidu "457974670367"
is_navigable TRUE)
(object Role "a"
quid "4579853B0381"
label "a"
supplier "Logical View::documentation::runtime::testWithPolymorphicAssociations::C"
quidu "457974670064"
is_navigable TRUE))))
logical_presentations (list unit_reference_list
(object ClassDiagram "Test with Polymorphic Associations"
quid "4579745C022A"
title "Test with Polymorphic Associations"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @75
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1054, 135)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @75
location (973, 85)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @76
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (268, 138)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @76
location (187, 88)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @77
location (661, 139)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @78
Parent_View @77
location (661, 80)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
roleview_list (list RoleViews
(object RoleView "b" @79
Parent_View @77
location (-95, -317)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @80
Parent_View @79
location (903, 98)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @77
supplier @75
vertices (list Points
(661, 139)
(964, 139))
line_style 3
origin_attachment (661, 139)
terminal_attachment (964, 139))
(object RoleView "a" @81
Parent_View @77
location (-95, -317)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @82
Parent_View @81
location (419, 98)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @77
supplier @76
vertices (list Points
(661, 139)
(358, 139))
line_style 3
origin_attachment (661, 139)
terminal_attachment (358, 139))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @83
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1066, 507)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @83
location (985, 457)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @84
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (273, 507)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @84
location (192, 457)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @84
location (192, 518)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + CtoD : :b"))
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "CtoD" @85
location (669, 507)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @86
Parent_View @85
location (669, 448)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "b" @87
Parent_View @85
location (-150, -737)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @88
Parent_View @87
location (914, 466)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @85
supplier @83
vertices (list Points
(669, 507)
(976, 507))
line_style 3
origin_attachment (669, 507)
terminal_attachment (976, 507))
(object RoleView "a" @89
Parent_View @85
location (-150, -737)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @90
Parent_View @89
location (425, 466)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @85
supplier @84
vertices (list Points
(669, 507)
(363, 507))
line_style 3
origin_attachment (669, 507)
terminal_attachment (363, 507))))
(object UsesView "" @91
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @91
location (1060, 320)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @92
Parent_View @91
location (954, 245)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.525000
height 177
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @83
supplier @75
vertices (list Points
(1060, 444)
(1060, 196))
line_style 3
origin_attachment (1060, 444)
terminal_attachment (1060, 196))
(object NoteView @93
location (1084, 1366)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @93
location (200, 822)
fill_color 13434879
nlines 21
max_width 1733
label
|Under which conditions should C conform to A? C would need to expose an association end that is equal to AtoB::b.
|
|Given, that it should be possible to have a separate but conforming nested structure, it would need to be sufficient to expose an association end with *conforming* type.
|
|If C conforms to A, this means that a C can be used wherever an A is required. In particular, an AtoB link could be established with a C instance in the AtoB::a end.
|
|This would result in the somewhat bizarre situation that navigating from a B via AtoB to a C and from there looking up what's in the b "property", now via the CtoD association, the B instance where navigation started would not be found.
|
|A B cannot be inserted in the CtoD::b role because its type B does not conform to the type D of end CtoD::b.
|
|Statically referring to A::b could polymorphically mean AtoB::b for an A instance or CtoD::b on a C instance that conforms to A. It seem unacceptable to require C to expose AtoB::b instead because C may live in a completely different package with different lifecycle and have to use its own association graph.
)
line_color 3342489
fill_color 13434879
width 1793
height 1100)
(object NoteView @94
location (1696, 331)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @94
location (1187, 100)
fill_color 13434879
nlines 9
max_width 983
label "C does NOT conform to A because the association end it exposes is of a different type than the end exposed by A, even though it conforms to the type of the end exposed by A. The reason is that this would allow for catcalls when adding B instances to CtoD statically using A.b which pulymorphically would be mapped to CtoD.b in case the instance on the A side is actually a C. This would add an object to CtoD::b which does not conform to CtoD::b's type D.")
line_color 3342489
fill_color 13434879
width 1043
height 475)))
(object ClassDiagram "Example with multiple conforming classes"
quid "45797CDB0192"
title "Example with multiple conforming classes"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @95
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1434, 142)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @95
location (1353, 92)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @96
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (608, 146)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @96
location (527, 96)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @97
location (1021, 153)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @98
Parent_View @97
location (1021, 94)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
label (object SegLabel @99
Parent_View @97
location (1019, 179)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 0.483333
height 26
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @100
Parent_View @97
location (265, -303)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @101
Parent_View @100
location (1278, 112)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @97
supplier @95
vertices (list Points
(1021, 153)
(1344, 153))
line_style 3
origin_attachment (1021, 153)
terminal_attachment (1344, 153))
(object RoleView "a" @102
Parent_View @97
location (265, -303)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @103
Parent_View @102
location (764, 112)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @97
supplier @96
vertices (list Points
(1021, 153)
(698, 153))
line_style 3
origin_attachment (1021, 153)
terminal_attachment (698, 153))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::F" @104
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1116, 415)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @104
location (1035, 365)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "F")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF700F2"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::E" @105
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (169, 415)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @105
location (88, 365)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "E")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF50117"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "EtoF" @106
location (642, 415)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @107
Parent_View @106
location (784, 391)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 100
justify 0
label "EtoF"
pctDist 2.883333
height 25
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C011C"
label (object SegLabel @108
Parent_View @106
location (889, 450)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 4.616667
height 35
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @109
Parent_View @106
location (402, -366)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @110
Parent_View @109
location (994, 373)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.917914
height 43
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C036B"
client @106
supplier @104
vertices (list Points
(642, 415)
(1026, 415))
line_style 3
origin_attachment (642, 415)
terminal_attachment (1026, 415))
(object RoleView "a" @111
Parent_View @106
location (402, -366)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @112
Parent_View @111
location (324, 388)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.830287
height 28
orientation 1)
stereotype TRUE
line_color 3342489
quidu "45797D4C036D"
client @106
supplier @105
vertices (list Points
(642, 415)
(259, 415))
line_style 3
origin_attachment (642, 415)
terminal_attachment (259, 415))))
(object NoteView @113
location (985, 1406)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @113
location (37, 1093)
fill_color 13434879
nlines 12
max_width 1860
label
|Here, C conforms to both, A and E. We assume in this example that no class exposes an association end. The question now is which association would be selected in case an end named "b" is navigated starting on a C instance.
|
|We have to distinguish, what the association is to which "b" belongs statically (at compile time). Because no ends are exposed, no association will work polymorphically. Thus, the static reference to the association whose "b" is to be used decides which association is navigated at runtime.
|
|Tools may warn developers of any ambiguity during design-time and provide auto-completion if the developer only specifies the end name. However, if the static type of the object where navigation starts would, e.g., be A, there is no way to use CtoD.b because A instances can never occur in role "a" on CtoD.
)
line_color 3342489
fill_color 13434879
width 1920
height 638)
(object UsesView "" @114
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @115
Parent_View @114
location (273, 221)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.275410
height 110
orientation 0)
line_color 3342489
quidu "45797FB700C2"
client @105
supplier @96
vertices (list Points
(259, 357)
(517, 200))
line_style 0)
(object UsesView "" @116
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @117
Parent_View @116
location (1119, 270)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.006240
height 108
orientation 0)
line_color 3342489
quidu "45797FB8011E"
client @104
supplier @95
vertices (list Points
(1187, 352)
(1360, 204))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @118
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (640, 882)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @118
location (559, 832)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @119
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @120
Parent_View @119
location (427, 677)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.425354
height 5
orientation 0)
line_color 3342489
quidu "45797D2C02CF"
client @118
supplier @105
vertices (list Points
(577, 819)
(231, 477))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @121
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1425, 894)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @121
location (1344, 844)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @122
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @122
location (1416, 517)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @123
Parent_View @122
location (1310, 442)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.432532
height 60
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @121
supplier @95
vertices (list Points
(1416, 831)
(1416, 204))
line_style 3
origin_attachment (1416, 831)
terminal_attachment (1416, 204))
(object UsesView "" @124
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @125
Parent_View @124
location (1169, 629)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.679156
height 72
orientation 0)
line_color 3342489
quidu "45797D2D03D5"
client @121
supplier @104
vertices (list Points
(1383, 831)
(1156, 477))
line_style 0)
(object AssociationViewNew "CtoD" @126
location (1032, 888)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @127
Parent_View @126
location (1032, 829)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 450
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "a" @128
Parent_View @126
location (-527, -122)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @129
Parent_View @128
location (791, 847)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @126
supplier @118
vertices (list Points
(1032, 888)
(730, 888))
line_style 3
origin_attachment (1032, 888)
terminal_attachment (730, 888))
(object RoleView "b" @130
Parent_View @126
location (-527, -122)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @131
Parent_View @130
location (1274, 847)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @126
supplier @121
vertices (list Points
(1032, 888)
(1335, 888))
line_style 3
origin_attachment (1032, 888)
terminal_attachment (1335, 888))))
(object UsesView "" @132
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @132
location (628, 514)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @133
Parent_View @132
location (522, 439)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.410305
height 15
orientation 0)
line_color 3342489
quidu "457974A3018C"
client @118
supplier @96
vertices (list Points
(628, 820)
(628, 208))
line_style 3
origin_attachment (628, 820)
terminal_attachment (628, 208))))
(object ClassDiagram "Example with conformance"
quid "4579852B032C"
title "Example with conformance"
zoom 100
max_height 28350
max_width 21600
origin_x 75
origin_y 0
items (list diagram_item_list
(object NoteView @134
location (896, 1102)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @134
location (12, 708)
fill_color 13434879
nlines 15
max_width 1733
label
|C conforms to A because it exposes an end with equal navigability, multiplicity and orderedness and having the same type as that of the end exposed by A. If A.[AtoB::]b is used statically, for C instances this would map to C.[CtoB::]b polymorphically.
|
|Navigating B.a must be disambiguated during design time and will not do any polymorphic resolution because B does not expose any association end.
|
|This strategy allows redefining an exposed association end by adding another association CtoB which connects to B and has another association end of the same name/multiplicity/orderedness and with a conforming type than that already connected to B (AtoB::a).
|
|Issue: If there are already existing links of AtoB that have C instances in their "a" role, then those are no longer considered when A.b is used, but they would appear when AtoB is navigated explicitly.
)
line_color 3342489
fill_color 13434879
width 1793
height 800)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @135
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1082, 512)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @135
location (1001, 462)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @136
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (281, 143)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @136
location (200, 93)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @137
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1070, 140)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @137
location (989, 90)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @138
location (675, 144)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @139
Parent_View @138
location (675, 85)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
roleview_list (list RoleViews
(object RoleView "b" @140
Parent_View @138
location (-81, -312)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @141
Parent_View @140
location (918, 104)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.796537
height 41
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @138
supplier @137
vertices (list Points
(675, 144)
(980, 144))
line_style 3
origin_attachment (675, 144)
terminal_attachment (980, 144))
(object RoleView "a" @142
Parent_View @138
location (-81, -312)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @143
Parent_View @142
location (433, 103)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @138
supplier @136
vertices (list Points
(675, 144)
(371, 144))
line_style 3
origin_attachment (675, 144)
terminal_attachment (371, 144))))
(object UsesView "" @144
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @144
location (1076, 326)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @145
Parent_View @144
location (970, 251)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.559006
height 6
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @135
supplier @137
vertices (list Points
(1076, 450)
(1076, 202))
line_style 3
origin_attachment (1076, 450)
terminal_attachment (1076, 202))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @146
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (289, 512)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @146
location (208, 462)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @146
location (208, 523)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + CtoD : :b"))
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "CtoB" @147
location (679, 324)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @148
Parent_View @147
location (679, 265)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "CtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579853B01D1"
roleview_list (list RoleViews
(object RoleView "b" @149
Parent_View @147
location (73, -302)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @150
Parent_View @149
location (911, 252)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.722111
height 34
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579853B037F"
client @147
supplier @137
vertices (list Points
(679, 324)
(979, 182))
line_style 0)
(object RoleView "a" @151
Parent_View @147
location (73, -302)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @152
Parent_View @151
location (423, 401)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579853B0381"
client @147
supplier @146
vertices (list Points
(679, 324)
(379, 467))
line_style 0)))
(object UsesView "" @153
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @153
location (285, 328)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @154
Parent_View @153
location (179, 253)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.481481
height 126
orientation 0)
line_color 3342489
quidu "457974A3018C"
client @146
supplier @136
vertices (list Points
(285, 450)
(285, 205))
line_style 3
origin_attachment (285, 450)
terminal_attachment (285, 205))))
(object ClassDiagram "Bidirectional Conforms"
quid "45799DC300EB"
title "Bidirectional Conforms"
zoom 100
max_height 28350
max_width 21600
origin_x 75
origin_y 0
items (list diagram_item_list
(object NoteView @155
location (952, 1322)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @155
location (68, 778)
fill_color 13434879
nlines 21
max_width 1733
label
|Under which conditions should C conform to A? C would need to expose an association end that is equal to AtoB::b.
|
|Given, that it should be possible to have a separate but conforming nested structure, it would need to be sufficient to expose an association end with *conforming* type.
|
|If C conforms to A, this means that a C can be used wherever an A is required. In particular, an AtoB link could be established with a C instance in the AtoB::a end.
|
|This would result in the somewhat bizarre situation that navigating from a B via AtoB to a C and from there looking up what's in the b "property", now via the CtoD association, the B instance where navigation started would not be found.
|
|A B cannot be inserted in the CtoD::b role because its type B does not conform to the type D of end CtoD::b.
|
|Statically referring to A::b could polymorphically mean AtoB::b for an A instance or CtoD::b on a C instance that conforms to A. It seem unacceptable to require C to expose AtoB::b instead because C may live in a completely different package with different lifecycle and have to use its own association graph.
)
line_color 3342489
fill_color 13434879
width 1793
height 1100)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @156
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1250, 148)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @156
location (1169, 98)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @157
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (461, 151)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @157
location (380, 101)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @158
location (855, 152)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @159
Parent_View @158
location (855, 93)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
roleview_list (list RoleViews
(object RoleView "b" @160
Parent_View @158
location (99, -304)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @161
Parent_View @160
location (1099, 111)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @158
supplier @156
vertices (list Points
(855, 152)
(1160, 152))
line_style 3
origin_attachment (855, 152)
terminal_attachment (1160, 152))
(object RoleView "a" @162
Parent_View @158
location (99, -304)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @163
Parent_View @162
location (613, 111)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @158
supplier @157
vertices (list Points
(855, 152)
(551, 152))
line_style 3
origin_attachment (855, 152)
terminal_attachment (551, 152))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @164
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
location (1262, 520)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @164
location (1181, 470)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
compartment (object Compartment
Parent_View @164
location (1181, 531)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"+ b()"))
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @165
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (469, 520)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @165
location (388, 470)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @165
location (388, 531)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + CtoD : :b"))
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "CtoD" @166
location (865, 520)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @167
Parent_View @166
location (865, 461)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "b" @168
Parent_View @166
location (46, -724)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @169
Parent_View @168
location (1110, 479)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @166
supplier @164
vertices (list Points
(865, 520)
(1172, 520))
line_style 3
origin_attachment (865, 520)
terminal_attachment (1172, 520))
(object RoleView "a" @170
Parent_View @166
location (46, -724)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @171
Parent_View @170
location (621, 479)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @166
supplier @165
vertices (list Points
(865, 520)
(559, 520))
line_style 3
origin_attachment (865, 520)
terminal_attachment (559, 520))))
(object UsesView "" @172
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @173
Parent_View @172
location (1476, 332)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.493750
height 179
orientation 0)
line_color 3342489
quidu "45799DD403DE"
client @156
supplier @164
vertices (list Points
(1297, 209)
(1297, 458))
line_style 3
origin_attachment (1297, 209)
terminal_attachment (1297, 458))
(object UsesView "" @174
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @174
location (1214, 334)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @175
Parent_View @174
location (1108, 259)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.591398
height 163
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @164
supplier @156
vertices (list Points
(1214, 458)
(1214, 210))
line_style 3
origin_attachment (1214, 458)
terminal_attachment (1214, 210))
(object UsesView "" @176
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @177
Parent_View @176
location (288, 354)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.425926
height 178
orientation 0)
line_color 3342489
quidu "45799DE70255"
client @165
supplier @157
vertices (list Points
(465, 458)
(465, 213))
line_style 3
origin_attachment (465, 458)
terminal_attachment (465, 213))
(object NoteView @178
location (1994, 340)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @178
location (1675, 31)
fill_color 13434879
nlines 12
max_width 602
label
|B and D conform to each other mutually. Thus, the exposed end CtoD.b conforms to AtoB.b for both, read and write access.
|
|Had AtoB only been a readonly association (or the exposed end constrained to readonly access), then CtoD.b would have been conforming even if B did not conform to D.
)
line_color 3342489
fill_color 13434879
width 662
height 631)))
(object ClassDiagram "Multiple conforming classes with exposure"
quid "457D788B0326"
title "Multiple conforming classes with exposure"
zoom 100
max_height 28350
max_width 21600
origin_x 119
origin_y 3
items (list diagram_item_list
(object NoteView @179
location (1332, 1481)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @179
location (378, 1247)
fill_color 13434879
nlines 9
max_width 1872
label
|Here, C conforms to both, A and E because all expose an end b with equal multiplicity, composition and navigability, and AtoB::b and EtoF::b are both readonly, thus it is sufficient for CtoD::b that its end type D conforms to F and B and not vice versa.
|
|It is assumed that statically, the association end AtoB::b is used starting at type A. The actual type of the instance where navigation starts is assumed to be C.
|
|This actual type C exposes an end that conforms to the AtoB::b end exposed by A which is used during compile time to specify the navigation. Therefore, CtoD::b is used at runtime to execute the navigation.
)
line_color 3342489
fill_color 13434879
width 1932
height 481)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @180
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1784, 248)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @180
location (1703, 198)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @181
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (958, 252)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @181
location (877, 202)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @182
location (1371, 259)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @183
Parent_View @182
location (1371, 200)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
label (object SegLabel @184
Parent_View @182
location (1363, 278)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 0.383333
height 19
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @185
Parent_View @182
location (615, -197)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @186
Parent_View @185
location (1628, 218)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @182
supplier @180
vertices (list Points
(1371, 259)
(1694, 259))
line_style 3
origin_attachment (1371, 259)
terminal_attachment (1694, 259))
(object RoleView "a" @187
Parent_View @182
location (615, -197)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @188
Parent_View @187
location (1114, 218)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @182
supplier @181
vertices (list Points
(1371, 259)
(1048, 259))
line_style 3
origin_attachment (1371, 259)
terminal_attachment (1048, 259))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::F" @189
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1466, 521)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @189
location (1385, 471)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "F")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF700F2"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::E" @190
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (362, 559)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @190
location (281, 509)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "E")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF50117"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @191
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @192
Parent_View @191
location (277, 495)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist -0.318200
height 95
orientation 0)
line_color 3342489
quidu "45797FB700C2"
client @190
supplier @181
vertices (list Points
(452, 510)
(867, 296))
line_style 0)
(object AssociationViewNew "EtoF" @193
location (914, 560)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @194
Parent_View @193
location (1056, 536)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 100
justify 0
label "EtoF"
pctDist 2.883333
height 25
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C011C"
label (object SegLabel @195
Parent_View @193
location (1080, 589)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 3.266667
height 29
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @196
Parent_View @193
location (674, -221)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @197
Parent_View @196
location (1338, 518)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.917914
height 43
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C036B"
client @193
supplier @189
vertices (list Points
(914, 560)
(1376, 560))
line_style 3
origin_attachment (914, 560)
terminal_attachment (1376, 560))
(object RoleView "a" @198
Parent_View @193
location (674, -221)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @199
Parent_View @198
location (525, 531)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.842784
height 30
orientation 1)
stereotype TRUE
line_color 3342489
quidu "45797D4C036D"
client @193
supplier @190
vertices (list Points
(914, 560)
(452, 560))
line_style 3
origin_attachment (914, 560)
terminal_attachment (452, 560))))
(object UsesView "" @200
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @201
Parent_View @200
location (1504, 358)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.174686
height 99
orientation 0)
line_color 3342489
quidu "45797FB8011E"
client @189
supplier @180
vertices (list Points
(1537, 458)
(1710, 310))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @202
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (990, 988)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @202
location (909, 938)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @203
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @204
Parent_View @203
location (707, 800)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.425354
height 5
orientation 0)
line_color 3342489
quidu "45797D2C02CF"
client @202
supplier @190
vertices (list Points
(899, 926)
(452, 620))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @205
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1775, 1000)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @205
location (1694, 950)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @206
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @206
location (1766, 624)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @207
Parent_View @206
location (1660, 549)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.616236
height 184
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @205
supplier @180
vertices (list Points
(1766, 938)
(1766, 309))
line_style 3
origin_attachment (1766, 938)
terminal_attachment (1766, 309))
(object UsesView "" @208
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @209
Parent_View @208
location (1519, 735)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.679156
height 72
orientation 0)
line_color 3342489
quidu "45797D2D03D5"
client @205
supplier @189
vertices (list Points
(1733, 937)
(1506, 583))
line_style 0)
(object AssociationViewNew "CtoD" @210
location (1382, 994)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @211
Parent_View @210
location (1382, 935)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 450
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "a" @212
Parent_View @210
location (-177, -16)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @213
Parent_View @212
location (1141, 953)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @210
supplier @202
vertices (list Points
(1382, 994)
(1080, 994))
line_style 3
origin_attachment (1382, 994)
terminal_attachment (1080, 994))
(object RoleView "b" @214
Parent_View @210
location (-177, -16)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @215
Parent_View @214
location (1624, 953)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @210
supplier @205
vertices (list Points
(1382, 994)
(1685, 994))
line_style 3
origin_attachment (1382, 994)
terminal_attachment (1685, 994))))
(object UsesView "" @216
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @216
location (978, 619)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @217
Parent_View @216
location (872, 544)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.302521
height 168
orientation 0)
line_color 3342489
quidu "457974A3018C"
client @202
supplier @181
vertices (list Points
(978, 925)
(978, 313))
line_style 3
origin_attachment (978, 925)
terminal_attachment (978, 313))))
(object ClassDiagram "Covariant Readonly Conformance"
quid "457D82DD037F"
title "Covariant Readonly Conformance"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 3
items (list diagram_item_list
(object NoteView @218
location (1655, 145)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @218
location (1342, 57)
fill_color 13434879
nlines 3
max_width 590
label "B conforms to D. Since AtoB is readonly, the exposed end CtoD.b conforms to AtoB.b.")
line_color 3342489
fill_color 13434879
width 650
height 188)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @219
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1146, 143)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @219
location (1065, 93)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @220
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (357, 146)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @220
location (276, 96)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @221
location (751, 147)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @222
Parent_View @221
location (751, 88)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
label (object SegLabel @223
Parent_View @221
location (752, 181)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 0.516667
height 34
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @224
Parent_View @221
location (-5, -309)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @225
Parent_View @224
location (995, 106)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @221
supplier @219
vertices (list Points
(751, 147)
(1056, 147))
line_style 3
origin_attachment (751, 147)
terminal_attachment (1056, 147))
(object RoleView "a" @226
Parent_View @221
location (-5, -309)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @227
Parent_View @226
location (509, 106)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @221
supplier @220
vertices (list Points
(751, 147)
(447, 147))
line_style 3
origin_attachment (751, 147)
terminal_attachment (447, 147))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @228
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1158, 515)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @228
location (1077, 465)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
compartment (object Compartment
Parent_View @228
location (1077, 526)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"+ b()"))
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @229
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (365, 515)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @229
location (284, 465)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @229
location (284, 526)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + CtoD : :b"))
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @230
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @231
Parent_View @230
location (184, 349)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.425926
height 178
orientation 0)
line_color 3342489
quidu "45799DE70255"
client @229
supplier @220
vertices (list Points
(361, 453)
(361, 208))
line_style 3
origin_attachment (361, 453)
terminal_attachment (361, 208))
(object AssociationViewNew "CtoD" @232
location (761, 515)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @233
Parent_View @232
location (761, 456)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "b" @234
Parent_View @232
location (-58, -729)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @235
Parent_View @234
location (1006, 474)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @232
supplier @228
vertices (list Points
(761, 515)
(1068, 515))
line_style 3
origin_attachment (761, 515)
terminal_attachment (1068, 515))
(object RoleView "a" @236
Parent_View @232
location (-58, -729)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @237
Parent_View @236
location (517, 474)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @232
supplier @229
vertices (list Points
(761, 515)
(455, 515))
line_style 3
origin_attachment (761, 515)
terminal_attachment (455, 515))))
(object UsesView "" @238
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @238
location (1149, 328)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @239
Parent_View @238
location (1043, 253)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.496894
height 169
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @228
supplier @219
vertices (list Points
(1149, 452)
(1149, 204))
line_style 3
origin_attachment (1149, 452)
terminal_attachment (1149, 204))))
(object ClassDiagram "Simplest Case"
quid "457D86C80182"
title "Simplest Case"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object NoteView @240
location (1084, 1209)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @240
location (200, 815)
fill_color 13434879
nlines 15
max_width 1733
label
|C conforms to A because it exposes an end with equal navigability, multiplicity and orderedness and having the same type as that of the end exposed by A. If A.[AtoB::]b is used statically, for C instances this would map to C.[CtoB::]b polymorphically.
|
|Navigating B.a must be disambiguated during design time and will not do any polymorphic resolution because B does not expose any association end.
|
|This strategy allows redefining an exposed association end by adding another association CtoB which connects to B and has another association end of the same name/multiplicity/orderedness and with a conforming type than that already connected to B (AtoB::a).
|
|Issue: If there are already existing links of AtoB that have C instances in their "a" role, then those are no longer considered when A.b is used, but they would appear when AtoB is navigated explicitly.
)
line_color 3342489
fill_color 13434879
width 1793
height 800)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @241
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1064, 506)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @241
location (983, 456)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @242
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (271, 506)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @242
location (190, 456)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @242
location (190, 517)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + AtoB : :b"))
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @243
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1052, 134)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @243
location (971, 84)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @244
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (263, 137)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @244
location (182, 87)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @245
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @245
location (267, 322)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @246
Parent_View @245
location (161, 247)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.555556
height 172
orientation 0)
line_color 3342489
quidu "457974A3018C"
client @242
supplier @244
vertices (list Points
(267, 444)
(267, 199))
line_style 3
origin_attachment (267, 444)
terminal_attachment (267, 199))
(object AssociationViewNew "AtoB" @247
location (657, 138)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @248
Parent_View @247
location (657, 79)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
roleview_list (list RoleViews
(object RoleView "b" @249
Parent_View @247
location (-99, -318)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @250
Parent_View @249
location (900, 98)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.796537
height 41
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @247
supplier @243
vertices (list Points
(657, 138)
(962, 138))
line_style 3
origin_attachment (657, 138)
terminal_attachment (962, 138))
(object RoleView "a" @251
Parent_View @247
location (-99, -318)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @252
Parent_View @251
location (415, 97)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @247
supplier @244
vertices (list Points
(657, 138)
(353, 138))
line_style 3
origin_attachment (657, 138)
terminal_attachment (353, 138))))
(object UsesView "" @253
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @253
location (1058, 320)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @254
Parent_View @253
location (952, 245)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.422360
height 172
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @241
supplier @243
vertices (list Points
(1058, 444)
(1058, 196))
line_style 3
origin_attachment (1058, 444)
terminal_attachment (1058, 196))))
(object ClassDiagram "Problem"
quid "457D902100BB"
title "Problem"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object NoteView @255
location (1332, 1481)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @255
location (378, 1247)
fill_color 13434879
nlines 9
max_width 1872
label
|Here, C conforms to both, A and E because all expose an end b with equal multiplicity, composition and navigability, and AtoB::b and EtoF::b are both readonly, thus it is sufficient for CtoD::b that its end type D conforms to F and B and not vice versa.
|
|It is assumed that statically, the association end AtoB::b is used starting at type A. The actual type of the instance where navigation starts is assumed to be C.
|
|This actual type C exposes an end that conforms to the AtoB::b end exposed by A which is used during compile time to specify the navigation. Therefore, CtoD::b is used at runtime to execute the navigation.
)
line_color 3342489
fill_color 13434879
width 1932
height 481)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::B" @256
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1783, 248)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @256
location (1702, 198)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "B")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670367"
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::A" @257
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (958, 252)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @257
location (877, 202)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "A")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974660120"
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "AtoB" @258
location (1370, 259)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @259
Parent_View @258
location (1370, 200)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 104
justify 0
label "AtoB"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746A02C1"
label (object SegLabel @260
Parent_View @258
location (1362, 278)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 2
anchor_loc 1
nlines 1
max_width 300
justify 0
label "{readonly}"
pctDist 0.383333
height 19
orientation 1)
roleview_list (list RoleViews
(object RoleView "b" @261
Parent_View @258
location (614, -197)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @262
Parent_View @261
location (1627, 218)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746B020E"
client @258
supplier @256
vertices (list Points
(1370, 259)
(1693, 259))
line_style 3
origin_attachment (1370, 259)
terminal_attachment (1693, 259))
(object RoleView "a" @263
Parent_View @258
location (614, -197)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @264
Parent_View @263
location (1113, 218)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746B0210"
client @258
supplier @257
vertices (list Points
(1370, 259)
(1048, 259))
line_style 3
origin_attachment (1370, 259)
terminal_attachment (1048, 259))))
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::F" @265
ShowCompartmentStereotypes TRUE
location (1466, 521)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @265
location (1385, 471)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "F")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF700F2"
compartment (object Compartment
Parent_View @265
location (1385, 532)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"+ b()"
"+ f()"))
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::E" @266
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
location (362, 559)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @266
location (281, 509)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "E")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "45797CF50117"
compartment (object Compartment
Parent_View @266
location (281, 570)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"+ a()"
"+ e()"))
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @267
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @268
Parent_View @267
location (277, 495)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist -0.318200
height 95
orientation 0)
line_color 3342489
quidu "45797FB700C2"
client @266
supplier @257
vertices (list Points
(452, 510)
(867, 296))
line_style 0)
(object AssociationViewNew "EtoF" @269
location (914, 560)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @270
Parent_View @269
location (1056, 536)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 100
justify 0
label "EtoF"
pctDist 2.883333
height 25
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C011C"
roleview_list (list RoleViews
(object RoleView "b" @271
Parent_View @269
location (674, -221)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @272
Parent_View @271
location (1338, 518)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.917914
height 43
orientation 0)
stereotype TRUE
line_color 3342489
quidu "45797D4C036B"
client @269
supplier @265
vertices (list Points
(914, 560)
(1376, 560))
line_style 3
origin_attachment (914, 560)
terminal_attachment (1376, 560))
(object RoleView "a" @273
Parent_View @269
location (674, -221)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @274
Parent_View @273
location (525, 531)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.842784
height 30
orientation 1)
stereotype TRUE
line_color 3342489
quidu "45797D4C036D"
client @269
supplier @266
vertices (list Points
(914, 560)
(452, 560))
line_style 3
origin_attachment (914, 560)
terminal_attachment (452, 560))))
(object UsesView "" @275
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @276
Parent_View @275
location (1503, 359)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.174686
height 99
orientation 0)
line_color 3342489
quidu "45797FB8011E"
client @265
supplier @256
vertices (list Points
(1537, 458)
(1709, 310))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::C" @277
ShowCompartmentStereotypes TRUE
IncludeOperation TRUE
location (990, 988)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @277
location (909, 938)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "C")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974670064"
compartment (object Compartment
Parent_View @277
location (909, 999)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
icon_style "Icon"
fill_color 13434879
anchor 2
nlines 1
max_width 0
compartmentItems (list Compartment
"<<expose>> + CtoD : :b"))
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::testWithPolymorphicAssociations::D" @278
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1775, 1000)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @278
location (1694, 950)
fill_color 13434879
nlines 1
max_width 162
justify 0
label "D")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "457974680354"
height 124
annotation 8
autoResize TRUE)
(object UsesView "" @279
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @279
location (1765, 623)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @280
Parent_View @279
location (1659, 548)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.554529
height 165
orientation 0)
line_color 3342489
quidu "457974A5024E"
client @278
supplier @256
vertices (list Points
(1765, 937)
(1765, 309))
line_style 3
origin_attachment (1765, 937)
terminal_attachment (1765, 309))
(object AssociationViewNew "CtoD" @281
location (1382, 994)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @282
Parent_View @281
location (1382, 935)
font (object Font
size 10
face "Arial"
bold FALSE
italics TRUE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 450
justify 0
label "CtoD"
pctDist 0.500000
height 60
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C002F"
roleview_list (list RoleViews
(object RoleView "a" @283
Parent_View @281
location (-177, -16)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @284
Parent_View @283
location (1141, 953)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+a"
pctDist 0.800000
height 42
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4579746C0288"
client @281
supplier @277
vertices (list Points
(1382, 994)
(1080, 994))
line_style 3
origin_attachment (1382, 994)
terminal_attachment (1080, 994))
(object RoleView "b" @285
Parent_View @281
location (-177, -16)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @286
Parent_View @285
location (1624, 953)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 60
justify 0
label "+b"
pctDist 0.800000
height 42
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4579746C027E"
client @281
supplier @278
vertices (list Points
(1382, 994)
(1685, 994))
line_style 3
origin_attachment (1382, 994)
terminal_attachment (1685, 994))))
(object UsesView "" @287
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @287
location (978, 619)
anchor_loc 1
nlines 1
max_width 450
justify 0
label "")
stereotype (object SegLabel @288
Parent_View @287
location (872, 544)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<conformsTo>>"
pctDist 0.246120
height 168
orientation 0)
line_color 3342489
quidu "457974A3018C"
client @277
supplier @257
vertices (list Points
(978, 925)
(978, 313))
line_style 3
origin_attachment (978, 925)
terminal_attachment (978, 313))))))
(object Class_Category "configuration2"
quid "4856287A03B9"
exportControl "Public"
logical_models (list unit_reference_list
(object Class "SalesOrder"
quid "485628910261")
(object Class "NumberRangeImpl"
quid "485628AA01B5"
realized_interfaces (list realize_rel_list
(object Realize_Relationship
quid "485628CF030D"
supplier "Logical View::documentation::runtime::configuration2::NumberRange"
quidu "485628C302CE")))
(object Class "PurchaseOrder"
quid "485628B002EE")
(object Class "NumberRange"
quid "485628C302CE"
stereotype "Interface")
(object Class "PurchaseOrderNumberRanges"
quid "4856296E0203"
class_attributes (list class_attribute_list
(object ClassAttribute "nr1"
quid "485629A6037A"
initv "NumberRangeImpl(1, 100000, 1)"
exportControl "Public")
(object ClassAttribute "nr2"
quid "485629E40213"
initv "NumberRangeImpl(10000, 10000000, 10)"
exportControl "Public")))
(object Class "SalesOrderNumberRanges"
quid "48562AB10261"
class_attributes (list class_attribute_list
(object ClassAttribute "nr1"
quid "48562AC20222"
initv "NumberRangeImpl(5, 100000, 5)")
(object ClassAttribute "nr2"
quid "48562AD600AB"
initv "NumberRangeImpl(100000, 100000000, 100)")))
(object Association "$UNNAMED$29"
quid "4856291F01A5"
stereotype "configuration"
roles (list role_list
(object Role "numberRange"
quid "4856292000CB"
label "numberRange"
supplier "Logical View::documentation::runtime::configuration2::NumberRange"
quidu "485628C302CE"
is_navigable TRUE
static TRUE)
(object Role "$UNNAMED$30"
quid "4856292000CD"
supplier "Logical View::documentation::runtime::configuration2::SalesOrder"
quidu "485628910261"))
AssociationClass "Logical View::runtime::configuration2::SalesOrderNumberRanges")
(object Association "$UNNAMED$31"
quid "485629200251"
stereotype "configuration"
roles (list role_list
(object Role "numberRange"
quid "4856292100AB"
label "numberRange"
supplier "Logical View::documentation::runtime::configuration2::NumberRange"
quidu "485628C302CE"
is_navigable TRUE
static TRUE)
(object Role "$UNNAMED$32"
quid "4856292100AD"
supplier "Logical View::documentation::runtime::configuration2::PurchaseOrder"
quidu "485628B002EE"))
AssociationClass "Logical View::runtime::configuration2::PurchaseOrderNumberRanges"))
logical_presentations (list unit_reference_list
(object ClassDiagram "Configuration"
quid "4856288602AF"
title "Configuration"
zoom 100
max_height 28350
max_width 21600
origin_x 0
origin_y 0
items (list diagram_item_list
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::NumberRangeImpl" @289
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1362, 1371)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @289
location (1181, 1321)
fill_color 13434879
nlines 1
max_width 362
justify 0
label "NumberRangeImpl")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "485628AA01B5"
width 380
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::SalesOrder" @290
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (994, 530)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @290
location (879, 480)
fill_color 13434879
nlines 1
max_width 230
justify 0
label "SalesOrder")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "485628910261"
width 248
height 124
annotation 8
autoResize TRUE)
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::NumberRange" @291
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1361, 920)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @291
location (1360, 1028)
anchor_loc 1
nlines 2
max_width 228
justify 0
label "NumberRange")
icon "Interface"
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "485628C302CE"
width 58
height 58
annotation 8
autoResize TRUE)
(object RealizeView "" @292
stereotype TRUE
line_color 3342489
quidu "485628CF030D"
client @289
supplier @291
vertices (list Points
(1360, 1309)
(1360, 1076))
line_style 3
origin_attachment (1360, 1309)
terminal_attachment (1360, 1076))
(object AssociationViewNew "$UNNAMED$29" @293
location (1193, 742)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @294
Parent_View @293
location (1145, 683)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<configuration>>"
pctDist -0.300000
height 60
orientation 0)
line_color 3342489
quidu "4856291F01A5"
roleview_list (list RoleViews
(object RoleView "numberRange" @295
Parent_View @293
location (480, 224)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @296
Parent_View @295
location (1122, 876)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 297
justify 0
label "+$numberRange"
pctDist 0.231189
height 144
orientation 1)
stereotype TRUE
line_color 3342489
quidu "4856292000CB"
client @293
supplier @291
vertices (list Points
(1193, 742)
(1334, 892))
line_style 0)
(object RoleView "$UNNAMED$30" @297
Parent_View @293
location (480, 224)
stereotype TRUE
line_color 3342489
quidu "4856292000CD"
client @293
supplier @290
vertices (list Points
(1193, 742)
(1052, 592))
line_style 0)))
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::PurchaseOrder" @298
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (1742, 527)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @298
location (1590, 477)
fill_color 13434879
nlines 1
max_width 304
justify 0
label "PurchaseOrder")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "485628B002EE"
width 322
height 124
annotation 8
autoResize TRUE)
(object AssociationViewNew "$UNNAMED$31" @299
location (1532, 740)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
stereotype (object SegLabel @300
Parent_View @299
location (1602, 675)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 10
anchor_loc 1
nlines 1
max_width 450
justify 0
label "<<configuration>>"
pctDist 1.666667
height 66
orientation 0)
line_color 3342489
quidu "485629200251"
roleview_list (list RoleViews
(object RoleView "numberRange" @301
Parent_View @299
location (90, 212)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object SegLabel @302
Parent_View @301
location (1585, 882)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
anchor 1
anchor_loc 1
nlines 1
max_width 297
justify 0
label "+$numberRange"
pctDist 0.300676
height 137
orientation 0)
stereotype TRUE
line_color 3342489
quidu "4856292100AB"
client @299
supplier @291
vertices (list Points
(1532, 740)
(1384, 892))
line_style 0)
(object RoleView "$UNNAMED$32" @303
Parent_View @299
location (90, 212)
stereotype TRUE
line_color 3342489
quidu "4856292100AD"
client @299
supplier @298
vertices (list Points
(1532, 740)
(1680, 589))
line_style 0)))
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::PurchaseOrderNumberRanges" @304
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (2219, 989)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @304
location (1930, 939)
fill_color 13434879
nlines 1
max_width 578
justify 0
label "PurchaseOrderNumberRanges")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "4856296E0203"
width 596
height 124
autoResize TRUE)
(object AssocAttachView "" @305
stereotype TRUE
line_color 3342489
client @304
supplier @299
vertices (list Points
(2069, 926)
(1532, 740))
line_style 0)
(object NoteView @306
location (2496, 534)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @306
location (2146, 412)
fill_color 13434879
nlines 4
max_width 665
label "List of values conforming to the interface required by purchase order for its number range feature")
line_color 3342489
fill_color 13434879
width 725
height 256)
(object AttachView "" @307
stereotype TRUE
line_color 3342489
client @304
supplier @306
vertices (list Points
(2256, 926)
(2415, 662))
line_style 0)
(object ClassView "Class" "Logical View::documentation::runtime::configuration2::SalesOrderNumberRanges" @308
ShowCompartmentStereotypes TRUE
IncludeAttribute TRUE
IncludeOperation TRUE
location (584, 1023)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @308
location (327, 973)
fill_color 13434879
nlines 1
max_width 514
justify 0
label "SalesOrderNumberRanges")
icon_style "Icon"
line_color 3342489
fill_color 13434879
quidu "48562AB10261"
width 532
height 124
autoResize TRUE)
(object AssocAttachView "" @309
stereotype TRUE
line_color 3342489
client @308
supplier @293
vertices (list Points
(703, 961)
(1193, 742))
line_style 0)
(object NoteView @310
location (1103, 190)
font (object Font
size 10
face "Arial"
bold FALSE
italics FALSE
underline FALSE
strike FALSE
color 0
default_color TRUE)
label (object ItemLabel
Parent_View @310
location (134, 37)
fill_color 13434879
nlines 6
max_width 1903
label "It seems that being able to *construct* instances of classes is important in order to provide *values* for configurable entities. This opens the discussion of the extent of constructor modeling in classes. So far, we only have default constructors and signatures and associations that may have editable ends. With this, a shorthand notation could be found for creating the instance and initializing those features that can be initialized using its public API. However, this voids classes of the possibility to control how their instances are being initialized, e.g., in order to fulfill invariants put up for the class.")
line_color 3342489
fill_color 13434879
width 1963
height 319))))))
logical_presentations (list unit_reference_list))