summaryrefslogtreecommitdiffstats
path: root/scripts/normative-xmi/Duse.xmi
blob: 9abe36fd8d461d40aa32a7788ddfc389cebd3f1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
<?xml version="1.0"?>
<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701">
  <uml:Package xmi:type="uml:Package" xmi:id="Duse" name="Duse" URI="http://liveblue.wordpress.com/Duse">
    <packageImport xmi:type="uml:PackageImport" xmi:id="PackageImport.0">
      <importedPackage href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#_0"/>
    </packageImport>
    <elementImport xmi:type="uml:ElementImport" xmi:id="ElementImport.0">
      <importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#Property"/>
    </elementImport>
    <elementImport xmi:type="uml:ElementImport" xmi:id="ElementImport.1">
      <importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
    </elementImport>
    <elementImport xmi:type="uml:ElementImport" xmi:id="ElementImport.2">
      <importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#Element"/>
    </elementImport>
    <elementImport xmi:type="uml:ElementImport" xmi:id="ElementImport.3">
      <importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#ElementImport"/>
    </elementImport>
    <elementImport xmi:type="uml:ElementImport" xmi:id="ElementImport.4">
      <importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#PackageImport"/>
    </elementImport>
    <packagedElement xmi:type="uml:Association" name="A_designSpace_designDimension" xmi:id="A_designSpace_designDimension">
      <memberEnd xmi:idref="DesignSpace-designDimension"/>
      <memberEnd xmi:idref="A_designSpace_designDimension-designSpace"/>
      <ownedEnd xmi:type="uml:Property" name="designSpace" visibility="public" xmi:id="A_designSpace_designDimension-designSpace">
        <type xmi:idref="DesignSpace"/>
        <association xmi:idref="A_designSpace_designDimension"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" name="A_designDimension_previousEvaluation" xmi:id="A_designDimension_previousEvaluation">
      <memberEnd xmi:idref="DesignDimension-requiredPreviousEvaluation"/>
      <memberEnd xmi:idref="A_designDimension_previousEvaluation-requiringDesignDimension"/>
      <ownedEnd xmi:type="uml:Property" name="designSpace" visibility="public" xmi:id="A_designDimension_previousEvaluation-requiringDesignDimension">
        <type xmi:idref="DesignDimension"/>
        <association xmi:idref="A_designDimension_previousEvaluation"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" name="A_designDimension_variationPoint" xmi:id="A_designDimension_variationPoint">
      <memberEnd xmi:idref="DesignDimension-variationPoint"/>
      <memberEnd xmi:idref="A_designDimension_variationPoint-designDimension"/>
      <ownedEnd xmi:type="uml:Property" name="designDimension" visibility="public" xmi:id="A_designDimension_variationPoint-designDimension">
        <type xmi:idref="DesignDimension"/>
        <association xmi:idref="A_designDimension_variationPoint"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" name="A_designDimension_designDimensionInstance" xmi:id="A_designDimension_designDimensionInstance">
      <memberEnd xmi:idref="DesignDimension-designDimensionInstance"/>
      <memberEnd xmi:idref="A_designDimension_designDimensionInstance-designDimension"/>
      <ownedEnd xmi:type="uml:Property" name="designDimension" visibility="public" xmi:id="A_designDimension_designDimensionInstance-designDimension">
        <type xmi:idref="DesignDimension"/>
        <association xmi:idref="A_designDimension_designDimensionInstance"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Association" name="A_designSpace_qualityMetric" xmi:id="A_designSpace_qualityMetric">
      <memberEnd xmi:idref="DesignSpace-qualityMetric"/>
      <memberEnd xmi:idref="A_designSpace_qualityMetric-designSpace"/>
      <ownedEnd xmi:type="uml:Property" name="designDimension" visibility="public" xmi:id="A_designSpace_qualityMetric-designSpace">
        <type xmi:idref="DesignSpace"/>
        <association xmi:idref="A_designSpace_qualityMetric"/>
      </ownedEnd>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="DesignSpace" xmi:id="DesignSpace">
      <ownedAttribute xmi:type="uml:Property" name="elementImport" visibility="public" aggregation="composite" xmi:id="DesignSpace-elementImport">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-elementImport-_ownedComment.0" annotatedElement="DesignSpace-elementImport">
          <body>The elements imported by the design space.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#ElementImport"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignSpace-elementImport-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignSpace-elementImport-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="packageImport" visibility="public" aggregation="composite" xmi:id="DesignSpace-packageImport">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-packageImport-_ownedComment.0" annotatedElement="DesignSpace-packageImport">
          <body>The packages imported by the design space.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#PackageImport"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignSpace-packageImport-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignSpace-packageImport-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-_ownedComment.0" annotatedElement="DesignSpace">
        <body>A design space entails the design dimensions (degrees of freedom) and quality metrics for a particular application domain.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" name="name" visibility="public" xmi:id="DesignSpace-name">
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-name-_ownedComment.0" annotatedElement="DesignSpace-name">
        <body>The design space name.</body>
      </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="requiredProfile" visibility="public" xmi:id="DesignSpace-requiredProfile">
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-requiredProfile-_ownedComment.0" annotatedElement="DesignSpace-requiredProfile">
        <body>The profile required to be applied in models manipulated by the design space.</body>
      </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="designDimension" visibility="public" type="DesignDimension" aggregation="composite" isOrdered="true" xmi:id="DesignSpace-designDimension">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-designDimension-_ownedComment.0" annotatedElement="DesignSpace-designDimension">
          <body>The design dimensions (degrees of freedom) of the design space.</body>
        </ownedComment>
        <association xmi:idref="A_designSpace_designDimension"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignSpace-designDimension-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignSpace-designDimension-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="qualityMetric" visibility="public" type="QualityMetric" aggregation="composite" xmi:id="DesignSpace-qualityMetric">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignSpace-qualityMetric-_ownedComment.0" annotatedElement="DesignSpace-qualityMetric">
          <body>The quality metrics defined for the design space.</body>
        </ownedComment>
        <association xmi:idref="A_designSpace_qualityMetric"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignSpace-qualityMetric-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignSpace-qualityMetric-LiteralInteger.1"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="DesignDimension" xmi:id="DesignDimension">
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-_ownedComment.0" annotatedElement="DesignDimension">
        <body>A design dimension captures a specific degree of freedom when designing architectures in the given application domain. A design dimension entails a set of variation points which denote alternative solutions for such degree of freedom. Optionally, a variation point may define validation rules which should return a true value if that variation point is to be considered valid for the corresponding input model. A variation point may also specify a set of other variation points which should be previously evaluated, defining a sort of design dimension dependency.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="name" xmi:id="DesignDimension-name">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-name-_ownedComment.0" annotatedElement="DesignDimension-name">
          <body>The design dimension's name.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="instanceSelectionRule" aggregation="composite" xmi:id="DesignDimension-instanceSelectionRule">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-instanceSelectionRule-_ownedComment.0" annotatedElement="DesignDimension-instanceSelectionRule">
          <body>The rule for detecting a specific locus of architectural decision related to this design dimension. Such rule relies on the accompanying UML profile for the specific application domain, in order to identify the decision loci.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="requiredPreviousEvaluation" visibility="public" type="DesignDimension" xmi:id="DesignDimension-requiredPreviousEvaluation">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-requiredPreviousEvaluation-_ownedComment.0" annotatedElement="DesignDimension-requiredPreviousEvaluation">
          <body>The design dimensions that must be previously evaluated before this design dimension. Such dependency may be required in order to tackle dependent design dimensions and identify invalid design space locations.</body>
        </ownedComment>
        <association xmi:idref="A_designDimension_previousEvaluation"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignDimension-requiredPreviousEvaluation-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignDimension-requiredPreviousEvaluation-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="variationPoint" visibility="public" type="VariationPoint" aggregation="composite" isOrdered="true" xmi:id="DesignDimension-variationPoint">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-variationPoint-_ownedComment.0" annotatedElement="DesignDimension-variationPoint">
          <body>The design dimension's variation points (alternative solutions for the design dimension's concern).</body>
        </ownedComment>
        <association xmi:idref="A_designDimension_variationPoint"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignDimension-variationPoint-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignDimension-variationPoint-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" name="designDimensionInstance" visibility="public" type="DesignDimensionInstance" aggregation="composite" xmi:id="DesignDimension-designDimensionInstance">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-designDimensionInstance-_ownedComment.0" annotatedElement="DesignDimension-designDimensionInstance">
          <body>A specific design dimension instance created for a identified locus of architectural decision.</body>
        </ownedComment>
        <association xmi:idref="A_designDimension_designDimensionInstance"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="DesignDimension-designDimensionInstance-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="DesignDimension-designDimensionInstance-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="enabled" xmi:id="DesignDimension-enabled">
        <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimension-enabled-_ownedComment.0" annotatedElement="DesignDimension-enabled">
          <body>Returns true if the design dimension should be considered in automated architecture design, otherwise returns false.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#Boolean"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="VariationPoint" xmi:id="VariationPoint">
      <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-_ownedComment.0" annotatedElement="VariationPoint">
        <body>A variation point represents a specific solution for a given design dimension. A variation point entails validation rules which check for valid combinations of variation points and a script which defines the architectural changes to be enacted from such solution.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="name" xmi:id="VariationPoint-name">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-name-_ownedComment.0" annotatedElement="VariationPoint-name">
          <body>The variation point's name.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="rationale" xmi:id="VariationPoint-rationale">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-rationale-_ownedComment.0" annotatedElement="VariationPoint-rationale">
          <body>The variation point's rationale.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="preChangeValidationRule" aggregation="composite" xmi:id="VariationPoint-preChangeValidationRule">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-preChangeValidationRule-_ownedComment.0" annotatedElement="VariationPoint-preChangeValidationRule">
          <body>A set of rules which should be evaluated as true if design space locations containing such variation point are to be considered as valid ones.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="modelChange" isOrdered="true" type="ModelChange" aggregation="composite" xmi:id="VariationPoint-modelChange">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-modelChange-_ownedComment.0" annotatedElement="VariationPoint-modelChange">
          <body>The architectural changes to be enacted as contributions arosen from this variation point. The complete set of architectural changes is the merge of architectural contributions from all involved variation points.</body>
        </ownedComment>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="VariationPoint-modelChange-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="VariationPoint-modelChange-LiteralInteger.1"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="addedElement" isOrdered="true" xmi:id="VariationPoint-addedElement">
        <ownedComment xmi:type="uml:Comment" xmi:id="VariationPoint-addedElement-_ownedComment.0" annotatedElement="VariationPoint-addedElement">
          <body>The architectural elements to be added as part of architecture redesign contribution arising from this variation point. The complete set of added architectural elements is the merge of architectural contributions from all involved variation points.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Element"/>
        <upperValue xmi:type="uml:LiteralUnlimitedNatural" value="*" xmi:id="VariationPoint-addedElements-LiteralUnlimitedNatural.1"/>
        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="VariationPoint-addedElements-LiteralInteger.1"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="DesignDimensionInstance" xmi:id="DesignDimensionInstance">
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimensionInstance-_ownedComment.0" annotatedElement="DesignDimensionInstance">
        <body>A specific design dimenstion instance created to tackle a particular locus of architectural decision in the input model.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="targetInstance" xmi:id="DesignDimensionInstance-targetInstance">
      <ownedComment xmi:type="uml:Comment" xmi:id="DesignDimensionInstance-targetInstance-_ownedComment.0" annotatedElement="DesignDimensionInstance-targetInstance">
        <body>The model element which is the target of architectural changes defined in this design dimension instance.</body>
      </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Element"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="ModelChange" xmi:id="ModelChange">
      <ownedComment xmi:type="uml:Comment" xmi:id="ModelChange-_ownedComment.0" annotatedElement="ModelChange">
        <body>The changes to be enacted in the design dimension instance's target element.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="targetSelectionRule" aggregation="composite" xmi:id="ModelChange-targetSelectionRule">
        <ownedComment xmi:type="uml:Comment" xmi:id="ModelChange-targetSelectionRule-_ownedComment.0" annotatedElement="ModelChange-targetSelectionRule">
          <body>A rule to select the element which is the target of this particular change.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="valueSelectionRule" aggregation="composite" xmi:id="ModelChange-valueSelectionRule">
        <ownedComment xmi:type="uml:Comment" xmi:id="ModelChange-valueSelectionRule-_ownedComment.0" annotatedElement="ModelChange-valueSelectionRule">
          <body>A rule to find out the new value of this target's property.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="targetProperty" xmi:id="ModelChange-targetProperty">
        <ownedComment xmi:type="uml:Comment" xmi:id="ModelChange-targetProperty-_ownedComment.0" annotatedElement="ModelChange-targetProperty">
          <body>The metamodel's property which will be modified in this change.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Property"/>
      </ownedAttribute>
    </packagedElement>
    <packagedElement xmi:type="uml:Class" name="QualityMetric" xmi:id="QualityMetric">
      <ownedComment xmi:type="uml:Comment" xmi:id="QualityMetric-_ownedComment.0" annotatedElement="QualityMetric">
        <body>A quality metric defined for the corresponding design space.</body>
      </ownedComment>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="name" xmi:id="QualityMetric-name">
        <ownedComment xmi:type="uml:Comment" xmi:id="QualityMetric-name-_ownedComment.0" annotatedElement="QualityMetric-name">
          <body>The quality metric's name.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#String"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="value" xmi:id="QualityMetric-value">
        <ownedComment xmi:type="uml:Comment" xmi:id="QualityMetric-value-_ownedComment.0" annotatedElement="QualityMetric-value">
          <body>The quality metric's value.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/PrimitiveTypes.xmi#Real"/>
      </ownedAttribute>
      <ownedAttribute xmi:type="uml:Property" visibility="public" name="expression" aggregation="composite" xmi:id="QualityMetric-expression">
        <ownedComment xmi:type="uml:Comment" xmi:id="QualityMetric-expression-_ownedComment.0" annotatedElement="QualityMetric-expression">
          <body>The quality metric's evaluation expression.</body>
        </ownedComment>
        <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#OpaqueExpression"/>
      </ownedAttribute>
    </packagedElement>
  </uml:Package>
</xmi:XMI>