-
Notifications
You must be signed in to change notification settings - Fork 85
/
plugin.xml
432 lines (427 loc) · 26.8 KB
/
plugin.xml
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
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
Copyright (c) 2006, 2022 THALES GLOBAL SERVICES.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0
SPDX-License-Identifier: EPL-2.0
Contributors:
Thales - initial API and implementation
-->
<plugin>
<extension point="org.eclipse.emf.validation.constraintProviders">
<constraintProvider>
<package namespaceUri="http://www.polarsys.org/capella/core/interaction/7.0.0">
</package>
<constraints categories="capella.category/design/well-formedness/scenarios">
<constraint class="org.polarsys.capella.core.data.interaction.validation.interactionUse.MDCHK_InteractionUse_ReferencedScenario_1" id="DWF_DS_01" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_01 - InteractionUse referenced scenario check" severity="WARNING" statusCode="1">
<message>
{0} (InteractionUse) do not reference any scenario.
</message>
<description>
This rule checks that an Interaction uses correctly references of a scenario.
</description>
<target class="InteractionUse">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.instanceRole.MDCHK_InstanceRole_Type_1" id="DWF_DS_02" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_02 - Role instance type check" severity="ERROR" statusCode="1">
<message>
{0} (InstanceRole) is not correctly typed.
</message>
<description>
This rule checks that an Instance Role is correctly typed.
</description>
<target class="InstanceRole">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_InvokedOperation_1" id="DWF_DS_03" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_03 - Scenario sequence message invoked operations check 1" severity="ERROR" statusCode="1">
<message>
{0} (SequenceMessage) has an invalid invoked {1}.
</message>
<description>
This rule checks that sequence messages have an invoked operation.
</description>
<target class="SequenceMessage">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_InvokedOperation_2" id="DWF_DS_04" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_04 - Scenario sequence message invoked operations check 2" severity="ERROR" statusCode="1">
<message>
{0} ({1}) in {2} ({3}) has an operation that doesn't fit implemented/provided and used/required interfaces.
</message>
<description>
This rule checks that sequence messages have a correct invoked operation (sender shall use/require operation's interface and receiver shall implement/provide operation's interface).
</description>
<target class="SequenceMessage">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_ComponentsFiliationJustification" id="DWF_DS_05" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_05 - Scenario sequence messages justification check 1" severity="WARNING" statusCode="1">
<message>
{0} (SequenceMessage) has no justification in sender/receiver Components terms in according with {1} (SequenceMessage).
</message>
<description>
This rule checks that sequence messages are justified in sender/receiver Components terms between scenarios from different levels.
</description>
<target class="SequenceMessage">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_OperationJustification" id="DWF_DS_06" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_06 - Scenario sequence messages justification check 2" severity="WARNING" statusCode="1">
<message>
{0} (SequenceMessage) has no justification in Operation terms in according with {1} (SequenceMessage).
</message>
<description>
This rule checks that sequence messages are justified in Operation terms between scenarios from different levels.
</description>
<target class="SequenceMessage">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_NotNullInvokedOperation" id="DWF_DS_07" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_07 - Sequence Messages not null invoked operation check" severity="ERROR" statusCode="1">
<message>
{0} ({1}) in {2} ({3}) has a null invoked operation.
</message>
<description>
This rule checks that Sequence Messages have a not null invoked operation.
</description>
<target class="SequenceMessage">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.MDCHK_Scenario_Ordering" id="DWF_DS_08" isEnabledByDefault="true" lang="java" mode="Live" name="DWF_DS_08 - Ordering of interaction fragments" severity="ERROR" statusCode="1">
<message>
{0} (Scenario) has an invalid ordering and may be corrupted.
</message>
<description>
This rule checks that scenarios have a coherent ordering, i.e. finish of time lapses are after the corresponding beginning.
</description>
<target class="Scenario">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.SequenceMessageExchangeItems" id="DWF_DS_09" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_09 - Sequence message allocated exchange items" severity="ERROR" statusCode="1">
<message>
{0} (SequenceMessage) allocates {1}(ExchangeItem) which {2} not allocated by invoked operation of current sequence message.
</message>
<description>
This rule ensures that a sequence message does not allocate exchange items which are not allocated by invoked operation of sequence message.
</description>
<target class="SequenceMessage">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.MDCHK_Scenario_KindVSLevelConsistency" id="DWF_DS_10" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_10 - Consistency of Scenario Kind vs level" severity="ERROR" statusCode="1">
<message>
Kind of the Scenario {0} is not allowed on this level or is UNSET.
On OA level, only INTERACTION Scenarios are allowed,
On SYS/LC/PC levels, only DATA_FLOW, INTERFACE and FUNCTIONAL Scenarii are allowed,
On EPBS level, only INTERFACE Scenarii are allowed.
</message>
<description>
This rule checks the consistency between Scenario kind and Level:
On OA level, only INTERACTION Scenarios are allowed,
On SYS/LC/PC levels, only DATA_FLOW, INTERFACE and FUNCTIONAL Scenarii are allowed,
On EPBS level, only INTERFACE Scenarios are allowed.
Whatever the level, UNSET Scenarios raise an error.
</description>
<target class="Scenario">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.MDCHK_Scenario_BranchsSequenceMessageOrdered_1" id="DWF_DS_11" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_11 - Scenario branchs sequence messages order check" severity="ERROR" statusCode="1">
<message>
{0} (SequenceMessage) has sender and reply branches inverted.
</message>
<description>
This rule checks that sender and reply branches sequence messages are not inverted.
</description>
<target class="Scenario">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_NameValidation" id="DWF_DS_12" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_12 - Scenario sequence messages and operations / functional exchanges consistency" severity="WARNING" statusCode="1">
<message>
{0} (SequenceMessage) should have the same name as {1} ({2}).
</message>
<description>
This rule checks name consistency between operations / functional exchanges and sequence messages.
</description>
<target class="SequenceMessage">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_TimerReflexive" id="DWF_DS_13" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_13 - Timer must be a reflexive message" severity="ERROR" statusCode="1">
<message>
The timer sequence message {0} is not a reflexive message.
</message>
<description>
This rule checks that an arm timer or cancel timer message is reflexive.
</description>
<target class="SequenceMessage">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_CancelTimer" id="DWF_DS_14" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_14 - A cancel timer must be within an arm timer" severity="ERROR" statusCode="1">
<message>
The {0} cancel timer message must be within an arm timer message.
</message>
<target class="SequenceMessage">
</target>
<description>
This rule checks that a cancel timer message is within an arm timer message.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_ReadSharedData" id="DWF_DS_15" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_15 - a shared data READ must be within an execution" severity="ERROR" statusCode="1">
<message>
the READ message between {0} and {1} must be within an execution.
</message>
<target class="SequenceMessage">
</target>
<description>
This rule checks that a shared data READ is within an execution.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_Kind" id="DWF_DS_17" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_17 - A sequence message kind must be coherent with its transmission protocol" severity="WARNING" statusCode="1">
<message>
The kind of the sequence message {0} must be coherent with its transmission protocol.
</message>
<target class="SequenceMessage">
</target>
<description>
This rule checks that a sequence message kind is coherent with its transmission protocol.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_ES_OES_InvokedOperation" id="DWF_DS_18" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_18 - OES/ES Sequence Messages consistency check" severity="ERROR" statusCode="1">
<message>
{0} ({1}) in {2} ({3}) is inconsistent ({4}).
</message>
<description>
This rule checks that Sequence Messages in OES or ES scenarios are consistent with their associated Component Exchange or Functional Exchange.
</description>
<target class="SequenceMessage">
</target>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_FS_OAS_InvokedOperation" id="DWF_DS_19" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_19 - OAS/FS Sequence Messages consistency check" severity="ERROR" statusCode="1">
<message>
{0} ({1}) in {2} ({3}) is inconsistent ({4}).
</message>
<target class="SequenceMessage"/>
<description>
This rule checks that Sequence Messages in OAS or FS scenarios are consistent with their associated Functional Exchange.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.stateFragment.MDCHK_StateFragment_ES_OES_AllocatedFunction" id="DWF_DS_20" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_20 - OES/ES State Fragments related function allocation consistency" severity="ERROR" statusCode="1">
<message>
StateFragment related to {0} ({1}) is inconsistent in {2} ({3}) (related {1} is not allocated by associated {4} ({5}) or a sub{6} component).
</message>
<target class="StateFragment"/>
<description>
Check that the AbstractFunction related to the current StateFragment is allocated by the Component (or a sub Component) associated to the instance role.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.stateFragment.MDCHK_StateFragment_ES_OES_ModeState" id="DWF_DS_21" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_21 - OES/ES State Fragments related Mode/State consistency" severity="ERROR" statusCode="1">
<message>
StateFragment related to {0} ({1}) is inconsistent in {2} ({3}) (related {1} is not included in {4} ({5})).
</message>
<target class="StateFragment">
</target>
<description>
Check that the Mode/State related to the current StateFragment is contained by the Component associated to the instance role.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.stateFragment.MDCHK_StateFragment_FS_OAS_StateModeAvailability" id="DWF_DS_22" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_DS_22 - OAS/FS AbstractFunction availability in Mode/State" severity="ERROR" statusCode="1">
<message>
{0} ({1}) is an invalid choice for the {2} ({3}) because is not available in {4} ({5}).
</message>
<target class="StateFragment">
</target>
<description>
Check that the AbstractFunction associated to the instance role is available for the Mode/State related to the current StateFragment.
</description>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.interactionUse.MDCHK_InteractionUse_ReferencedScenario"
id="DWF_DS_23" isEnabledByDefault="true" lang="Java" mode="Batch"
name="DWF_DS_23 - Invalid referenced scenario" severity="ERROR" statusCode="1">
<message>
{0} ({1}) in {2}({3}) [{4}] references an invalid scenario {5}({6}) [{7}]
</message>
<target class="InteractionUse">
</target>
<description>
This rule checks that the interactionUse is referencing a Scenario that exists at the current Architectural Level.
</description>
</constraint>
<constraint
class="org.polarsys.capella.core.data.interaction.validation.scenario.InstanceRoleHasDifferentNameThanRepresentedInstance"
id="DWF_DS_24"
isEnabledByDefault="true"
lang="Java"
mode="Batch"
name="DWF_DS_24 - Instance role has different name compared to represented instance"
severity="ERROR"
statusCode="1">
<message>
{0} ({1}) should have the same name as its represented instance {2} ({3})
</message>
<target
class="Scenario">
</target>
<description>
This rule checks that the Instance Role has the same name as its Represented Instance.
</description>
</constraint>
<constraint
class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.SequenceMessageInvokedOperationExchangeItems"
id="DCOM_24"
isEnabledByDefault="true"
lang="Java"
mode="Batch"
name="DCOM_24 - Sequence Message conveys no Exchange Item compared to its Invoked Operation"
severity="WARNING"
statusCode="1">
<message>
{0} (SequenceMessage) conveys no Exchange Item compared to its Invoked {1} ({2})
</message>
<target
class="SequenceMessage">
</target>
<description>
This rule generates a warning if a Sequence Message has no Exchange Item while its Invoked Operation has some.
</description>
</constraint>
</constraints>
<constraints categories="capella.category/design/completeness">
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.MDCHK_Scenario_InvolvementComponents_1" id="DCOM_05" isEnabledByDefault="true" lang="Java" mode="Batch"
name="DCOM_05 - Scenario Components Capability involvement check" severity="WARNING" statusCode="1">
<message>
Message generated dynamically
</message>
<description>
This rule checks that a Component which appears in a Scenario of a Capability is also involved in the Capability.
</description>
<target class="Scenario">
</target>
</constraint>
</constraints>
<constraints categories="capella.category/transition/consistency/scenarios">
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.MDCHK_Scenario_SequenceMessageOrderedConforms_1" id="TC_DS_01" isEnabledByDefault="true" lang="Java" mode="Batch" name="TC_DS_01 - Scenario sequence messages order check" severity="ERROR" statusCode="1">
<message>
"{0}" (SequenceMessage) has an invalid position according to refined message "{1}".
</message>
<description>
This rule checks that sequence messages are correctly ordered between scenarios from different levels.
</description>
<target class="Scenario">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.sequenceMessage.MDCHK_SequenceMessage_UnlinkJustification" id="TC_DS_02" isEnabledByDefault="true" lang="Java" mode="Batch" name="TC_DS_02 - Scenario sequence messages unliked check" severity="WARNING" statusCode="1">
<message>
{0} (SequenceMessage) has no justify by refinement tracability link with a sequenceMessage in {1} (Scenario).
</message>
<description>
This rule checks that sequence messages are linked by refinement traceability between scenarios from different levels.
</description>
<target class="SequenceMessage">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
<constraint class="org.polarsys.capella.core.data.interaction.validation.scenario.ScenarioRealizationCheck" id="TC_DS_03" isEnabledByDefault="true" lang="Java" mode="Batch" name="TC_DS_03 - Scenario Realization Check" severity="WARNING" statusCode="1">
<message>
{0}
</message>
<description>
This rule checks that Scenario element is realized by below layer.
Example:
If Scenario resides in SystemAnalysis layer. It should be relalized by a Scenario from Logical layer.
</description>
<target class="Scenario">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
</constraints>
<constraints categories="capella.category/design/well-formedness/use_cases">
<constraint class="org.polarsys.capella.core.data.interaction.validation.abstractCapability.AbstractCapability_Realization" id="DWF_UC_02" isEnabledByDefault="true" lang="Java" mode="Batch" name="DWF_UC_02 - Abstract Capability Realization Check" severity="WARNING" statusCode="1">
<message>
{0}
</message>
<description>
This rule checks that OperationalCapability/Capability/CapabilityRealization element is realized by below layer.
Example:
If Capability resides in SystemAnalysis layer. It should be relalized by a CapabilityRealization from Logical layer.
</description>
<target class="AbstractCapability">
</target>
<param name="group" value="MERGE">
</param>
</constraint>
</constraints>
<constraints
categories="capella.category/design/well-formedness/capabilities">
<constraint
class="org.polarsys.capella.core.data.interaction.validation.abstractCapability.MDCHK_Capability_Components_Involved"
id="DWF_CA_07"
isEnabledByDefault="true"
lang="java"
mode="Batch"
name="DWF_CA_07 - Capability check that all the involved Actors are present in at least one Operational Process or Functional Chain or Scenario related to the Capabilities it participates"
severity="WARNING"
statusCode="1">
<message>
Message generated dynamically
</message>
<description>
This rule checks if the involved Actors in the current Capability are present in at least one Operational Process or Functional Chain or Scenario.
</description>
<target
class="AbstractCapability">
</target>
</constraint>
<constraint
class="org.polarsys.capella.core.data.interaction.validation.abstractCapability.MDCHK_Capability_Components_NotInvolved"
id="DWF_CA_08"
isEnabledByDefault="true"
lang="java"
mode="Batch"
name="DWF_CA_08 - Capability check if the current Capability has Actors that are not involved but are present in at least one Operational Process or Functional Chain or Scenario related to the Capability"
severity="WARNING"
statusCode="1">
<message>
Message generated dynamically
</message>
<description>
This rule checks that if the current Capability has Actors that are not involved but are present in at least one Operational Process or Functional Chain or Scenario related to the Capability.
</description>
<target
class="AbstractCapability">
</target>
</constraint>
<constraint
class="org.polarsys.capella.core.data.interaction.validation.abstractCapability.MDCHK_Capability_FunctionalChains_Involvement"
id="DWF_CA_09"
isEnabledByDefault="true"
lang="java"
mode="Batch"
name="DWF_CA_09 - Capability check if the current Capability has Functional Chains that are not involved but are related to the Capability"
severity="WARNING"
statusCode="1">
<message>
Message generated dynamically
</message>
<description>
This rule checks that if the current Capability has related Operational Processes or Functionals Chains that are not involved with the Capability.
</description>
<target
class="AbstractCapability">
</target>
</constraint>
</constraints>
</constraintProvider>
</extension>
</plugin>