armodel 1.5.0__py3-none-any.whl → 1.6.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. armodel/cli/arxml_dump_cli.py +13 -13
  2. armodel/cli/memory_section_cli.py +76 -0
  3. armodel/cli/system_signal_cli.py +74 -0
  4. armodel/data_models/sw_connector.py +3 -3
  5. armodel/lib/__init__.py +2 -1
  6. armodel/lib/system_signal.py +37 -0
  7. armodel/models/__init__.py +9 -4
  8. armodel/models/annotation.py +27 -3
  9. armodel/models/ar_object.py +18 -6
  10. armodel/models/ar_package.py +271 -127
  11. armodel/models/ar_ref.py +11 -166
  12. armodel/models/bsw_module_template.py +37 -14
  13. armodel/models/common_structure.py +91 -174
  14. armodel/models/communication.py +2 -2
  15. armodel/models/data_prototype.py +41 -6
  16. armodel/models/datatype.py +16 -74
  17. armodel/models/end_to_end_protection.py +1 -1
  18. armodel/models/fibex/can_communication.py +119 -3
  19. armodel/models/fibex/fibex_4_can/__init__.py +0 -0
  20. armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
  21. armodel/models/fibex/fibex_4_multiplatform.py +81 -88
  22. armodel/models/fibex/fibex_core/__init__.py +0 -0
  23. armodel/models/fibex/fibex_core/core_communication.py +627 -0
  24. armodel/models/fibex/fibex_core/core_topology.py +180 -0
  25. armodel/models/fibex/lin_communication.py +24 -3
  26. armodel/models/general_structure.py +110 -11
  27. armodel/models/internal_behavior.py +1 -1
  28. armodel/models/m2/__init__.py +0 -0
  29. armodel/models/m2/autosar_templates/__init__.py +0 -0
  30. armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
  31. armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
  32. armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
  33. armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +148 -0
  34. armodel/models/m2/autosar_templates/ecuc_description_template.py +269 -0
  35. armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
  36. armodel/models/m2/autosar_templates/generic_structure/abstract_structure.py +69 -0
  37. armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
  38. armodel/models/m2/autosar_templates/sw_component_template/communication.py +360 -0
  39. armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +246 -0
  40. armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +181 -0
  41. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +154 -0
  42. armodel/models/m2/autosar_templates/sw_component_template/composition/instance_refs.py +157 -0
  43. armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
  44. armodel/models/m2/autosar_templates/sw_component_template/data_type/data_prototypes.py +104 -0
  45. armodel/models/m2/autosar_templates/sw_component_template/port_interface/__init__.py +243 -0
  46. armodel/models/m2/autosar_templates/sw_component_template/port_interface/instance_refs.py +39 -0
  47. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
  48. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
  49. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
  50. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +46 -0
  51. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py +169 -0
  52. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +38 -0
  53. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +27 -0
  54. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
  55. armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
  56. armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
  57. armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
  58. armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
  59. armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
  60. armodel/models/m2/msr/__init__.py +0 -0
  61. armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
  62. armodel/models/m2/msr/asam_hdo/units.py +105 -0
  63. armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
  64. armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
  65. armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
  66. armodel/models/m2/msr/documentation/__init__.py +0 -0
  67. armodel/models/m2/msr/documentation/block_elements.py +18 -0
  68. armodel/models/m2_msr.py +1 -0
  69. armodel/models/multilanguage_data.py +15 -0
  70. armodel/models/per_instance_memory.py +34 -6
  71. armodel/models/port_prototype.py +2 -253
  72. armodel/models/service_needs.py +3 -1
  73. armodel/models/sw_component.py +19 -358
  74. armodel/parser/__init__.py +2 -1
  75. armodel/parser/abstract_arxml_parser.py +10 -1
  76. armodel/parser/arxml_parser.py +912 -229
  77. armodel/parser/file_parser.py +43 -0
  78. armodel/tests/test_armodel/models/test_ar_package.py +6 -3
  79. armodel/tests/test_armodel/models/test_ar_ref.py +18 -16
  80. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
  81. armodel/tests/test_armodel/models/test_common_structure.py +8 -7
  82. armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
  83. armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
  84. armodel/tests/test_armodel/models/test_datatype.py +9 -9
  85. armodel/tests/test_armodel/models/test_port_interface.py +2 -2
  86. armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -3
  87. armodel/tests/test_armodel/parser/test_sw_components.py +3 -3
  88. armodel/writer/abstract_arxml_writer.py +5 -1
  89. armodel/writer/arxml_writer.py +870 -224
  90. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/METADATA +28 -1
  91. armodel-1.6.1.dist-info/RECORD +140 -0
  92. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/entry_points.txt +3 -1
  93. armodel-1.5.0.dist-info/RECORD +0 -91
  94. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/LICENSE +0 -0
  95. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/WHEEL +0 -0
  96. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,627 @@
