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.
- armodel/cli/arxml_dump_cli.py +33 -22
- armodel/cli/arxml_format_cli.py +25 -13
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +84 -28
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +410 -61
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +80 -9
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +141 -35
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +10 -8
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +17 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +38 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +91 -18
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +73 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +45 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +45 -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 +243 -156
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +73 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +35 -14
- armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +151 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +66 -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 +166 -50
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +80 -0
- 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 +11 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +16 -2
- 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/Fibex4Ethernet/EthernetTopology.py +18 -6
- 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/M2/MSR/DataDictionary/DataDefProperties.py +10 -1
- armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +163 -0
- armodel/models/M2/MSR/Documentation/BlockElements/__init__.py +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +5 -3
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +22 -1
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +94 -9
- armodel/models/__init__.py +7 -1
- armodel/parser/abstract_arxml_parser.py +39 -32
- armodel/parser/arxml_parser.py +1439 -551
- 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 +301 -28
- 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 +1500 -526
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/METADATA +61 -1
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/RECORD +73 -57
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/LICENSE +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/WHEEL +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
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,
|
|
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.
|
|
10
|
-
from
|
|
11
|
-
from
|
|
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
|
-
|
|
123
|
+
|
|
124
|
+
class BswModuleEntity(ExecutableEntity, metaclass=ABCMeta):
|
|
48
125
|
def __init__(self, parent: ARObject, short_name: str):
|
|
49
|
-
if type(self)
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
81
|
-
self.
|
|
82
|
-
|
|
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
|
|
166
|
+
def getDataReceivePoints(self):
|
|
85
167
|
return self.dataReceivePoints
|
|
86
168
|
|
|
87
|
-
def
|
|
88
|
-
self.
|
|
89
|
-
|
|
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
|
|
95
|
-
self.
|
|
96
|
-
|
|
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
|
-
|
|
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
|
|
109
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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)
|
|
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.
|
|
320
|
-
self.
|
|
321
|
-
self.
|
|
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.
|
|
663
|
+
self.modeReceiverPolicies.append(policy)
|
|
325
664
|
|
|
326
665
|
def getModeSenderPolicies(self) -> List[BswModeSenderPolicy]:
|
|
327
|
-
return self.
|
|
666
|
+
return self.modeReceiverPolicies
|
|
328
667
|
|
|
329
668
|
def createBswCalledEntity(self, short_name: str) -> BswCalledEntity:
|
|
330
|
-
if
|
|
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
|
|
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
|
|
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
|
|
702
|
+
if not self.IsElementExists(short_name):
|
|
364
703
|
event = BswModeSwitchEvent(self, short_name)
|
|
365
|
-
self.
|
|
704
|
+
self.addElement(event)
|
|
366
705
|
self.events.append(event)
|
|
367
|
-
return self.
|
|
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
|
|
712
|
+
if not self.IsElementExists(short_name):
|
|
374
713
|
event = BswTimingEvent(self, short_name)
|
|
375
|
-
self.
|
|
714
|
+
self.addElement(event)
|
|
376
715
|
self.events.append(event)
|
|
377
|
-
return self.
|
|
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
|
|
722
|
+
if not self.IsElementExists(short_name):
|
|
384
723
|
event = BswDataReceivedEvent(self, short_name)
|
|
385
|
-
self.
|
|
724
|
+
self.addElement(event)
|
|
386
725
|
self.events.append(event)
|
|
387
|
-
return self.
|
|
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
|
|
732
|
+
if not self.IsElementExists(short_name):
|
|
394
733
|
event = BswInternalTriggerOccurredEvent(self, short_name)
|
|
395
|
-
self.
|
|
734
|
+
self.addElement(event)
|
|
396
735
|
self.events.append(event)
|
|
397
|
-
return self.
|
|
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
|
|
742
|
+
if not self.IsElementExists(short_name):
|
|
404
743
|
event = BswExternalTriggerOccurredEvent(self, short_name)
|
|
405
|
-
self.
|
|
744
|
+
self.addElement(event)
|
|
406
745
|
self.events.append(event)
|
|
407
|
-
return self.
|
|
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
|
|
762
|
+
if not self.IsElementExists(short_name):
|
|
414
763
|
event = BswBackgroundEvent(self, short_name)
|
|
415
|
-
self.
|
|
764
|
+
self.addElement(event)
|
|
416
765
|
self.events.append(event)
|
|
417
|
-
return self.
|
|
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.
|
|
775
|
+
self.includedModeDeclarationGroupSets.append(group_set)
|
|
427
776
|
|
|
428
777
|
def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
|
|
429
|
-
return self.
|
|
778
|
+
return self.includedModeDeclarationGroupSets
|
|
430
779
|
|
|
431
780
|
def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
|
|
432
|
-
self.
|
|
781
|
+
self.includedDataTypeSets.append(type_set)
|
|
433
782
|
|
|
434
783
|
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
435
|
-
return self.
|
|
784
|
+
return self.includedDataTypeSets
|
|
436
785
|
|
|
437
786
|
|