armodel 1.7.6__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 +95 -21
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +359 -59
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +134 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- 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 +215 -157
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +69 -35
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +113 -39
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +3 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- 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/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/EcuResourceMapping.py +45 -0
- 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/Fibex4Ethernet/EthernetTopology.py +9 -0
- 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 +539 -77
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +28 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +33 -21
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +8 -0
- armodel/parser/abstract_arxml_parser.py +34 -27
- armodel/parser/arxml_parser.py +1778 -616
- armodel/parser/file_parser.py +5 -3
- armodel/tests/test_armodel/models/test_ar_package.py +6 -11
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/models/test_port_interface.py +116 -117
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +54 -22
- 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 +27 -33
- armodel/writer/arxml_writer.py +1875 -599
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/METADATA +81 -3
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/RECORD +69 -56
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.8.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.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__()
|
|
@@ -289,24 +330,253 @@ class BswModeSenderPolicy(ARObject):
|
|
|
289
330
|
return self._queue_length
|
|
290
331
|
|
|
291
332
|
|
|
333
|
+
class BswBackgroundEvent(BswScheduleEvent):
|
|
334
|
+
def __init__(self, parent, short_name):
|
|
335
|
+
super().__init__(parent, short_name)
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
class BswOsTaskExecutionEvent(BswScheduleEvent):
|
|
339
|
+
def __init__(self, parent, short_name):
|
|
340
|
+
super().__init__(parent, short_name)
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
class BswExternalTriggerOccurredEvent(BswScheduleEvent):
|
|
344
|
+
def __init__(self, parent, short_name):
|
|
345
|
+
super().__init__(parent, short_name)
|
|
346
|
+
|
|
347
|
+
self.triggerRef = None # type: RefType
|
|
348
|
+
|
|
349
|
+
def getTriggerRef(self):
|
|
350
|
+
return self.triggerRef
|
|
351
|
+
|
|
352
|
+
def setTriggerRef(self, value):
|
|
353
|
+
if value is not None:
|
|
354
|
+
self.triggerRef = value
|
|
355
|
+
return self
|
|
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
|
+
|
|
292
409
|
class BswInternalBehavior(InternalBehavior):
|
|
293
410
|
def __init__(self, parent: ARObject, short_name: str):
|
|
294
411
|
super().__init__(parent, short_name)
|
|
295
412
|
|
|
296
|
-
self.
|
|
297
|
-
self.
|
|
298
|
-
self.
|
|
299
|
-
self.
|
|
300
|
-
self.
|
|
413
|
+
self.arTypedPerInstanceMemories = [] # type: List[VariableDataPrototype]
|
|
414
|
+
self.bswPerInstanceMemoryPolicies = [] # type: List[BswPerInstanceMemoryPolicy]
|
|
415
|
+
self.clientPolicies = [] # type: List[BswClientPolicy]
|
|
416
|
+
self.distinguishedPartitions = [] # type: List[BswDistinguishedPartition]
|
|
417
|
+
self.entities = [] # type: List[BswModuleEntity]
|
|
418
|
+
self.events = [] # type: List[BswEvent]
|
|
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
|
|
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
|
|
301
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
|
+
|
|
302
572
|
def addModeSenderPolicy(self, policy: BswModeSenderPolicy):
|
|
303
|
-
self.
|
|
573
|
+
self.modeReceiverPolicies.append(policy)
|
|
304
574
|
|
|
305
575
|
def getModeSenderPolicies(self) -> List[BswModeSenderPolicy]:
|
|
306
|
-
return self.
|
|
576
|
+
return self.modeReceiverPolicies
|
|
307
577
|
|
|
308
578
|
def createBswCalledEntity(self, short_name: str) -> BswCalledEntity:
|
|
309
|
-
if
|
|
579
|
+
if not self.IsElementExists(short_name):
|
|
310
580
|
entity = BswCalledEntity(self, short_name)
|
|
311
581
|
self.addElement(entity)
|
|
312
582
|
self.entities.append(entity)
|
|
@@ -316,7 +586,7 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
316
586
|
return list(filter(lambda a: isinstance(a, BswCalledEntity), self.elements.values()))
|
|
317
587
|
|
|
318
588
|
def createBswSchedulableEntity(self, short_name: str) -> BswSchedulableEntity:
|
|
319
|
-
if
|
|
589
|
+
if not self.IsElementExists(short_name):
|
|
320
590
|
entity = BswSchedulableEntity(self, short_name)
|
|
321
591
|
self.addElement(entity)
|
|
322
592
|
self.entities.append(entity)
|
|
@@ -326,7 +596,7 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
326
596
|
return list(filter(lambda a: isinstance(a, BswSchedulableEntity), self.elements.values()))
|
|
327
597
|
|
|
328
598
|
def createBswInterruptEntity(self, short_name: str) -> BswInterruptEntity:
|
|
329
|
-
if
|
|
599
|
+
if not self.IsElementExists(short_name):
|
|
330
600
|
entity = BswInterruptEntity(self, short_name)
|
|
331
601
|
self.addElement(entity)
|
|
332
602
|
self.entities.append(entity)
|
|
@@ -339,58 +609,88 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
339
609
|
return list(filter(lambda a: isinstance(a, BswModuleEntity), self.elements.values()))
|
|
340
610
|
|
|
341
611
|
def createBswModeSwitchEvent(self, short_name: str) -> BswModeSwitchEvent:
|
|
342
|
-
if
|
|
612
|
+
if not self.IsElementExists(short_name):
|
|
343
613
|
event = BswModeSwitchEvent(self, short_name)
|
|
344
|
-
self.
|
|
614
|
+
self.addElement(event)
|
|
345
615
|
self.events.append(event)
|
|
346
|
-
return self.
|
|
616
|
+
return self.getElement(short_name)
|
|
347
617
|
|
|
348
618
|
def getBswModeSwitchEvents(self) -> List[BswModeSwitchEvent]:
|
|
349
619
|
return list(filter(lambda a: isinstance(a, BswModeSwitchEvent), self.elements.values()))
|
|
350
620
|
|
|
351
621
|
def createBswTimingEvent(self, short_name: str) -> BswTimingEvent:
|
|
352
|
-
if
|
|
622
|
+
if not self.IsElementExists(short_name):
|
|
353
623
|
event = BswTimingEvent(self, short_name)
|
|
354
|
-
self.
|
|
624
|
+
self.addElement(event)
|
|
355
625
|
self.events.append(event)
|
|
356
|
-
return self.
|
|
626
|
+
return self.getElement(short_name)
|
|
357
627
|
|
|
358
628
|
def getBswTimingEvents(self) -> List[BswTimingEvent]:
|
|
359
629
|
return list(filter(lambda a: isinstance(a, BswTimingEvent), self.elements.values()))
|
|
360
630
|
|
|
361
631
|
def createBswDataReceivedEvent(self, short_name: str) -> BswDataReceivedEvent:
|
|
362
|
-
if
|
|
632
|
+
if not self.IsElementExists(short_name):
|
|
363
633
|
event = BswDataReceivedEvent(self, short_name)
|
|
364
|
-
self.
|
|
634
|
+
self.addElement(event)
|
|
365
635
|
self.events.append(event)
|
|
366
|
-
return self.
|
|
636
|
+
return self.getElement(short_name)
|
|
367
637
|
|
|
368
638
|
def getBswDataReceivedEvents(self) -> List[BswDataReceivedEvent]:
|
|
369
639
|
return list(filter(lambda a: isinstance(a, BswDataReceivedEvent), self.elements.values()))
|
|
370
640
|
|
|
371
641
|
def createBswInternalTriggerOccurredEvent(self, short_name: str) -> BswInternalTriggerOccurredEvent:
|
|
372
|
-
if
|
|
642
|
+
if not self.IsElementExists(short_name):
|
|
373
643
|
event = BswInternalTriggerOccurredEvent(self, short_name)
|
|
374
|
-
self.
|
|
644
|
+
self.addElement(event)
|
|
375
645
|
self.events.append(event)
|
|
376
|
-
return self.
|
|
377
|
-
|
|
646
|
+
return self.getElement(short_name)
|
|
647
|
+
|
|
378
648
|
def getBswInternalTriggerOccurredEvents(self) -> List[BswInternalTriggerOccurredEvent]:
|
|
379
649
|
return list(filter(lambda a: isinstance(a, BswInternalTriggerOccurredEvent), self.elements.values()))
|
|
650
|
+
|
|
651
|
+
def createBswExternalTriggerOccurredEvent(self, short_name: str) -> BswExternalTriggerOccurredEvent:
|
|
652
|
+
if not self.IsElementExists(short_name):
|
|
653
|
+
event = BswExternalTriggerOccurredEvent(self, short_name)
|
|
654
|
+
self.addElement(event)
|
|
655
|
+
self.events.append(event)
|
|
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)
|
|
667
|
+
|
|
668
|
+
def getBswExternalTriggerOccurredEvents(self) -> List[BswExternalTriggerOccurredEvent]:
|
|
669
|
+
return list(filter(lambda a: isinstance(a, BswExternalTriggerOccurredEvent), self.elements.values()))
|
|
670
|
+
|
|
671
|
+
def createBswBackgroundEvent(self, short_name: str) -> BswBackgroundEvent:
|
|
672
|
+
if not self.IsElementExists(short_name):
|
|
673
|
+
event = BswBackgroundEvent(self, short_name)
|
|
674
|
+
self.addElement(event)
|
|
675
|
+
self.events.append(event)
|
|
676
|
+
return self.getElement(short_name)
|
|
677
|
+
|
|
678
|
+
def getBswBackgroundEvents(self) -> List[BswBackgroundEvent]:
|
|
679
|
+
return list(filter(lambda a: isinstance(a, BswBackgroundEvent), self.elements.values()))
|
|
380
680
|
|
|
381
681
|
def getBswEvents(self) -> List[BswEvent]:
|
|
382
682
|
return list(filter(lambda a: isinstance(a, BswEvent), self.elements.values()))
|
|
383
683
|
|
|
384
684
|
def addIncludedModeDeclarationGroupSet(self, group_set: IncludedModeDeclarationGroupSet):
|
|
385
|
-
self.
|
|
685
|
+
self.includedModeDeclarationGroupSets.append(group_set)
|
|
386
686
|
|
|
387
687
|
def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
|
|
388
|
-
return self.
|
|
688
|
+
return self.includedModeDeclarationGroupSets
|
|
389
689
|
|
|
390
690
|
def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
|
|
391
|
-
self.
|
|
691
|
+
self.includedDataTypeSets.append(type_set)
|
|
392
692
|
|
|
393
693
|
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
394
|
-
return self.
|
|
694
|
+
return self.includedDataTypeSets
|
|
395
695
|
|
|
396
696
|
|