armodel 1.7.7__py3-none-any.whl → 1.7.8__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 (52) hide show
  1. armodel/cli/arxml_dump_cli.py +33 -22
  2. armodel/cli/arxml_format_cli.py +25 -13
  3. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +64 -29
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +322 -63
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
  8. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
  9. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
  10. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
  11. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +214 -156
  12. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +63 -42
  14. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
  15. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
  16. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
  17. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
  18. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
  19. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
  23. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
  24. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
  25. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
  33. armodel/models/__init__.py +5 -1
  34. armodel/parser/abstract_arxml_parser.py +34 -30
  35. armodel/parser/arxml_parser.py +1196 -525
  36. armodel/parser/file_parser.py +5 -3
  37. armodel/tests/test_armodel/models/test_ar_package.py +6 -11
  38. armodel/tests/test_armodel/models/test_port_interface.py +116 -117
  39. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
  40. armodel/tests/test_armodel/parser/test_sw_components.py +38 -27
  41. armodel/tests/test_armodel/parser/test_system.py +2 -8
  42. armodel/transformer/__init__.py +0 -0
  43. armodel/transformer/abstract.py +6 -0
  44. armodel/transformer/admin_data.py +31 -0
  45. armodel/writer/abstract_arxml_writer.py +22 -29
  46. armodel/writer/arxml_writer.py +1198 -477
  47. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/METADATA +41 -1
  48. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/RECORD +52 -43
  49. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
  50. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
  51. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
  52. {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,18 @@
1
- from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
2
- from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
1
+ from abc import ABCMeta
2
+ from typing import List
3
+
4
+ from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
5
+ from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
3
6
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, AREnum, ARFloat, ARNumerical, String, TimeValue
7
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, AREnum, ARFloat, ARNumerical, Boolean
8
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, String, TimeValue
5
9
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
10
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
7
- from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
8
11
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Referrable
9
- from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
10
- from abc import ABCMeta
11
- from typing import List
12
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import VariableDataPrototype
13
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
14
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
15
+
12
16
 
13
17
  class BswModuleCallPoint(Referrable):
14
18
  def __init__(self, parent: ARObject, short_name: str):
@@ -22,7 +26,8 @@ class BswModuleCallPoint(Referrable):
22
26
  def addContextLimitationRef(self, value):
23
27
  self.contextLimitationRefs.append(value)
24
28
  return self
25
-
29
+
30
+
26
31
  class BswVariableAccess(Referrable):
27
32
  def __init__(self, parent: ARObject, short_name: str):
28
33
  super().__init__(parent, short_name)
@@ -44,9 +49,10 @@ class BswVariableAccess(Referrable):
44
49
  self.contextLimitationRefs.append(value)
45
50
  return self
46
51
 
47
- class BswModuleEntity(ExecutableEntity, metaclass = ABCMeta):
52
+
53
+ class BswModuleEntity(ExecutableEntity, metaclass=ABCMeta):
48
54
  def __init__(self, parent: ARObject, short_name: str):
49
- if type(self) == BswModuleEntity:
55
+ if type(self) is BswModuleEntity:
50
56
  raise NotImplementedError("BswModuleEntity is an abstract class.")
51
57
  super().__init__(parent, short_name)
52
58
 
@@ -59,68 +65,81 @@ class BswModuleEntity(ExecutableEntity, metaclass = ABCMeta):
59
65
  self.issuedTriggerRefs = [] # type: List[RefType]
60
66
  self.managedModeGroupRefs = [] # type: List[RefType]
61
67
  self.schedulerNamePrefixRef = None # type: List[RefType]
62
-
68
+
63
69
  def getAccessedModeGroupRefs(self):
64
70
  return self.accessedModeGroupRefs
65
71
 
66
- def addAccessedModeGroupRef(self, value):
67
- self.accessedModeGroupRefs.append(value)
72
+ def setAccessedModeGroupRefs(self, value):
73
+ if value is not None:
74
+ self.accessedModeGroupRefs = value
68
75
  return self
69
76
 
70
77
  def getActivationPointRefs(self):
71
78
  return self.activationPointRefs
72
79
 
73
- def addActivationPointRef(self, value):
74
- self.activationPointRefs.append(value)
80
+ def setActivationPointRefs(self, value):
81
+ if value is not None:
82
+ self.activationPointRefs = value
75
83
  return self
76
84
 
77
85
  def getCallPoints(self):
78
86
  return self.callPoints
79
87
 
80
- def addCallPoint(self, value):
81
- self.callPoints.append(value)
88
+ def setCallPoints(self, value):
89
+ if value is not None:
90
+ self.callPoints = value
82
91
  return self
83
92
 
84
- def getDataReceivePoint(self):
93
+ def getDataReceivePoints(self):
85
94
  return self.dataReceivePoints
86
95
 
87
- def addDataReceivePoint(self, value):
88
- self.dataReceivePoints.append(value)
89
- return self
96
+ def createDataReceivePoint(self, short_name: str) -> BswVariableAccess:
97
+ if (not self.IsElementExists(short_name)):
98
+ access = BswVariableAccess(self, short_name)
99
+ self.addElement(access)
100
+ self.dataReceivePoints.append(access)
101
+ return self.getElement(short_name)
90
102
 
91
103
  def getDataSendPoints(self):
92
104
  return self.dataSendPoints
93
105
 
94
- def addDataSendPoint(self, value):
95
- self.dataSendPoints.append(value)
96
- return self
106
+ def createDataSendPoint(self, short_name: str) -> BswVariableAccess:
107
+ if (not self.IsElementExists(short_name)):
108
+ access = BswVariableAccess(self, short_name)
109
+ self.addElement(access)
110
+ self.dataSendPoints.append(access)
111
+ return self.getElement(short_name)
97
112
 
98
113
  def getImplementedEntryRef(self):
99
114
  return self.implementedEntryRef
100
115
 
101
116
  def setImplementedEntryRef(self, value):
102
- self.implementedEntryRef = value
117
+ if value is not None:
118
+ self.implementedEntryRef = value
103
119
  return self
104
120
 
105
121
  def getIssuedTriggerRefs(self):
106
122
  return self.issuedTriggerRefs
107
123
 
108
- def addIssuedTriggerRefs(self, value):
109
- self.issuedTriggerRefs(value)
124
+ def addIssuedTriggerRef(self, value):
125
+ if value is not None:
126
+ self.issuedTriggerRefs.append(value)
110
127
  return self
111
128
 
112
129
  def getManagedModeGroupRefs(self):
113
130
  return self.managedModeGroupRefs
114
131
 
115
132
  def addManagedModeGroupRef(self, value):
116
- self.managedModeGroupRefs = value
133
+ if value is not None:
134
+ self.managedModeGroupRefs.append(value)
117
135
  return self
118
136
 
119
137
  def getSchedulerNamePrefixRef(self):
120
138
  return self.schedulerNamePrefixRef
121
139
 
122
140
  def setSchedulerNamePrefixRef(self, value):
123
- self.schedulerNamePrefixRef = value
141
+ if value is not None:
142
+ self.schedulerNamePrefixRef = value
124
143
  return self
125
144
 
126
145
 
@@ -128,10 +147,12 @@ class BswCalledEntity(BswModuleEntity):
128
147
  def __init__(self, parent: ARObject, short_name: str):
129
148
  super().__init__(parent, short_name)
130
149
 
150
+
131
151
  class BswSchedulableEntity(BswModuleEntity):
132
152
  def __init__(self, parent: ARObject, short_name: str):
133
153
  super().__init__(parent, short_name)
134
154
 
155
+
135
156
  class BswInterruptCategory(AREnum):
136
157
  CAT1 = "cat1"
137
158
  CAT2 = "cat2"
@@ -140,7 +161,8 @@ class BswInterruptCategory(AREnum):
140
161
  super().__init__((
141
162
  BswInterruptCategory.CAT1,
142
163
  BswInterruptCategory.CAT2,
143
- ))
164
+ ))
165
+
144
166
 