1
+ from abc import ABCMeta
2
+ from typing import List
3
+
4
+ from ...ar_ref import RefType
5
+ from ...ar_object import ARBoolean, ARFloat, ARLiteral, ARNumerical, ARObject, ARPositiveInteger
6
+ from ...general_structure import ARElement, Describable, Identifiable
7
+
8
+ class FibexElement(Identifiable, metaclass = ABCMeta):
9
+ def __init__(self, parent: ARObject, short_name: str):
10
+ if type(self) == FibexElement:
11
+ raise NotImplementedError("FibexElement is an abstract class.")
12
+
13
+ super().__init__(parent, short_name)
14
+
15
+
16
+ class PduToFrameMapping(Identifiable):
17
+ def __init__(self, parent: ARObject, short_name: str):
18
+ super().__init__(parent, short_name)
19
+
20
+ self.packingByteOrder = None # type: ARLiteral
21
+ self.pduRef = None # type: RefType
22
+ self.startPosition = None # type: ARNumerical
23
+ self.updateIndicationBitPosition = None # type: ARNumerical
24
+
25
+ def getPackingByteOrder(self):
26
+ return self.packingByteOrder
27
+
28
+ def setPackingByteOrder(self, value):
29
+ self.packingByteOrder = value
30
+ return self
31
+
32
+ def getPduRef(self):
33
+ return self.pduRef
34
+
35
+ def setPduRef(self, value):
36
+ self.pduRef = value
37
+ return self
38
+
39
+ def getStartPosition(self):
40
+ return self.startPosition
41
+
42
+ def setStartPosition(self, value):
43
+ self.startPosition = value
44
+ return self
45
+
46
+ def getUpdateIndicationBitPosition(self):
47
+ return self.updateIndicationBitPosition
48
+
49
+ def setUpdateIndicationBitPosition(self, value):
50
+ self.updateIndicationBitPosition = value
51
+ return self
52
+
53
+ class Frame(Identifiable):
54
+ __metaclass__ = ABCMeta
55
+
56
+ def __init__(self, parent: ARObject, short_name: str):
57
+ if type(self) == Frame:
58
+ raise NotImplementedError("Frame is an abstract class.")
59
+
60
+ super().__init__(parent, short_name)
61
+
62
+ self.frameLength = None
63
+ self.pduToFrameMappings = [] # type: List[PduToFrameMapping]
64
+
65
+ def getFrameLength(self):
66
+ return self.frameLength
67
+
68
+ def setFrameLength(self, value):
69
+ self.frameLength = value
70
+ return self
71
+
72
+ def createPduToFrameMapping(self, short_name: str) -> PduToFrameMapping:
73
+ if (short_name not in self.elements):
74
+ mapping = PduToFrameMapping(self, short_name)
75
+ self.elements[short_name] = mapping
76
+ self.pduToFrameMappings.append(mapping)
77
+ return self.elements[short_name]
78
+
79
+ def getPduToFrameMappings(self) -> List[PduToFrameMapping]:
80
+ return list(sorted(filter(lambda a: isinstance(a, PduToFrameMapping), self.elements.values()), key= lambda o:o.short_name))
81
+
82
+ class ContainedIPduProps(ARObject):
83
+ def __init__(self):
84
+ super().__init__()
85
+
86
+ self.collectionSemantics = None # type: ARLiteral
87
+ self.headerIdLongHeader = None # type: ARPositiveInteger
88
+ self.headerIdShortHeader = None # type: ARPositiveInteger
89
+ self.offset = None # type: ARNumerical
90
+ self.timeout = None # type: ARNumerical
91
+ self.trigger = None # type: ARLiteral
92
+ self.updateIndicationBitPosition = None # type: ARNumerical
93
+
94
+ def getCollectionSemantics(self):
95
+ return self.collectionSemantics
96
+
97
+ def setCollectionSemantics(self, value):
98
+ self.collectionSemantics = value
99
+ return self
100
+
101
+ def getHeaderIdLongHeader(self):
102
+ return self.headerIdLongHeader
103
+
104
+ def setHeaderIdLongHeader(self, value):
105
+ self.headerIdLongHeader = value
106
+ return self
107
+
108
+ def getHeaderIdShortHeader(self):
109
+ return self.headerIdShortHeader
110
+
111
+ def setHeaderIdShortHeader(self, value):
112
+ self.headerIdShortHeader = value
113
+ return self
114
+
115
+ def getOffset(self):
116
+ return self.offset
117
+
118
+ def setOffset(self, value):
119
+ self.offset = value
120
+ return self
121
+
122
+ def getTimeout(self):
123
+ return self.timeout
124
+
125
+ def setTimeout(self, value):
126
+ self.timeout = value
127
+ return self
128
+
129
+ def getTrigger(self):
130
+ return self.trigger
131
+
132
+ def setTrigger(self, value):
133
+ self.trigger = value
134
+ return self
135
+
136
+ def getUpdateIndicationBitPosition(self):
137
+ return self.updateIndicationBitPosition
138
+
139
+ def setUpdateIndicationBitPosition(self, value):
140
+ self.updateIndicationBitPosition = value
141
+ return self
142
+
143
+ class ISignalGroup(FibexElement):
144
+ def __init__(self, parent, short_name):
145
+ super().__init__(parent, short_name)
146
+
147
+ self.comBasedSignalGroupTransformationRef = None # type: RefType
148
+ self.iSignalRefs = [] # type: List[RefType]
149
+ self.systemSignalGroupRef = None
150
+ self.transformationISignalProps = None
151
+
152
+ def getComBasedSignalGroupTransformationRef(self):
153
+ return self.comBasedSignalGroupTransformationRef
154
+
155
+ def setComBasedSignalGroupTransformationRef(self, value):
156
+ self.comBasedSignalGroupTransformationRef = value
157
+ return self
158
+
159
+ def getISignalRefs(self):
160
+ return self.iSignalRefs
161
+
162
+ def addISignalRef(self, value):
163
+ self.iSignalRefs.append(value)
164
+ return self
165
+
166
+ def getSystemSignalGroupRef(self):
167
+ return self.systemSignalGroupRef
168
+
169
+ def setSystemSignalGroupRef(self, value):
170
+ self.systemSignalGroupRef = value
171
+ return self
172
+
173
+ def getTransformationISignalProps(self):
174
+ return self.transformationISignalProps
175
+
176
+ def setTransformationISignalProps(self, value):
177
+ self.transformationISignalProps = value
178
+ return self
179
+
180
+
181
+ class ISignalIPduGroup(FibexElement):
182
+ def __init__(self, parent, short_name):
183
+ super().__init__(parent, short_name)
184
+
185
+ self.communicationDirection = None
186
+ self.communicationMode = None
187
+ self.containedISignalIPduGroupRefs = []
188
+ self.iSignalIPduRefs = []
189
+ self.nmPduRefs = []
190
+
191
+ def getCommunicationDirection(self):
192
+ return self.communicationDirection
193
+
194
+ def setCommunicationDirection(self, value):
195
+ self.communicationDirection = value
196
+ return self
197
+
198
+ def getCommunicationMode(self):
199
+ return self.communicationMode
200
+
201
+ def setCommunicationMode(self, value):
202
+ self.communicationMode = value
203
+ return self
204
+
205
+ def getContainedISignalIPduGroupRefs(self):
206
+ return self.containedISignalIPduGroupRefs
207
+
208
+ def addContainedISignalIPduGroupRef(self, value):
209
+ self.containedISignalIPduGroupRefs.append(value)
210
+ return self
211
+
212
+ def getISignalIPduRefs(self):
213
+ return self.iSignalIPduRefs
214
+
215
+ def addISignalIPduRef(self, value):
216
+ self.iSignalIPduRefs.append(value)
217
+ return self
218
+
219
+ def getNmPduRefs(self):
220
+ return self.nmPduRefs
221
+
222
+ def addNmPduRef(self, value):
223
+ self.nmPduRefs.append(value)
224
+ return self
225
+
226
+ class Pdu(FibexElement, metaclass = ABCMeta):
227
+ def __init__(self, parent: ARObject, short_name: str):
228
+ if type(self) == Pdu:
229
+ raise NotImplementedError("Pdu is an abstract class.")
230
+
231
+ super().__init__(parent, short_name)
232
+
233
+ self.length = None # type: ARNumerical
234
+
235
+ def getLength(self):
236
+ return self.length
237
+
238
+ def setLength(self, value):
239
+ self.length = value
240
+ return self
241
+
242
+ class IPdu(Pdu, metaclass = ABCMeta):
243
+ def __init__(self, parent: ARObject, short_name: str):
244
+ if type(self) == IPdu:
245
+ raise NotImplementedError("IPdu is an abstract class.")
246
+
247
+ super().__init__(parent, short_name)
248
+
249
+ self.containedOpduProps = None # type: ContainedIPduProps
250
+
251
+ def getContainedOpduProps(self):
252
+ return self.containedOpduProps
253
+
254
+ def setContainedOpduProps(self, value):
255
+ self.containedOpduProps = value
256
+ return self
257
+
258
+ class SecuredIPdu(IPdu):
259
+ def __init__(self, parent: ARObject, short_name: str):
260
+ super().__init__(parent, short_name)
261
+
262
+ class NmPdu(Pdu):
263
+ def __init__(self, parent: ARObject, short_name: str):
264
+ super().__init__(parent, short_name)
265
+
266
+
267
+ class NPdu(IPdu):
268
+ def __init__(self, parent: ARObject, short_name: str):
269
+ super().__init__(parent, short_name)
270
+
271
+ class DcmIPdu(IPdu):
272
+ def __init__(self, parent: ARObject, short_name: str):
273
+ super().__init__(parent, short_name)
274
+
275
+ self.diagPduType = None # type: ARLiteral
276
+
277
+ def getDiagPduType(self):
278
+ return self.diagPduType
279
+
280
+ def setDiagPduType(self, value):
281
+ self.diagPduType = value
282
+ return self
283
+
284
+
285
+ class IPduTiming(Describable):
286
+ def __init__(self):
287
+ super().__init__()
288
+
289
+ self.minimumDelay = None # type: TimeValue
290
+ # type: TransmissionModeDeclaration
291
+ self.transmissionModeDeclaration = None
292
+
293
+ def getMinimumDelay(self):
294
+ return self.minimumDelay
295
+
296
+ def setMinimumDelay(self, value):
297
+ self.minimumDelay = value
298
+ return self
299
+
300
+ def getTransmissionModeDeclaration(self):
301
+ return self.transmissionModeDeclaration
302
+
303
+ def setTransmissionModeDeclaration(self, value):
304
+ self.transmissionModeDeclaration = value
305
+ return self
306
+
307
+ class ISignalToIPduMapping(Identifiable):
308
+ def __init__(self, parent, short_name):
309
+ super().__init__(parent, short_name)
310
+
311
+ self.iSignalRef = None # type: RefType
312
+ self.iSignalGroupRef = None # type: RefType
313
+ self.packingByteOrder = None # type: ByteOrderEnum
314
+ self.startPosition = None # type: ARNumerical
315
+ # type: TransferPropertyEnum
316
+ self.transferProperty = None
317
+ self.updateIndicationBitPosition = None # type: ARNumerical
318
+
319
+ def getISignalRef(self):
320
+ return self.iSignalRef
321
+
322
+ def setISignalRef(self, value):
323
+ self.iSignalRef = value
324
+ return self
325
+
326
+ def getISignalGroupRef(self):
327
+ return self.iSignalGroupRef
328
+
329
+ def setISignalGroupRef(self, value):
330
+ self.iSignalGroupRef = value
331
+ return self
332
+
333
+ def getPackingByteOrder(self):
334
+ return self.packingByteOrder
335
+
336
+ def setPackingByteOrder(self, value):
337
+ self.packingByteOrder = value
338
+ return self
339
+
340
+ def getStartPosition(self):
341
+ return self.startPosition
342
+
343
+ def setStartPosition(self, value):
344
+ self.startPosition = value
345
+ return self
346
+
347
+ def getTransferProperty(self):
348
+ return self.transferProperty
349
+
350
+ def setTransferProperty(self, value):
351
+ self.transferProperty = value
352
+ return self
353
+
354
+ def getUpdateIndicationBitPosition(self):
355
+ return self.updateIndicationBitPosition
356
+
357
+ def setUpdateIndicationBitPosition(self, value):
358
+ self.updateIndicationBitPosition = value
359
+ return self
360
+
361
+
362
+ class ISignalIPdu(IPdu):
363
+ def __init__(self, parent, short_name):
364
+ super().__init__(parent, short_name)
365
+
366
+ self.iPduTimingSpecification = None # type: IPduTiming
367
+ self.iSignalToPduMappings = [] # type: List[ISignalToIPduMapping]
368
+ self.unusedBitPattern = None # type: ARNumerical
369
+
370
+ def getIPduTimingSpecification(self):
371
+ return self.iPduTimingSpecification
372
+
373
+ def setIPduTimingSpecification(self, value):
374
+ self.iPduTimingSpecification = value
375
+ return self
376
+
377
+ def getISignalToPduMappings(self):
378
+ return self.iSignalToPduMappings
379
+
380
+ def createISignalToPduMappings(self, short_name: str) -> ISignalToIPduMapping:
381
+ if (short_name not in self.elements):
382
+ mapping = ISignalToIPduMapping(self, short_name)
383
+ self.elements[short_name] = mapping
384
+ self.iSignalToPduMappings.append(mapping)
385
+ return self.elements[short_name]
386
+
387
+ def getUnusedBitPattern(self):
388
+ return self.unusedBitPattern
389
+
390
+ def setUnusedBitPattern(self, value):
391
+ self.unusedBitPattern = value
392
+ return self
393
+
394
+
395
+ class ISignal(FibexElement):
396
+ def __init__(self, parent: ARObject, short_name: str):
397
+ super().__init__(parent, short_name)
398
+
399
+ self.dataTransformationRef = None
400
+ self.dataTypePolicy = None
401
+ self.iSignalProps = None
402
+ self.iSignalType = None
403
+ self.initValue = None
404
+ self.length = None
405
+ self.networkRepresentationProps = None
406
+ self.systemSignalRef = None # type: RefType
407
+ self.timeoutSubstitutionValue = None
408
+ self.transformationISignalProps = []
409
+
410
+ def getDataTransformationRef(self):
411
+ return self.dataTransformationRef
412
+
413
+ def setDataTransformationRef(self, value):
414
+ self.dataTransformationRef = value
415
+ return self
416
+
417
+ def getDataTypePolicy(self):
418
+ return self.dataTypePolicy
419
+
420
+ def setDataTypePolicy(self, value):
421
+ self.dataTypePolicy = value
422
+ return self
423
+
424
+ def getISignalProps(self):
425
+ return self.iSignalProps
426
+
427
+ def setISignalProps(self, value):
428
+ self.iSignalProps = value
429
+ return self
430
+
431
+ def getISignalType(self):
432
+ return self.iSignalType
433
+
434
+ def setISignalType(self, value):
435
+ self.iSignalType = value
436
+ return self
437
+
438
+ def getInitValue(self):
439
+ return self.initValue
440
+
441
+ def setInitValue(self, value):
442
+ self.initValue = value
443
+ return self
444
+
445
+ def getLength(self):
446
+ return self.length
447
+
448
+ def setLength(self, value):
449
+ self.length = value
450
+ return self
451
+
452
+ def getNetworkRepresentationProps(self):
453
+ return self.networkRepresentationProps
454
+
455
+ def setNetworkRepresentationProps(self, value):
456
+ self.networkRepresentationProps = value
457
+ return self
458
+
459
+ def getSystemSignalRef(self):
460
+ return self.systemSignalRef
461
+
462
+ def setSystemSignalRef(self, value):
463
+ self.systemSignalRef = value
464
+ return self
465
+
466
+ def getTimeoutSubstitutionValue(self):
467
+ return self.timeoutSubstitutionValue
468
+
469
+ def setTimeoutSubstitutionValue(self, value):
470
+ self.timeoutSubstitutionValue = value
471
+ return self
472
+
473
+ def getTransformationISignalProps(self):
474
+ return self.transformationISignalProps
475
+
476
+ def addTransformationISignalProps(self, value):
477
+ self.transformationISignalProps.append(value)
478
+ return self
479
+
480
+ class PduTriggering(Identifiable):
481
+ def __init__(self, parent, short_name):
482
+ super().__init__(parent, short_name)
483
+
484
+ self.iPduRef = None # type: RefType
485
+ self.iPduPortRefs = [] # type: List[RefType]
486
+ self.iSignalTriggeringRefs = [] # type: List[RefType]
487
+ self.secOcCryptoMappingRef = None # type: RefType
488
+ self.triggerIPduSendConditions = [] # type: List
489
+
490
+ def getIPduRef(self):
491
+ return self.iPduRef
492
+
493
+ def setIPduRef(self, value):
494
+ self.iPduRef = value
495
+ return self
496
+
497
+ def getIPduPortRefs(self):
498
+ return self.iPduPortRefs
499
+
500
+ def addIPduPortRef(self, value):
501
+ self.iPduPortRefs.append(value)
502
+ return self
503
+
504
+ def getISignalTriggeringRefs(self):
505
+ return self.iSignalTriggeringRefs
506
+
507
+ def addISignalTriggeringRef(self, value):
508
+ self.iSignalTriggeringRefs.append(value)
509
+ return self
510
+
511
+ def getSecOcCryptoMappingRef(self):
512
+ return self.secOcCryptoMappingRef
513
+
514
+ def setSecOcCryptoMappingRef(self, value):
515
+ self.secOcCryptoMappingRef = value
516
+ return self
517
+
518
+ def getTriggerIPduSendConditions(self):
519
+ return self.triggerIPduSendConditions
520
+
521
+ def addTriggerIPduSendCondition(self, value):
522
+ self.triggerIPduSendConditions.append(value)
523
+ return self
524
+
525
+
526
+ class FrameTriggering(Identifiable, metaclass = ABCMeta):
527
+ def __init__(self, parent, short_name):
528
+ if type(self) == FrameTriggering:
529
+ raise NotImplementedError("FrameTriggering is an abstract class.")
530
+
531
+ super().__init__(parent, short_name)
532
+
533
+ self.frameRef = None # type: RefType
534
+ self.framePortRefs = [] # type: List[RefType]
535
+ self.pduTriggeringRefs = [] # type: List[RefType]
536
+
537
+ def getFrameRef(self) -> RefType:
538
+ return self.frameRef
539
+
540
+ def setFrameRef(self, value: RefType):
541
+ self.frameRef = value
542
+ return self
543
+
544
+ def getFramePortRefs(self) -> List[RefType]:
545
+ return self.framePortRefs
546
+
547
+ def addFramePortRef(self, value: RefType):
548
+ self.framePortRefs.append(value)
549
+ return self
550
+
551
+ def getPduTriggeringRefs(self) -> RefType:
552
+ return self.pduTriggeringRefs
553
+
554
+ def addPduTriggeringRef(self, value: RefType):
555
+ self.pduTriggeringRefs.append(value)
556
+ return self
557
+
558
+ class SystemSignal(ARElement):
559
+ def __init__(self, parent, short_name):
560
+ super().__init__(parent, short_name)
561
+
562
+ self.dynamicLength = None # type: ARBoolean
563
+ self.physicalProps = None # type: SwDataDefProps
564
+
565
+ def getDynamicLength(self):
566
+ return self.dynamicLength
567
+
568
+ def setDynamicLength(self, value):
569
+ self.dynamicLength = value
570
+ return self
571
+
572
+ def getPhysicalProps(self):
573
+ return self.physicalProps
574
+
575
+ def setPhysicalProps(self, value):
576
+ self.physicalProps = value
577
+ return self
578
+
579
+ class SystemSignalGroup(ARElement):
580
+ def __init__(self, parent, short_name):
581
+ super().__init__(parent, short_name)
582
+
583
+ self.systemSignalRefs = [] # type: List[RefType]
584
+ self.transformingSystemSignalRef = None # type: RefType
585
+
586
+ def getSystemSignalRefs(self):
587
+ return self.systemSignalRefs
588
+
589
+ def addSystemSignalRefs(self, value:RefType):
590
+ self.systemSignalRefs.append(value)
591
+ return self
592
+
593
+ def getTransformingSystemSignalRef(self):
594
+ return self.transformingSystemSignalRef
595
+
596
+ def setTransformingSystemSignalRef(self, value):
597
+ self.transformingSystemSignalRef = value
598
+ return self
599
+
600
+ class ISignalTriggering(Identifiable):
601
+ def __init__(self, parent, short_name):
602
+ super().__init__(parent, short_name)
603
+
604
+ self.iSignalRef = None # type: RefType
605
+ self.iSignalGroupRef = None # type: RefType
606
+ self.iSignalPortRefs = [] # type: List[RefType]
607
+
608
+ def getISignalRef(self):
609
+ return self.iSignalRef
610
+
611
+ def setISignalRef(self, value):
612
+ self.iSignalRef = value
613
+ return self
614
+
615
+ def getISignalGroupRef(self):
616
+ return self.iSignalGroupRef
617
+
618
+ def setISignalGroupRef(self, value):
619
+ self.iSignalGroupRef = value
620
+ return self
621
+
622
+ def getISignalPortRefs(self):
623
+ return self.iSignalPortRefs
624
+
625
+ def addISignalPortRef(self, value):
626
+ self.iSignalPortRefs.append(value)
627
+ return self