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.
- armodel/cli/arxml_dump_cli.py +33 -22
- armodel/cli/arxml_format_cli.py +25 -13
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +64 -29
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +322 -63
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +10 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +18 -2
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +214 -156
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +63 -42
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +111 -38
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
- armodel/models/__init__.py +5 -1
- armodel/parser/abstract_arxml_parser.py +34 -30
- armodel/parser/arxml_parser.py +1196 -525
- armodel/parser/file_parser.py +5 -3
- armodel/tests/test_armodel/models/test_ar_package.py +6 -11
- armodel/tests/test_armodel/models/test_port_interface.py +116 -117
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
- armodel/tests/test_armodel/parser/test_sw_components.py +38 -27
- armodel/tests/test_armodel/parser/test_system.py +2 -8
- armodel/transformer/__init__.py +0 -0
- armodel/transformer/abstract.py +6 -0
- armodel/transformer/admin_data.py +31 -0
- armodel/writer/abstract_arxml_writer.py +22 -29
- armodel/writer/arxml_writer.py +1198 -477
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/METADATA +41 -1
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/RECORD +52 -43
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.8.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
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,
|
|
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.
|
|
10
|
-
from
|
|
11
|
-
from
|
|
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
|
-
|
|
52
|
+
|
|
53
|
+
class BswModuleEntity(ExecutableEntity, metaclass=ABCMeta):
|
|
48
54
|
def __init__(self, parent: ARObject, short_name: str):
|
|
49
|
-
if type(self)
|
|
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
|
|
67
|
-
|
|
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
|
|
74
|
-
|
|
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
|
|
81
|
-
|
|
88
|
+
def setCallPoints(self, value):
|
|
89
|
+
if value is not None:
|
|
90
|
+
self.callPoints = value
|
|
82
91
|
return self
|
|
83
92
|
|
|
84
|
-
def
|
|
93
|
+
def getDataReceivePoints(self):
|
|
85
94
|
return self.dataReceivePoints
|
|
86
95
|
|
|
87
|
-
def
|
|
88
|
-
self.
|
|
89
|
-
|
|
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
|
|
95
|
-
self.
|
|
96
|
-
|
|
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
|
-
|
|
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
|
|
109
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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)
|
|
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.
|
|
320
|
-
self.
|
|
321
|
-
self.
|
|
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.
|
|
573
|
+
self.modeReceiverPolicies.append(policy)
|
|
325
574
|
|
|
326
575
|
def getModeSenderPolicies(self) -> List[BswModeSenderPolicy]:
|
|
327
|
-
return self.
|
|
576
|
+
return self.modeReceiverPolicies
|
|
328
577
|
|
|
329
578
|
def createBswCalledEntity(self, short_name: str) -> BswCalledEntity:
|
|
330
|
-
if
|
|
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
|
|
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
|
|
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
|
|
612
|
+
if not self.IsElementExists(short_name):
|
|
364
613
|
event = BswModeSwitchEvent(self, short_name)
|
|
365
|
-
self.
|
|
614
|
+
self.addElement(event)
|
|
366
615
|
self.events.append(event)
|
|
367
|
-
return self.
|
|
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
|
|
622
|
+
if not self.IsElementExists(short_name):
|
|
374
623
|
event = BswTimingEvent(self, short_name)
|
|
375
|
-
self.
|
|
624
|
+
self.addElement(event)
|
|
376
625
|
self.events.append(event)
|
|
377
|
-
return self.
|
|
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
|
|
632
|
+
if not self.IsElementExists(short_name):
|
|
384
633
|
event = BswDataReceivedEvent(self, short_name)
|
|
385
|
-
self.
|
|
634
|
+
self.addElement(event)
|
|
386
635
|
self.events.append(event)
|
|
387
|
-
return self.
|
|
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
|
|
642
|
+
if not self.IsElementExists(short_name):
|
|
394
643
|
event = BswInternalTriggerOccurredEvent(self, short_name)
|
|
395
|
-
self.
|
|
644
|
+
self.addElement(event)
|
|
396
645
|
self.events.append(event)
|
|
397
|
-
return self.
|
|
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
|
|
652
|
+
if not self.IsElementExists(short_name):
|
|
404
653
|
event = BswExternalTriggerOccurredEvent(self, short_name)
|
|
405
|
-
self.
|
|
654
|
+
self.addElement(event)
|
|
406
655
|
self.events.append(event)
|
|
407
|
-
return self.
|
|
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
|
|
672
|
+
if not self.IsElementExists(short_name):
|
|
414
673
|
event = BswBackgroundEvent(self, short_name)
|
|
415
|
-
self.
|
|
674
|
+
self.addElement(event)
|
|
416
675
|
self.events.append(event)
|
|
417
|
-
return self.
|
|
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.
|
|
685
|
+
self.includedModeDeclarationGroupSets.append(group_set)
|
|
427
686
|
|
|
428
687
|
def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
|
|
429
|
-
return self.
|
|
688
|
+
return self.includedModeDeclarationGroupSets
|
|
430
689
|
|
|
431
690
|
def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
|
|
432
|
-
self.
|
|
691
|
+
self.includedDataTypeSets.append(type_set)
|
|
433
692
|
|
|
434
693
|
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
435
|
-
return self.
|
|
694
|
+
return self.includedDataTypeSets
|
|
436
695
|
|
|
437
696
|
|