145
167
  class BswInterruptEntity(BswModuleEntity):
146
168
  def __init__(self, parent: ARObject, short_name: str):
@@ -163,9 +185,10 @@ class BswInterruptEntity(BswModuleEntity):
163
185
  self.interruptSource = value
164
186
  return self
165
187
 
188
+
166
189
  class BswEvent(Identifiable, metaclass=ABCMeta):
167
190
  def __init__(self, parent: ARObject, short_name: str):
168
- if type(self) == BswEvent:
191
+ if type(self) is BswEvent:
169
192
  raise NotImplementedError("BswEvent is an abstract class.")
170
193
  super().__init__(parent, short_name)
171
194
 
@@ -178,16 +201,29 @@ class BswEvent(Identifiable, metaclass=ABCMeta):
178
201
  self.startsOnEventRef = value
179
202
  return self
180
203
 
204
+
181
205
  class BswOperationInvokedEvent(BswEvent):
182
206
  def __init__(self, parent: ARObject, short_name: str):
183
207
  super().__init__(parent, short_name)
184
208
 
209
+ self.entryRef = None # type: RefType
210
+
211
+ def getEntryRef(self):
212
+ return self.entryRef
213
+
214
+ def setEntryRef(self, value):
215
+ if value is not None:
216
+ self.entryRef = value
217
+ return self
218
+
219
+
185
220
  class BswScheduleEvent(BswEvent, metaclass=ABCMeta):
