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