lutaml-uml 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +36 -0
- data/.github/workflows/ubuntu.yml +38 -0
- data/.github/workflows/windows.yml +41 -0
- data/.gitignore +1 -0
- data/Gemfile +2 -1
- data/LUTAML.adoc +314 -0
- data/{README.md → README.adoc} +15 -16
- data/Rakefile +3 -1
- data/bin/console +1 -0
- data/bin/lutaml2dotpng +23 -0
- data/bin/yaml2lutaml +108 -0
- data/exe/lutaml-uml +4 -3
- data/lib/lutaml/layout/engine.rb +15 -0
- data/lib/lutaml/layout/graph_viz_engine.rb +16 -0
- data/lib/lutaml/uml.rb +3 -0
- data/lib/lutaml/uml/abstraction.rb +7 -5
- data/lib/lutaml/uml/activity.rb +7 -5
- data/lib/lutaml/uml/actor.rb +14 -12
- data/lib/lutaml/uml/association.rb +40 -14
- data/lib/lutaml/uml/behavior.rb +7 -5
- data/lib/lutaml/uml/class.rb +56 -16
- data/lib/lutaml/uml/classifier.rb +9 -6
- data/lib/lutaml/uml/connector.rb +16 -12
- data/lib/lutaml/uml/constraint.rb +8 -7
- data/lib/lutaml/uml/constructor_end.rb +11 -8
- data/lib/lutaml/uml/data_type.rb +9 -4
- data/lib/lutaml/uml/dependency.rb +16 -13
- data/lib/lutaml/uml/document.rb +71 -0
- data/lib/lutaml/uml/enum.rb +33 -0
- data/lib/lutaml/uml/event.rb +7 -5
- data/lib/lutaml/uml/final_state.rb +7 -5
- data/lib/lutaml/uml/formatter.rb +21 -0
- data/lib/lutaml/uml/formatter/base.rb +67 -0
- data/lib/lutaml/uml/formatter/graphviz.rb +335 -0
- data/lib/lutaml/uml/has_attributes.rb +14 -0
- data/lib/lutaml/uml/has_members.rb +30 -0
- data/lib/lutaml/uml/instance.rb +15 -10
- data/lib/lutaml/uml/interface/base.rb +28 -0
- data/lib/lutaml/uml/interface/command_line.rb +265 -0
- data/lib/lutaml/uml/model.rb +11 -8
- data/lib/lutaml/uml/node/base.rb +21 -0
- data/lib/lutaml/uml/node/class_node.rb +57 -0
- data/lib/lutaml/uml/node/class_relationship.rb +14 -0
- data/lib/lutaml/uml/node/document.rb +18 -0
- data/lib/lutaml/uml/node/field.rb +34 -0
- data/lib/lutaml/uml/node/has_name.rb +15 -0
- data/lib/lutaml/uml/node/has_type.rb +15 -0
- data/lib/lutaml/uml/node/method.rb +29 -0
- data/lib/lutaml/uml/node/method_argument.rb +16 -0
- data/lib/lutaml/uml/node/relationship.rb +28 -0
- data/lib/lutaml/uml/opaque_behavior.rb +7 -6
- data/lib/lutaml/uml/package.rb +16 -13
- data/lib/lutaml/uml/parsers/attribute.rb +70 -0
- data/lib/lutaml/uml/parsers/dsl.rb +375 -0
- data/lib/lutaml/uml/parsers/dsl_preprocessor.rb +44 -0
- data/lib/lutaml/uml/parsers/dsl_transform.rb +27 -0
- data/lib/lutaml/uml/parsers/yaml.rb +46 -0
- data/lib/lutaml/uml/port.rb +6 -4
- data/lib/lutaml/uml/primitive_type.rb +9 -4
- data/lib/lutaml/uml/property.rb +25 -15
- data/lib/lutaml/uml/pseudostate.rb +7 -6
- data/lib/lutaml/uml/realization.rb +7 -5
- data/lib/lutaml/uml/region.rb +7 -6
- data/lib/lutaml/uml/serializers/association.rb +58 -0
- data/lib/lutaml/uml/serializers/base.rb +16 -0
- data/lib/lutaml/uml/serializers/class.rb +29 -0
- data/lib/lutaml/uml/serializers/top_element_attribute.rb +14 -0
- data/lib/lutaml/uml/serializers/yaml_view.rb +18 -0
- data/lib/lutaml/uml/state.rb +8 -6
- data/lib/lutaml/uml/state_machine.rb +7 -5
- data/lib/lutaml/uml/top_element.rb +45 -35
- data/lib/lutaml/uml/top_element_attribute.rb +25 -0
- data/lib/lutaml/uml/transition.rb +8 -6
- data/lib/lutaml/uml/trigger.rb +8 -6
- data/lib/lutaml/uml/version.rb +3 -1
- data/lib/lutaml/uml/vertex.rb +7 -5
- data/lutaml-uml.gemspec +9 -2
- data/spec/fixtures/datamodel/models/AddressClassProfile.yml +90 -0
- data/spec/fixtures/datamodel/models/AddressComponentProfile.yml +63 -0
- data/spec/fixtures/datamodel/models/AddressComponentSpecification.yml +15 -0
- data/spec/fixtures/datamodel/models/AddressProfile.yml +36 -0
- data/spec/fixtures/datamodel/models/AttributeProfile.yml +32 -0
- data/spec/fixtures/datamodel/models/InterchangeAddressClassProfile.yml +79 -0
- data/spec/fixtures/datamodel/models/Localization copy.yml +23 -0
- data/spec/fixtures/datamodel/models/Localization.yml +23 -0
- data/spec/fixtures/datamodel/models/ProfileCompliantAddress.yml +36 -0
- data/spec/fixtures/datamodel/models/ProfileCompliantAddressComponent.yml +15 -0
- data/spec/fixtures/datamodel/models/Signature.yml +20 -0
- data/spec/fixtures/datamodel/models/SignatureBlankDefinition.yml +20 -0
- data/spec/fixtures/datamodel/models/TextDirectionCode copy.yml +16 -0
- data/spec/fixtures/datamodel/models/TextDirectionCode.yml +16 -0
- data/spec/fixtures/datamodel/models/Validity.yml +14 -0
- data/spec/fixtures/datamodel/models/iso19160-1/Address.yml +22 -0
- data/spec/fixtures/datamodel/models/iso19160-1/AddressComponent.yml +2 -0
- data/spec/fixtures/datamodel/style.uml.inc +37 -0
- data/spec/fixtures/datamodel/views/AddressClassProfile.yml +12 -0
- data/spec/fixtures/datamodel/views/AddressProfile.yml +3 -0
- data/spec/fixtures/datamodel/views/CommonModels.yml +9 -0
- data/spec/fixtures/datamodel/views/TopDown.yml +62 -0
- data/spec/fixtures/dsl/diagram.lutaml +3 -0
- data/spec/fixtures/dsl/diagram_attributes.lutaml +5 -0
- data/spec/fixtures/dsl/diagram_class_assocation.lutaml +29 -0
- data/spec/fixtures/dsl/diagram_class_fields.lutaml +19 -0
- data/spec/fixtures/dsl/diagram_comments.lutaml +28 -0
- data/spec/fixtures/dsl/diagram_concept_model.lutaml +132 -0
- data/spec/fixtures/dsl/diagram_data_types.lutaml +24 -0
- data/spec/fixtures/dsl/diagram_includes.lutaml +6 -0
- data/spec/fixtures/dsl/diagram_multiply_classes.lutaml +7 -0
- data/spec/fixtures/dsl/shared.lutaml +3 -0
- data/spec/fixtures/dsl/shared1.lutaml +4 -0
- data/spec/fixtures/generated_dot/AddressClassProfile.dot +170 -0
- data/spec/fixtures/generated_dot/AddressProfile.dot +34 -0
- data/spec/lutaml/uml/formatter/graphviz_spec.rb +41 -0
- data/spec/lutaml/uml/parsers/dsl_spec.rb +252 -0
- data/spec/lutaml/uml/parsers/yaml_spec.rb +18 -0
- data/spec/lutaml/uml/serializers/yaml_view_spec.rb +20 -0
- data/spec/lutaml/uml_spec.rb +2 -4
- data/spec/spec_helper.rb +11 -0
- metadata +161 -13
@@ -0,0 +1,23 @@
|
|
1
|
+
name: Localization
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
The language and script used within the parent object.
|
5
|
+
|
6
|
+
Represented by the `PT_Locale` object defined in <<ISO19115-1>> and an
|
7
|
+
<<ISO15924>> script code.
|
8
|
+
attributes:
|
9
|
+
locale:
|
10
|
+
definition: The locale of the parent object.
|
11
|
+
type: iso19115PT_Locale
|
12
|
+
script:
|
13
|
+
definition: The type of written script used in the parent object.
|
14
|
+
type: iso15924Code
|
15
|
+
textDirection:
|
16
|
+
definition: Indicating in which direction the text of the parent should be read.
|
17
|
+
type: TextDirectionCode
|
18
|
+
relations:
|
19
|
+
- target: Validity
|
20
|
+
relationship:
|
21
|
+
target:
|
22
|
+
type: direct
|
23
|
+
direction: "[hidden]"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: ProfileCompliantAddress
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
ProfileCompliantAddress extends from the `Address` model defined in
|
5
|
+
<<ISO19160-1>> to represent an `Address` complying with an
|
6
|
+
`AddressClassProfile`.
|
7
|
+
|
8
|
+
A `ProfileCompliantAddress` MUST conform to the constraints and
|
9
|
+
requirements specified in `AddressClassProfile`, and its associated
|
10
|
+
profiles and specifications.
|
11
|
+
relations:
|
12
|
+
- target: Address
|
13
|
+
relationship:
|
14
|
+
target:
|
15
|
+
type: inheritance
|
16
|
+
|
17
|
+
- target: ProfileCompliantAddressComponent
|
18
|
+
relationship:
|
19
|
+
source:
|
20
|
+
type: aggregation
|
21
|
+
attributes:
|
22
|
+
address:
|
23
|
+
cardinality:
|
24
|
+
min: 1
|
25
|
+
max: "*"
|
26
|
+
target:
|
27
|
+
type: direct
|
28
|
+
attributes:
|
29
|
+
addressComponent:
|
30
|
+
cardinality:
|
31
|
+
min: 1
|
32
|
+
max: "*"
|
33
|
+
association: AddressComponentSpecification
|
34
|
+
action:
|
35
|
+
verb: comprises
|
36
|
+
direction: target
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: ProfileCompliantAddressComponent
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
ProfileCompliantAddressComponent extends from the AddressComponent model
|
5
|
+
defined in <<ISO19160-1>> to represent an Address complying with an
|
6
|
+
AddressClassProfile.
|
7
|
+
|
8
|
+
A ProfileCompliantAddressComponent MUST conform to the constraints and
|
9
|
+
requirements specified in AddressComponentProfile, and its associated
|
10
|
+
profiles and specifications.
|
11
|
+
relations:
|
12
|
+
- target: AddressComponent
|
13
|
+
relationship:
|
14
|
+
target:
|
15
|
+
type: inheritance
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Signature
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
A cryptographic signature used to determine data integrity and validity of the object it belongs to.
|
5
|
+
attributes:
|
6
|
+
algorithm:
|
7
|
+
definition: The public key cryptographic algorithm used for this digital signature.
|
8
|
+
type: iso14888Oid
|
9
|
+
publicKey:
|
10
|
+
definition: A reference to the actual public key used to verify the digital signature, a URI where the public key of the signer used for this signature is found.
|
11
|
+
type: Uri
|
12
|
+
signature:
|
13
|
+
definition: The actual digital signature value encoded in Base64 format.
|
14
|
+
type: CharacterString
|
15
|
+
relations:
|
16
|
+
- target: Localization
|
17
|
+
relationship:
|
18
|
+
target:
|
19
|
+
type: direct
|
20
|
+
direction: "[hidden]"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Signature
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
A cryptographic signature used to determine data integrity and validity of the object it belongs to.
|
5
|
+
attributes:
|
6
|
+
algorithm:
|
7
|
+
definition:
|
8
|
+
type: iso14888Oid
|
9
|
+
publicKey:
|
10
|
+
definition:
|
11
|
+
type: Uri
|
12
|
+
signature:
|
13
|
+
definition: The actual digital signature value encoded in Base64 format.
|
14
|
+
type: CharacterString
|
15
|
+
relations:
|
16
|
+
- target: Localization
|
17
|
+
relationship:
|
18
|
+
target:
|
19
|
+
type: direct
|
20
|
+
direction: "[hidden]"
|
@@ -0,0 +1,16 @@
|
|
1
|
+
name: TextDirectionCode
|
2
|
+
modelType: enum
|
3
|
+
definition: |
|
4
|
+
An enumeration value of TextDirectionCode represents the reading
|
5
|
+
direction of textual data whether it is from left to right or right to
|
6
|
+
left, and from top to bottom or bottom to top.
|
7
|
+
type: enumeration
|
8
|
+
values:
|
9
|
+
leftToRightTopToBottom:
|
10
|
+
definition: Indicating that text should be read left to right, and top to bottom.
|
11
|
+
rightToLeftTopToBottom:
|
12
|
+
definition: Indicating that text should be read right to left, and top to bottom.
|
13
|
+
leftToRightBottomToTop:
|
14
|
+
definition: Indicating that text should be read left to right, and bottom to top.
|
15
|
+
rightToLeftBottomToTop:
|
16
|
+
definition: Indicating that text should be read right to left, and bottom to top.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
name: TextDirectionCode
|
2
|
+
modelType: enum
|
3
|
+
definition: |
|
4
|
+
An enumeration value of TextDirectionCode represents the reading
|
5
|
+
direction of textual data whether it is from left to right or right to
|
6
|
+
left, and from top to bottom or bottom to top.
|
7
|
+
type: enumeration
|
8
|
+
values:
|
9
|
+
leftToRightTopToBottom:
|
10
|
+
definition: Indicating that text should be read left to right, and top to bottom.
|
11
|
+
rightToLeftTopToBottom:
|
12
|
+
definition: Indicating that text should be read right to left, and top to bottom.
|
13
|
+
leftToRightBottomToTop:
|
14
|
+
definition: Indicating that text should be read left to right, and bottom to top.
|
15
|
+
rightToLeftBottomToTop:
|
16
|
+
definition: Indicating that text should be read right to left, and bottom to top.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
name: Validity
|
2
|
+
modelType: class
|
3
|
+
definition: |
|
4
|
+
The time interval where this interchange address profile is determined valid, and the revision number (represented as a date).
|
5
|
+
attributes:
|
6
|
+
validityBegins:
|
7
|
+
definition: The date and time when this object becomes valid.
|
8
|
+
type: iso19115CI_Date
|
9
|
+
validityEnds:
|
10
|
+
definition: The date and time when this object becomes invalid.
|
11
|
+
type: iso19115CI_Date
|
12
|
+
revision:
|
13
|
+
definition: Issuance date/time of this object.
|
14
|
+
type: iso19115CI_Date
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: Address
|
2
|
+
modelType: class
|
3
|
+
relations:
|
4
|
+
- target: AddressComponent
|
5
|
+
relationship:
|
6
|
+
source:
|
7
|
+
type: aggregation
|
8
|
+
attributes:
|
9
|
+
address:
|
10
|
+
cardinality:
|
11
|
+
min: 1
|
12
|
+
max: "*"
|
13
|
+
target:
|
14
|
+
type: direct
|
15
|
+
attributes:
|
16
|
+
addressComponent:
|
17
|
+
cardinality:
|
18
|
+
min: 1
|
19
|
+
max: "*"
|
20
|
+
action:
|
21
|
+
verb: comprises
|
22
|
+
direction: target
|
@@ -0,0 +1,37 @@
|
|
1
|
+
skinparam Dpi 150
|
2
|
+
skinparam Monochrome false
|
3
|
+
hide circle
|
4
|
+
/' skinparam CircledCharacterRadius 0 '/
|
5
|
+
/' skinparam CircledCharacterFontSize 0 '/
|
6
|
+
skinparam Default {
|
7
|
+
TextAlignment center
|
8
|
+
FontName Helvetica
|
9
|
+
}
|
10
|
+
skinparam Class {
|
11
|
+
AttributeIconSize 0
|
12
|
+
BackgroundColor White
|
13
|
+
ArrowColor Black
|
14
|
+
BorderColor Black
|
15
|
+
FontStyle bold
|
16
|
+
StereotypeFontSize 10
|
17
|
+
}
|
18
|
+
skinparam Rectangle {
|
19
|
+
BackgroundColor White
|
20
|
+
ArrowColor Black
|
21
|
+
BorderColor Black
|
22
|
+
FontStyle bold
|
23
|
+
FontSize 11
|
24
|
+
StereotypeFontSize 10
|
25
|
+
}
|
26
|
+
skinparam Object {
|
27
|
+
BackgroundColor White
|
28
|
+
ArrowColor Black
|
29
|
+
BorderColor Black
|
30
|
+
FontStyle bold
|
31
|
+
FontSize 11
|
32
|
+
StereotypeFontSize 10
|
33
|
+
}
|
34
|
+
|
35
|
+
skinparam Entity {
|
36
|
+
StereotypeFontSize 10
|
37
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
name: AddressClassProfile
|
2
|
+
imports:
|
3
|
+
AddressProfile:
|
4
|
+
AddressClassProfile:
|
5
|
+
AddressClassProfile:
|
6
|
+
AddressComponentProfile:
|
7
|
+
AttributeProfile:
|
8
|
+
ProfileCompliantAddress:
|
9
|
+
InterchangeAddressClassProfile:
|
10
|
+
fidelity:
|
11
|
+
hideMembers: true
|
12
|
+
hideOtherClasses: true
|
@@ -0,0 +1,62 @@
|
|
1
|
+
name: TopDown
|
2
|
+
title: Address profile model overview
|
3
|
+
caption: Address profile model overview in UML
|
4
|
+
imports:
|
5
|
+
iso19160-1/Address:
|
6
|
+
iso19160-1/AddressComponent:
|
7
|
+
ProfileCompliantAddress:
|
8
|
+
ProfileCompliantAddressComponent:
|
9
|
+
AddressProfile:
|
10
|
+
AddressClassProfile:
|
11
|
+
InterchangeAddressClassProfile:
|
12
|
+
AddressComponentProfile:
|
13
|
+
AddressComponentSpecification:
|
14
|
+
AttributeProfile:
|
15
|
+
groups:
|
16
|
+
- - AddressProfile
|
17
|
+
- - InterchangeAddressClassProfile
|
18
|
+
- AddressClassProfile
|
19
|
+
- AddressComponentProfile
|
20
|
+
- - AddressComponentSpecification
|
21
|
+
- - ProfileCompliantAddress
|
22
|
+
- ProfileCompliantAddressComponent
|
23
|
+
- - Address
|
24
|
+
- AddressComponent
|
25
|
+
relations:
|
26
|
+
- source: InterchangeAddressClassProfile
|
27
|
+
target: AddressClassProfile
|
28
|
+
direction: '[hidden]right'
|
29
|
+
- source: AddressClassProfile
|
30
|
+
target: AddressComponentProfile
|
31
|
+
direction: '[hidden]right'
|
32
|
+
|
33
|
+
- source: ProfileCompliantAddress
|
34
|
+
target: ProfileCompliantAddressComponent
|
35
|
+
direction: '[hidden]right'
|
36
|
+
|
37
|
+
- source: Address
|
38
|
+
target: AddressComponent
|
39
|
+
direction: '[hidden]right'
|
40
|
+
|
41
|
+
- source: AddressProfile
|
42
|
+
target: AddressClassProfile
|
43
|
+
direction: '[hidden]down'
|
44
|
+
- source: AddressClassProfile
|
45
|
+
target: ProfileCompliantAddress
|
46
|
+
direction: '[hidden]down'
|
47
|
+
- source: AddressComponentProfile
|
48
|
+
target: AddressComponentSpecification
|
49
|
+
direction: '[hidden]down'
|
50
|
+
- source: AddressComponentSpecification
|
51
|
+
target: ProfileCompliantAddressComponent
|
52
|
+
direction: '[hidden]down'
|
53
|
+
- source: ProfileCompliantAddress
|
54
|
+
target: Address
|
55
|
+
direction: '[hidden]down'
|
56
|
+
- source: ProfileCompliantAddressComponent
|
57
|
+
target: AddressComponent
|
58
|
+
direction: '[hidden]down'
|
59
|
+
|
60
|
+
fidelity:
|
61
|
+
hideMembers: true
|
62
|
+
hideOtherClasses: true
|
@@ -0,0 +1,29 @@
|
|
1
|
+
diagram MyView {
|
2
|
+
title "my diagram"
|
3
|
+
|
4
|
+
class AddressClassProfile {
|
5
|
+
addressClassProfile
|
6
|
+
}
|
7
|
+
class AttributeProfile {
|
8
|
+
attributeProfile
|
9
|
+
}
|
10
|
+
|
11
|
+
association BidirectionalAsscoiation {
|
12
|
+
owner_type aggregation
|
13
|
+
member_type direct
|
14
|
+
owner AddressClassProfile#addressClassProfile
|
15
|
+
member AttributeProfile#attributeProfile [0..*]
|
16
|
+
}
|
17
|
+
|
18
|
+
association DirectAsscoiation {
|
19
|
+
member_type direct
|
20
|
+
owner AddressClassProfile
|
21
|
+
member AttributeProfile#attributeProfile
|
22
|
+
}
|
23
|
+
|
24
|
+
association ReverseAsscoiation {
|
25
|
+
owner_type aggregation
|
26
|
+
owner AddressClassProfile#addressClassProfile
|
27
|
+
member AttributeProfile
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
diagram MyView {
|
2
|
+
title "my diagram"
|
3
|
+
|
4
|
+
class Component {}
|
5
|
+
|
6
|
+
class AddressClassProfile {
|
7
|
+
+addressClassProfile: CharacterString [0..1]
|
8
|
+
}
|
9
|
+
|
10
|
+
class AttributeProfile {
|
11
|
+
imlicistAttributeProfile: CharacterString [0..1]
|
12
|
+
+attributeProfile: <<BasicDocument>> LocalizedString [0..1]
|
13
|
+
+attributeProfile1: <<BasicDocument>> 'LocalizedString'
|
14
|
+
-privateAttributeProfile: CharacterString [1]
|
15
|
+
~friendlyAttributeProfile: <<Type>> "CharacterString" [1..*]
|
16
|
+
~friendlyAttributeProfile1: <<Type>> "CharacterString"
|
17
|
+
#protectedAttributeProfile: CharacterString
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
diagram MyView {
|
2
|
+
title "my diagram"
|
3
|
+
|
4
|
+
** My comment
|
5
|
+
|
6
|
+
class Component {}
|
7
|
+
|
8
|
+
*|
|
9
|
+
this is multiline
|
10
|
+
comment with {} special
|
11
|
+
chars/
|
12
|
+
|
13
|
+
+-|/
|
14
|
+
|*
|
15
|
+
class AddressClassProfile {
|
16
|
+
// TODO: write attributes
|
17
|
+
+addressClassProfile: CharacterString [0..1]
|
18
|
+
}
|
19
|
+
|
20
|
+
// TODO: description
|
21
|
+
class AttributeProfile {
|
22
|
+
** this is attribute comment
|
23
|
+
imlicistAttributeProfile: CharacterString [0..1]
|
24
|
+
*| this is another comment line
|
25
|
+
with multiply lines
|
26
|
+
|*
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
diagram Designations {
|
2
|
+
title 'Designation models'
|
3
|
+
association {
|
4
|
+
owner NormativeStatus
|
5
|
+
member_type direct
|
6
|
+
member Designation
|
7
|
+
}
|
8
|
+
association {
|
9
|
+
owner PrefixDesignation
|
10
|
+
member_type inheritance
|
11
|
+
member ExpressionDesignation
|
12
|
+
}
|
13
|
+
association {
|
14
|
+
owner SuffixDesignation
|
15
|
+
member_type inheritance
|
16
|
+
member ExpressionDesignation
|
17
|
+
}
|
18
|
+
association {
|
19
|
+
owner AbbreviationDesignation
|
20
|
+
member_type inheritance
|
21
|
+
member ExpressionDesignation
|
22
|
+
}
|
23
|
+
association {
|
24
|
+
owner GrammarInfo
|
25
|
+
member_type direct
|
26
|
+
member ExpressionDesignation
|
27
|
+
}
|
28
|
+
association {
|
29
|
+
owner AbbreviationType
|
30
|
+
member_type direct
|
31
|
+
member AbbreviationDesignation
|
32
|
+
}
|
33
|
+
association {
|
34
|
+
owner GrammarGender
|
35
|
+
member_type direct
|
36
|
+
member GrammarInfo
|
37
|
+
}
|
38
|
+
association {
|
39
|
+
owner GlossaristTextElementType
|
40
|
+
member_type inheritance
|
41
|
+
member TextElementType
|
42
|
+
}
|
43
|
+
association {
|
44
|
+
owner GlossaristTextElementType
|
45
|
+
member_type direct
|
46
|
+
member ExpressionDesignation
|
47
|
+
}
|
48
|
+
association {
|
49
|
+
owner TextElement
|
50
|
+
member_type inheritance
|
51
|
+
member GlossaristTextElement
|
52
|
+
}
|
53
|
+
association {
|
54
|
+
owner EmptySlot
|
55
|
+
member_type inheritance
|
56
|
+
member GlossaristTextElement
|
57
|
+
}
|
58
|
+
association {
|
59
|
+
owner GlossaristTextElement
|
60
|
+
member_type direct
|
61
|
+
member GlossaristTextElementType
|
62
|
+
}
|
63
|
+
class Designation {
|
64
|
+
+normativeStatus: 'NormativeStatus'
|
65
|
+
+absent: 'Boolean' [0..1]
|
66
|
+
+geographicArea: 'Iso3166Code' [0..*]
|
67
|
+
+sources: 'ConceptSource' [0..*]
|
68
|
+
}
|
69
|
+
enum NormativeStatus {
|
70
|
+
}
|
71
|
+
class ExpressionDesignation {
|
72
|
+
+text: 'GlossaristTextElementType'
|
73
|
+
+language: 'Iso639ThreeCharCode'
|
74
|
+
+script: 'Iso15924Code' [0..1]
|
75
|
+
+pronunciation: <<BasicDocument>> 'LocalizedString' [0..*]
|
76
|
+
+grammarInfo: 'GrammarInfo' [0..*]
|
77
|
+
}
|
78
|
+
association {
|
79
|
+
owner ExpressionDesignation
|
80
|
+
member_type inheritance
|
81
|
+
member Designation
|
82
|
+
}
|
83
|
+
class GrammarInfo {
|
84
|
+
+gender: 'GrammarGender' [0..*]
|
85
|
+
+isPreposition: 'Boolean' [0..1]
|
86
|
+
+isParticiple: 'Boolean' [0..1]
|
87
|
+
+isAdjective: 'Boolean' [0..1]
|
88
|
+
+isVerb: 'Boolean' [0..1]
|
89
|
+
+isAdverb: 'Boolean' [0..1]
|
90
|
+
+isNoun: 'Boolean' [0..1]
|
91
|
+
}
|
92
|
+
class SymbolDesignation {
|
93
|
+
+isInternational: 'Boolean'
|
94
|
+
}
|
95
|
+
association {
|
96
|
+
owner SymbolDesignation
|
97
|
+
member_type inheritance
|
98
|
+
member Designation
|
99
|
+
}
|
100
|
+
class PrefixDesignation {
|
101
|
+
}
|
102
|
+
class SuffixDesignation {
|
103
|
+
}
|
104
|
+
class AbbreviationDesignation {
|
105
|
+
+isInternational: 'Boolean'
|
106
|
+
+abbreviationType: 'AbbreviationType' [0..1]
|
107
|
+
}
|
108
|
+
enum AbbreviationType {
|
109
|
+
}
|
110
|
+
class LetterSymbolDesignation {
|
111
|
+
+text: <<BasicDocument>> 'LocalizedString'
|
112
|
+
+language: 'Iso639ThreeCharCode'
|
113
|
+
+script: 'Iso15924Code' [0..1]
|
114
|
+
}
|
115
|
+
association {
|
116
|
+
owner LetterSymbolDesignation
|
117
|
+
member_type inheritance
|
118
|
+
member SymbolDesignation
|
119
|
+
}
|
120
|
+
class GraphicalSymbolDesignation {
|
121
|
+
+text: <<BasicDocument>> 'LocalizedString' [0..1]
|
122
|
+
+image: 'Image' [0..1]
|
123
|
+
+isInternational: 'Boolean'
|
124
|
+
}
|
125
|
+
association {
|
126
|
+
owner GraphicalSymbolDesignation
|
127
|
+
member_type inheritance
|
128
|
+
member SymbolDesignation
|
129
|
+
}
|
130
|
+
enum GrammarGender {
|
131
|
+
}
|
132
|
+
}
|