186
221
  def __init__(self, parent: ARObject, short_name: str):
187
- if type(self) == BswScheduleEvent:
222
+ if type(self) is BswScheduleEvent:
188
223
  raise NotImplementedError("BswScheduleEvent is an abstract class.")
189
224
  super().__init__(parent, short_name)
190
225
 
226
+
191
227
  class BswModeSwitchEvent(BswScheduleEvent):
192
228
  def __init__(self, parent: ARObject, short_name: str):
193
229
  super().__init__(parent, short_name)
@@ -201,6 +237,7 @@ class BswModeSwitchEvent(BswScheduleEvent):
201
237
  self.activation = value
202
238
  return self
203
239
 
240
+
204
241
  class BswTimingEvent(BswScheduleEvent):
205
242
  def __init__(self, parent: ARObject, short_name: str):
206
243
  super().__init__(parent, short_name)
@@ -235,6 +272,7 @@ class BswDataReceivedEvent(BswScheduleEvent):
235
272
  self.dataRef = value
236
273
  return self
237
274
 
275
+
238
276
  class BswInternalTriggerOccurredEvent(BswScheduleEvent):
239
277
  def __init__(self, parent: ARObject, short_name: str):
240
278
  super().__init__(parent, short_name)
@@ -247,6 +285,8 @@ class BswInternalTriggerOccurredEvent(BswScheduleEvent):
247
285
  def setEventSourceRef(self, value):
248
286
  self.eventSourceRef = value
249
287
  return self
288
+
289
+
250
290
  class BswModeSwitchAckRequest(ARObject):
251
291
  def __init__(self):
252
292
  super().__init__()
@@ -260,6 +300,7 @@ class BswModeSwitchAckRequest(ARObject):
260
300
  self.timeout = value
261
301
  return self
262
302
 
303
+
263
304
  class BswModeSenderPolicy(ARObject):
264
305
  def __init__(self):
265
306
  super().__init__()
@@ -287,15 +328,18 @@ class BswModeSenderPolicy(ARObject):
287
328
 
288
329
  def getQueueLength(self) -> ARNumerical:
289
330
  return self._queue_length
290
-
331
+
332
+
291
333
  class BswBackgroundEvent(BswScheduleEvent):
292
334
  def __init__(self, parent, short_name):
293
335
  super().__init__(parent, short_name)
294
336
 
337
+
295
338
  class BswOsTaskExecutionEvent(BswScheduleEvent):
296
339
  def __init__(self, parent, short_name):
297
340
  super().__init__(parent, short_name)
298
341
 
342
+
299
343
  class BswExternalTriggerOccurredEvent(BswScheduleEvent):
300
344
  def __init__(self, parent, short_name):
301
345
  super().__init__(parent, short_name)
@@ -310,24 +354,229 @@ class BswExternalTriggerOccurredEvent(BswScheduleEvent):
310
354
  self.triggerRef = value
311
355
  return self
312
356
 
357
+
358
+ class BswApiOptions(ARObject, metaclass=ABCMeta):
359
+ def __init__(self):
360
+ if type(self) is BswApiOptions:
361
+ raise NotImplementedError("BswApiOptions is an abstract class.")
362
+
363
+ super().__init__()
364
+
365
+ self.enableTakeAddress = None # type: Boolean
366
+
367
+ def getEnableTakeAddress(self):
368
+ return self.enableTakeAddress
369
+
370
+ def setEnableTakeAddress(self, value):
371
+ if value is not None:
372
+ self.enableTakeAddress = value
373
+ return self
374
+
375
+
376
+ class BswDataReceptionPolicy(BswApiOptions, metaclass=ABCMeta):
377
+ def __init__(self):
378
+ if type(self) is BswDataReceptionPolicy:
379
+ raise NotImplementedError("BswDataReceptionPolicy is an abstract class.")
380
+
381
+ super().__init__()
382
+
383
+ self.receivedDataRef = None # type: RefType
384
+
385
+ def getReceivedDataRef(self):
386
+ return self.receivedDataRef
387
+
388
+ def setReceivedDataRef(self, value):
389
+ if value is not None:
390
+ self.receivedDataRef = value
391
+ return self
392
+
393
+
394
+ class BswQueuedDataReceptionPolicy(BswDataReceptionPolicy):
395
+ def __init__(self):
396
+ super().__init__()
397
+
398
+ self.queueLength = None # type: PositiveInteger
399
+
400
+ def getQueueLength(self):
401
+ return self.queueLength
402
+
403
+ def setQueueLength(self, value):
404
+ if value is not None:
405
+ self.queueLength = value
406
+ return self
407
+
408
+
313
409
  class BswInternalBehavior(InternalBehavior):
314
410
  def __init__(self, parent: ARObject, short_name: str):
315
411
  super().__init__(parent, short_name)
316
412
 
413
+ self.arTypedPerInstanceMemories = [] # type: List[VariableDataPrototype]
414
+ self.bswPerInstanceMemoryPolicies = [] # type: List[BswPerInstanceMemoryPolicy]
415
+ self.clientPolicies = [] # type: List[BswClientPolicy]
416
+ self.distinguishedPartitions = [] # type: List[BswDistinguishedPartition]
317
417
  self.entities = [] # type: List[BswModuleEntity]
318
418
  self.events = [] # type: List[BswEvent]
319
- self.mode_sender_policies = [] # type: List[BswModeSenderPolicy]
320
- self.included_mode_declaration_group_sets = [] # type: List[IncludedModeDeclarationGroupSet]
321
- self.included_data_type_sets = [] # type: List[IncludedDataTypeSet]
419
+ self.exclusiveAreaPolicies = [] # type: List[BswExclusiveAreaPolicy]
420
+ self.includedDataTypeSets = [] # type: List[IncludedDataTypeSet]
421
+ self.includedModeDeclarationGroupSets = [] # type: List[IncludedModeDeclarationGroupSet]
422
+ self.internalTriggeringPoints = [] # type: List[BswInternalTriggeringPoint]
423
+ self.internalTriggeringPointPolicies = [] # type: List[BswInternalTriggeringPointPolicy]
424
+ self.modeReceiverPolicies = [] # type: List[BswModeReceiverPolicy]
425
+ self.modeSenderPolicies = [] # type: List[BswModeSenderPolicy]
426
+ self.parameterPolicies = [] # type: List[BswParameterPolicy]
427
+ self.perInstanceParameters = [] # type: List[ParameterDataPrototype]
428
+ self.receptionPolicies = [] # type: List[BswDataReceptionPolicy]
429
+ self.releasedTriggerPolicies = [] # type: List[BswReleasedTriggerPolicy]
430
+ self.schedulerNamePrefixes = [] # type: List[BswSchedulerNamePrefix]
431
+ self.sendPolicies = [] # type: List[BswDataSendPolicy]
432
+ self.serviceDependencies = [] # type: List[BswServiceDependency]
433
+ self.triggerDirectImplementations = [] # type: List[BswTriggerDirectImplementation]
434
+ self.variationPointProxies = [] # type: List[VariationPointProxy]
435
+
436
+ def getArTypedPerInstanceMemories(self):
437
+ return self.arTypedPerInstanceMemories
438
+
439
+ def setArTypedPerInstanceMemories(self, value):
440
+ if value is not None:
441
+ self.arTypedPerInstanceMemories = value
442
+ return self
443
+
444
+ def getBswPerInstanceMemoryPolicies(self):
445
+ return self.bswPerInstanceMemoryPolicies
446
+
447
+ def setBswPerInstanceMemoryPolicies(self, value):
448
+ if value is not None:
449
+ self.bswPerInstanceMemoryPolicies = value
450
+ return self
451
+
452
+ def getClientPolicies(self):
453
+ return self.clientPolicies
454
+
455
+ def setClientPolicies(self, value):
456
+ if value is not None:
457
+ self.clientPolicies = value
458
+ return self
459
+
460
+ def getDistinguishedPartitions(self):
461
+ return self.distinguishedPartitions
462
+
463
+ def setDistinguishedPartitions(self, value):
464
+ if value is not None:
465
+ self.distinguishedPartitions = value
466
+ return self
467
+
468
+ def getExclusiveAreaPolicies(self):
469
+ return self.exclusiveAreaPolicies
470
+
471
+ def setExclusiveAreaPolicies(self, value):
472
+ if value is not None:
473
+ self.exclusiveAreaPolicies = value
474
+ return self
475
+
476
+ def getInternalTriggeringPoints(self):
477
+ return self.internalTriggeringPoints
478
+
479
+ def setInternalTriggeringPoints(self, value):
480
+ if value is not None:
481
+ self.internalTriggeringPoints = value
482
+ return self
483
+
484
+ def getInternalTriggeringPointPolicies(self):
485
+ return self.internalTriggeringPointPolicies
486
+
487
+ def setInternalTriggeringPointPolicies(self, value):
488
+ if value is not None:
489
+ self.internalTriggeringPointPolicies = value
490
+ return self
491
+
492
+ def getModeReceiverPolicies(self):
493
+ return self.modeReceiverPolicies
322
494
 
495
+ def setModeSenderPolicies(self, value):
496
+ if value is not None:
497
+ self.modeSenderPolicies = value
498
+ return self
499
+
500
+ def getParameterPolicies(self):
501
+ return self.parameterPolicies
502
+
503
+ def setParameterPolicies(self, value):
504
+ if value is not None:
505
+ self.parameterPolicies = value
506
+ return self
507
+
508
+ def getPerInstanceParameters(self):
509
+ return self.perInstanceParameters
510
+
511
+ def setPerInstanceParameters(self, value):
512
+ if value is not None:
513
+ self.perInstanceParameters = value
514
+ return self
515
+
516
+ def getReceptionPolicies(self):
517
+ return self.receptionPolicies
518
+
519
+ def addReceptionPolicy(self, value):
520
+ if value is not None:
521
+ self.receptionPolicies.append(value)
522
+ return self
523
+
524
+ def getReleasedTriggerPolicies(self):
525
+ return self.releasedTriggerPolicies
526
+
527
+ def setReleasedTriggerPolicies(self, value):
528
+ if value is not None:
529
+ self.releasedTriggerPolicies = value
530
+ return self
531
+
532
+ def getSchedulerNamePrefixes(self):
533
+ return self.schedulerNamePrefixes
534
+
535
+ def setSchedulerNamePrefixes(self, value):
536
+ if value is not None:
537
+ self.schedulerNamePrefixes = value
538
+ return self
539
+
540
+ def getSendPolicies(self):
541
+ return self.sendPolicies
542
+
543
+ def setSendPolicies(self, value):
544
+ if value is not None:
545
+ self.sendPolicies = value
546
+ return self
547
+
548
+ def getServiceDependencies(self):
549
+ return self.serviceDependencies
550
+
551
+ def setServiceDependencies(self, value):
552
+ if value is not None:
553
+ self.serviceDependencies = value
554
+ return self
555
+
556
+ def getTriggerDirectImplementations(self):
557
+ return self.triggerDirectImplementations
558
+
559
+ def setTriggerDirectImplementations(self, value):
560
+ if value is not None:
561
+ self.triggerDirectImplementations = value
562
+ return self
563
+
564
+ def getVariationPointProxies(self):
565
+ return self.variationPointProxies
566
+
567
+ def setVariationPointProxies(self, value):
568
+ if value is not None:
569
+ self.variationPointProxies = value
570
+ return self
571
+
323
572
  def addModeSenderPolicy(self, policy: BswModeSenderPolicy):
324
- self.mode_sender_policies.append(policy)
573
+ self.modeReceiverPolicies.append(policy)
325
574
 
326
575
  def getModeSenderPolicies(self) -> List[BswModeSenderPolicy]:
327
- return self.mode_sender_policies
576
+ return self.modeReceiverPolicies
328
577
 
329
578
  def createBswCalledEntity(self, short_name: str) -> BswCalledEntity:
330
- if (short_name not in self.elements):
579
+ if not self.IsElementExists(short_name):
331
580
  entity = BswCalledEntity(self, short_name)
332
581
  self.addElement(entity)
333
582
  self.entities.append(entity)
@@ -337,7 +586,7 @@ class BswInternalBehavior(InternalBehavior):
337
586
  return list(filter(lambda a: isinstance(a, BswCalledEntity), self.elements.values()))
338
587
 
339
588
  def createBswSchedulableEntity(self, short_name: str) -> BswSchedulableEntity:
340
- if (short_name not in self.elements):
589
+ if not self.IsElementExists(short_name):
341
590
  entity = BswSchedulableEntity(self, short_name)
342
591
  self.addElement(entity)
343
592
  self.entities.append(entity)
@@ -347,7 +596,7 @@ class BswInternalBehavior(InternalBehavior):
347
596
  return list(filter(lambda a: isinstance(a, BswSchedulableEntity), self.elements.values()))
348
597
 
349
598
  def createBswInterruptEntity(self, short_name: str) -> BswInterruptEntity:
350
- if (short_name not in self.elements):
599
+ if not self.IsElementExists(short_name):
351
600
  entity = BswInterruptEntity(self, short_name)
352
601
  self.addElement(entity)
353
602
  self.entities.append(entity)
@@ -360,61 +609,71 @@ class BswInternalBehavior(InternalBehavior):
360
609
  return list(filter(lambda a: isinstance(a, BswModuleEntity), self.elements.values()))
361
610
 
362
611
  def createBswModeSwitchEvent(self, short_name: str) -> BswModeSwitchEvent:
363
- if (short_name not in self.elements):
612
+ if not self.IsElementExists(short_name):
364
613
  event = BswModeSwitchEvent(self, short_name)
365
- self.elements[short_name] = event
614
+ self.addElement(event)
366
615
  self.events.append(event)
367
- return self.elements[short_name]
616
+ return self.getElement(short_name)
368
617
 
369
618
  def getBswModeSwitchEvents(self) -> List[BswModeSwitchEvent]:
370
619
  return list(filter(lambda a: isinstance(a, BswModeSwitchEvent), self.elements.values()))
371
620
 
372
621
  def createBswTimingEvent(self, short_name: str) -> BswTimingEvent:
373
- if (short_name not in self.elements):
622
+ if not self.IsElementExists(short_name):
374
623
  event = BswTimingEvent(self, short_name)
375
- self.elements[short_name] = event
624
+ self.addElement(event)
376
625
  self.events.append(event)
377
- return self.elements[short_name]
626
+ return self.getElement(short_name)
378
627
 
379
628
  def getBswTimingEvents(self) -> List[BswTimingEvent]:
380
629
  return list(filter(lambda a: isinstance(a, BswTimingEvent), self.elements.values()))
381
630
 
382
631
  def createBswDataReceivedEvent(self, short_name: str) -> BswDataReceivedEvent:
383
- if (short_name not in self.elements):
632
+ if not self.IsElementExists(short_name):
384
633
  event = BswDataReceivedEvent(self, short_name)
385
- self.elements[short_name] = event
634
+ self.addElement(event)
386
635
  self.events.append(event)
387
- return self.elements[short_name]
636
+ return self.getElement(short_name)
388
637
 
389
638
  def getBswDataReceivedEvents(self) -> List[BswDataReceivedEvent]:
390
639
  return list(filter(lambda a: isinstance(a, BswDataReceivedEvent), self.elements.values()))
391
640
 
392
641
  def createBswInternalTriggerOccurredEvent(self, short_name: str) -> BswInternalTriggerOccurredEvent:
393
- if (short_name not in self.elements):
642
+ if not self.IsElementExists(short_name):
394
643
  event = BswInternalTriggerOccurredEvent(self, short_name)
395
- self.elements[short_name] = event
644
+ self.addElement(event)
396
645
  self.events.append(event)
397
- return self.elements[short_name]
646
+ return self.getElement(short_name)
398
647
 
399
648
  def getBswInternalTriggerOccurredEvents(self) -> List[BswInternalTriggerOccurredEvent]:
400
649
  return list(filter(lambda a: isinstance(a, BswInternalTriggerOccurredEvent), self.elements.values()))
401
650
 
402
651
  def createBswExternalTriggerOccurredEvent(self, short_name: str) -> BswExternalTriggerOccurredEvent:
403
- if (short_name not in self.elements):
652
+ if not self.IsElementExists(short_name):
404
653
  event = BswExternalTriggerOccurredEvent(self, short_name)
405
- self.elements[short_name] = event
654
+ self.addElement(event)
406
655
  self.events.append(event)
407
- return self.elements[short_name]
656
+ return self.getElement(short_name)
657
+
658
+ def getBswOperationInvokedEvents(self) -> List[BswOperationInvokedEvent]:
659
+ return list(filter(lambda a: isinstance(a, BswOperationInvokedEvent), self.elements.values()))
660
+
661
+ def createBswOperationInvokedEvent(self, short_name: str) -> BswOperationInvokedEvent:
662
+ if not self.IsElementExists(short_name):
663
+ event = BswOperationInvokedEvent(self, short_name)
664
+ self.addElement(event)
665
+ self.events.append(event)
666
+ return self.getElement(short_name)
408
667
 
409
668
  def getBswExternalTriggerOccurredEvents(self) -> List[BswExternalTriggerOccurredEvent]:
410
669
  return list(filter(lambda a: isinstance(a, BswExternalTriggerOccurredEvent), self.elements.values()))
411
670
 
412
671
  def createBswBackgroundEvent(self, short_name: str) -> BswBackgroundEvent:
413
- if (short_name not in self.elements):
672
+ if not self.IsElementExists(short_name):
414
673
  event = BswBackgroundEvent(self, short_name)
415
- self.elements[short_name] = event
674
+ self.addElement(event)
416
675
  self.events.append(event)
417
- return self.elements[short_name]
676
+ return self.getElement(short_name)
418
677
 
419
678
  def getBswBackgroundEvents(self) -> List[BswBackgroundEvent]:
420
679
  return list(filter(lambda a: isinstance(a, BswBackgroundEvent), self.elements.values()))
@@ -423,15 +682,15 @@ class BswInternalBehavior(InternalBehavior):
423
682
  return list(filter(lambda a: isinstance(a, BswEvent), self.elements.values()))
424
683
 
425
684
  def addIncludedModeDeclarationGroupSet(self, group_set: IncludedModeDeclarationGroupSet):
426
- self.included_mode_declaration_group_sets.append(group_set)
685
+ self.includedModeDeclarationGroupSets.append(group_set)
427
686
 
428
687
  def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
429
- return self.included_mode_declaration_group_sets
688
+ return self.includedModeDeclarationGroupSets
430
689
 
431
690
  def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
432
- self.included_data_type_sets.append(type_set)
691
+ self.includedDataTypeSets.append(type_set)
433
692
 
434
693
  def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
435
- return self.included_data_type_sets
694
+ return self.includedDataTypeSets
436
695
 
437
696