armodel 1.7.7__py3-none-any.whl → 1.7.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. armodel/cli/arxml_dump_cli.py +33 -22
  2. armodel/cli/arxml_format_cli.py +25 -13
  3. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +84 -28
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +410 -61
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +80 -9
  6. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +141 -35
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +10 -8
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +17 -6
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +38 -3
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +91 -18
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +73 -0
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +0 -0
  13. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +45 -0
  14. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +0 -0
  15. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +45 -2
  16. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
  17. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
  18. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
  19. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +243 -156
  20. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +73 -0
  21. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
  22. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +35 -14
  23. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +151 -1
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +66 -42
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
  26. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
  27. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +166 -50
  28. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +80 -0
  29. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
  30. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
  31. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +11 -1
  32. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +16 -2
  33. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
  35. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
  36. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
  37. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
  38. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +18 -6
  39. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
  40. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
  41. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
  42. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
  43. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
  44. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
  45. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
  46. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
  47. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
  48. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +10 -1
  49. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +163 -0
  50. armodel/models/M2/MSR/Documentation/BlockElements/__init__.py +0 -0
  51. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +5 -3
  52. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +22 -1
  53. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +94 -9
  54. armodel/models/__init__.py +7 -1
  55. armodel/parser/abstract_arxml_parser.py +39 -32
  56. armodel/parser/arxml_parser.py +1439 -551
  57. armodel/parser/file_parser.py +5 -3
  58. armodel/tests/test_armodel/models/test_ar_package.py +6 -11
  59. armodel/tests/test_armodel/models/test_port_interface.py +116 -117
  60. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
  61. armodel/tests/test_armodel/parser/test_sw_components.py +301 -28
  62. armodel/tests/test_armodel/parser/test_system.py +2 -8
  63. armodel/transformer/__init__.py +0 -0
  64. armodel/transformer/abstract.py +6 -0
  65. armodel/transformer/admin_data.py +31 -0
  66. armodel/writer/abstract_arxml_writer.py +22 -29
  67. armodel/writer/arxml_writer.py +1500 -526
  68. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/METADATA +61 -1
  69. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/RECORD +73 -57
  70. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/LICENSE +0 -0
  71. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/WHEEL +0 -0
  72. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/entry_points.txt +0 -0
  73. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,15 @@
1
1
  from abc import ABCMeta
2
+ from typing import List
2
3
 
3
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
4
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import TextTableMapping
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType
4
6
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
7
  from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationDirectionType
6
8
 
7
- class DataMapping(ARObject, metaclass = ABCMeta):
9
+
10
+ class DataMapping(ARObject, metaclass=ABCMeta):
8
11
  def __init__(self):
9
- if type(self) == ARObject:
12
+ if type(self) is DataMapping:
10
13
  raise NotImplementedError("DataMapping is an abstract class.")
11
14
 
12
15
  super().__init__()
@@ -20,6 +23,7 @@ class DataMapping(ARObject, metaclass = ABCMeta):
20
23
  self.introduction = value
21
24
  return self
22
25
 
26
+
23
27
  class SenderReceiverToSignalMapping(DataMapping):
24
28
  def __init__(self):
25
29
  super().__init__()
@@ -65,13 +69,172 @@ class SenderReceiverToSignalMapping(DataMapping):
65
69
  self.systemSignalRef = value
66
70
  return self
67
71
 
72
+
73
+ class SenderRecCompositeTypeMapping(ARObject, metaclass=ABCMeta):
74
+ def __init__(self):
75
+ if type(self) is SenderRecCompositeTypeMapping:
76
+ raise NotImplementedError("SenderRecCompositeTypeMapping is an abstract class.")
77
+
78
+ super().__init__()
79
+
80
+
81
+ class SenderRecRecordElementMapping(ARObject):
82
+ def __init__(self):
83
+ super().__init__()
84
+
85
+ self.applicationRecordElementRef = None # type: RefType
86
+ self.complexTypeMapping = None # type: SenderRecCompositeTypeMapping
87
+ self.implementationRecordElementRef = None # type: RefType
88
+ self.senderToSignalTextTableMapping = None # type: TextTableMapping
89
+ self.signalToReceiverTextTableMapping = None # type: TextTableMapping
90
+ self.systemSignalRef = None # type: RefType
91
+
92
+ def getApplicationRecordElementRef(self):
93
+ return self.applicationRecordElementRef
94
+
95
+ def setApplicationRecordElementRef(self, value):
96
+ if value is not None:
97
+ self.applicationRecordElementRef = value
98
+ return self
99
+
100
+ def getComplexTypeMapping(self):
101
+ return self.complexTypeMapping
102
+
103
+ def setComplexTypeMapping(self, value):
104
+ if value is not None:
105
+ self.complexTypeMapping = value
106
+ return self
107
+
108
+ def getImplementationRecordElementRef(self):
109
+ return self.implementationRecordElementRef
110
+
111
+ def setImplementationRecordElementRef(self, value):
112
+ if value is not None:
113
+ self.implementationRecordElementRef = value
114
+ return self
115
+
116
+ def getSenderToSignalTextTableMapping(self):
117
+ return self.senderToSignalTextTableMapping
118
+
119
+ def setSenderToSignalTextTableMapping(self, value):
120
+ if value is not None:
121
+ self.senderToSignalTextTableMapping = value
122
+ return self
123
+
124
+ def getSignalToReceiverTextTableMapping(self):
125
+ return self.signalToReceiverTextTableMapping
126
+
127
+ def setSignalToReceiverTextTableMapping(self, value):
128
+ if value is not None:
129
+ self.signalToReceiverTextTableMapping = value
130
+ return self
131
+
132
+ def getSystemSignalRef(self):
133
+ return self.systemSignalRef
134
+
135
+ def setSystemSignalRef(self, value):
136
+ if value is not None:
137
+ self.systemSignalRef = value
138
+ return self
139
+
140
+
141
+ class SenderRecRecordTypeMapping(SenderRecCompositeTypeMapping):
142
+ def __init__(self):
143
+ super().__init__()
144
+
145
+ self.recordElementMappings = [] # type: List[SenderRecRecordElementMapping]
146
+
147
+ def getRecordElementMappings(self):
148
+ return self.recordElementMappings
149
+
150
+ def addRecordElementMapping(self, value):
151
+ if value is not None:
152
+ self.recordElementMappings.append(value)
153
+ return self
154
+
155
+
156
+ class IndexedArrayElement(ARObject):
157
+ def __init__(self):
158
+ super().__init__()
159
+
160
+ self.applicationArrayElementRef = None # type: RefType
161
+ self.implementationArrayElementRef = None # type: RefType
162
+ self.index = None # type: Integer
163
+
164
+
165
+ class SenderRecArrayElementMapping(ARObject):
166
+ def __init__(self):
167
+ super().__init__()
168
+
169
+ self.complexTypeMapping = None # type: SenderRecCompositeTypeMapping
170
+ self.indexedArrayElement = None # type: IndexedArrayElement
171
+ self.systemSignalRef = None # type: RefType
172
+
173
+ def getComplexTypeMapping(self):
174
+ return self.complexTypeMapping
175
+
176
+ def setComplexTypeMapping(self, value):
177
+ if value is not None:
178
+ self.complexTypeMapping = value
179
+ return self
180
+
181
+ def getIndexedArrayElement(self):
182
+ return self.indexedArrayElement
183
+
184
+ def setIndexedArrayElement(self, value):
185
+ if value is not None:
186
+ self.indexedArrayElement = value
187
+ return self
188
+
189
+ def getSystemSignalRef(self):
190
+ return self.systemSignalRef
191
+
192
+ def setSystemSignalRef(self, value):
193
+ if value is not None:
194
+ self.systemSignalRef = value
195
+ return self
196
+
197
+
198
+ class SenderRecArrayTypeMapping(SenderRecCompositeTypeMapping):
199
+ def __init__(self):
200
+ super().__init__()
201
+
202
+ self.arrayElementMappings = [] # type: List[SenderRecArrayElementMapping]
203
+ self.senderToSignal = None # type: TextTableMapping
204
+ self.signalToReceiverTextTableMapping = None # type: TextTableMapping
205
+
206
+ def getArrayElementMappings(self):
207
+ return self.arrayElementMappings
208
+
209
+ def setArrayElementMappings(self, value):
210
+ if value is not None:
211
+ self.arrayElementMappings = value
212
+ return self
213
+
214
+ def getSenderToSignal(self):
215
+ return self.senderToSignal
216
+
217
+ def setSenderToSignal(self, value):
218
+ if value is not None:
219
+ self.senderToSignal = value
220
+ return self
221
+
222
+ def getSignalToReceiverTextTableMapping(self):
223
+ return self.signalToReceiverTextTableMapping
224
+
225
+ def setSignalToReceiverTextTableMapping(self, value):
226
+ if value is not None:
227
+ self.signalToReceiverTextTableMapping = value
228
+ return self
229
+
230
+
68
231
  class SenderReceiverToSignalGroupMapping(DataMapping):
69
232
  def __init__(self):
70
233
  super().__init__()
71
234
 
72
235
  self.dataElementIRef = None # type: RefType
73
236
  self.signalGroupRef = None # type: RefType
74
- self.typeMapping = None
237
+ self.typeMapping = None # type: SenderRecCompositeTypeMapping
75
238
 
76
239
  def getDataElementIRef(self):
77
240
  return self.dataElementIRef
@@ -93,4 +256,3 @@ class SenderReceiverToSignalGroupMapping(DataMapping):
93
256
  def setTypeMapping(self, value):
94
257
  self.typeMapping = value
95
258
  return self
96
-
@@ -1,6 +1,7 @@
1
1
  from typing import List
2
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
2
+ from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
+ from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
4
+
4
5
 
5
6
  class ECUMapping(Identifiable):
6
7
  def __init__(self, parent, short_name):
@@ -9,7 +10,7 @@ class ECUMapping(Identifiable):
9
10
  self.commControllerMappings = [] # type: List[CommunicationControllerMapping]
10
11
  self.ecuRef = None # type: RefType
11
12
  self.ecuInstanceRef = None # type: RefType
12
- self.hwPortMappings =[] # type: List[HwPortMapping]
13
+ self.hwPortMappings = [] # type: List[HwPortMapping]
13
14
 
14
15
  def getCommControllerMappings(self):
15
16
  return self.commControllerMappings
@@ -1,9 +1,11 @@
1
1
  from abc import ABCMeta
2
2
 
3
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger, TimeValue
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveUnlimitedInteger, TimeValue
4
5
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
6
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
6
7
 
8
+
7
9
  class CanControllerFdConfiguration(ARObject):
8
10
  def __init__(self):
9
11
  super().__init__()
@@ -72,6 +74,7 @@ class CanControllerFdConfiguration(ARObject):
72
74
  self.txBitRateSwitch = value
73
75
  return self
74
76
 
77
+
75
78
  class CanControllerFdConfigurationRequirements(ARObject):
76
79
  def __init__(self):
77
80
  super().__init__()
@@ -167,7 +170,8 @@ class CanControllerFdConfigurationRequirements(ARObject):
167
170
  self.txBitRateSwitch = value
168
171
  return self
169
172
 
170
- class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta):
173
+
174
+ class AbstractCanCommunicationControllerAttributes(ARObject, metaclass=ABCMeta):
171
175
  def __init__(self):
172
176
  super().__init__()
173
177
 
@@ -204,6 +208,7 @@ class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta
204
208
  self.canControllerXlRequirements = value
205
209
  return self
206
210
 
211
+
207
212
  class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerAttributes):
208
213
  def __init__(self):
209
214
  super().__init__()
@@ -257,9 +262,10 @@ class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerA
257
262
  self.minSyncJumpWidth = value
258
263
  return self
259
264
 
260
- class AbstractCanCommunicationController(CommunicationController, metaclass = ABCMeta):
265
+
266
+ class AbstractCanCommunicationController(CommunicationController, metaclass=ABCMeta):
261
267
  def __init__(self, parent: ARObject, short_name: str):
262
- if type(self) == AbstractCanCommunicationController:
268
+ if type(self) is AbstractCanCommunicationController:
263
269
  raise NotImplementedError("AbstractCanCommunicationController is an abstract class.")
264
270
 
265
271
  super().__init__(parent, short_name)
@@ -272,63 +278,67 @@ class AbstractCanCommunicationController(CommunicationController, metaclass = AB
272
278
  def setCanControllerAttributes(self, value):
273
279
  self.canControllerAttributes = value
274
280
  return self
275
-
281
+
282
+
276
283
  class CanCommunicationController(AbstractCanCommunicationController):
277
284
  def __init__(self, parent: ARObject, short_name: str):
278
285
  super().__init__(parent, short_name)
279
286
 
280
- class AbstractCanCommunicationConnector(CommunicationConnector, metaclass = ABCMeta):
287
+
288
+ class AbstractCanCommunicationConnector(CommunicationConnector, metaclass=ABCMeta):
281
289
  def __init__(self, parent: ARObject, short_name: str):
282
- if type(self) == AbstractCanCommunicationConnector:
290
+ if type(self) is AbstractCanCommunicationConnector:
283
291
  raise NotImplementedError("AbstractCanCommunicationConnector is an abstract class.")
284
292
 
285
293
  super().__init__(parent, short_name)
286
294
 
295
+
287
296
  class CanCommunicationConnector(AbstractCanCommunicationConnector):
288
297
  def __init__(self, parent: ARObject, short_name: str):
289
- super().__init__(parent, short_name)
298
+ super().__init__(parent, short_name)
290
299
 
291
- # type: PositiveInteger
292
- self.pncWakeupCanId = None
300
+ self.pncWakeupCanId = None # type: PositiveInteger
293
301
  self.pncWakeupCanIdExtended = None # type: Boolean
294
- # type: PositiveInteger
295
- self.pncWakeupCanIdMask = None
296
- # type: PositiveUnlimitedInteger
297
- self.pncWakeupDataMask = None
298
- # type: PositiveInteger
299
- self.pncWakeupDlc = None
302
+ self.pncWakeupCanIdMask = None # type: PositiveInteger
303
+ self.pncWakeupDataMask = None # type: PositiveUnlimitedInteger
304
+ self.pncWakeupDlc = None # type: PositiveInteger
300
305
 
301
306
  def getPncWakeupCanId(self):
302
307
  return self.pncWakeupCanId
303
308
 
304
309
  def setPncWakeupCanId(self, value):
305
- self.pncWakeupCanId = value
310
+ if value is not None:
311
+ self.pncWakeupCanId = value
306
312
  return self
307
313
 
308
314
  def getPncWakeupCanIdExtended(self):
309
315
  return self.pncWakeupCanIdExtended
310
316
 
311
317
  def setPncWakeupCanIdExtended(self, value):
312
- self.pncWakeupCanIdExtended = value
318
+ if value is not None:
319
+ self.pncWakeupCanIdExtended = value
313
320
  return self
314
321
 
315
322
  def getPncWakeupCanIdMask(self):
316
323
  return self.pncWakeupCanIdMask
317
324
 
318
325
  def setPncWakeupCanIdMask(self, value):
319
- self.pncWakeupCanIdMask = value
326
+ if value is not None:
327
+ self.pncWakeupCanIdMask = value
320
328
  return self
321
329
 
322
330
  def getPncWakeupDataMask(self):
323
331
  return self.pncWakeupDataMask
324
332
 
325
333
  def setPncWakeupDataMask(self, value):
326
- self.pncWakeupDataMask = value
334
+ if value is not None:
335
+ self.pncWakeupDataMask = value
327
336
  return self
328
337
 
329
338
  def getPncWakeupDlc(self):
330
339
  return self.pncWakeupDlc
331
340
 
332
341
  def setPncWakeupDlc(self, value):
333
- self.pncWakeupDlc = value
342
+ if value is not None:
343
+ self.pncWakeupDlc = value
334
344
  return self
@@ -2,13 +2,15 @@ from abc import ABCMeta
2
2
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
3
  from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame
4
4
 
5
- class AbstractEthernetFrame(Frame, metaclass = ABCMeta):
5
+
6
+ class AbstractEthernetFrame(Frame, metaclass=ABCMeta):
6
7
  def __init__(self, parent: ARObject, short_name: str):
7
- if type(self) == AbstractEthernetFrame:
8
+ if type(self) is AbstractEthernetFrame:
8
9
  raise NotImplementedError("AbstractEthernetFrame is an abstract class.")
9
10
 
10
11
  super().__init__(parent, short_name)
11
12
 
13
+
12
14
  class GenericEthernetFrame(AbstractEthernetFrame):
13
15
  def __init__(self, parent: ARObject, short_name: str):
14
- super().__init__(parent, short_name)
16
+ super().__init__(parent, short_name)
@@ -2,9 +2,12 @@ from abc import ABCMeta
2
2
  from typing import List
3
3
 
4
4
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
5
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, MacAddressString, PositiveInteger, RefType, TimeValue
5
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, MacAddressString, PositiveInteger
6
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, TimeValue
6
7
  from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector, CommunicationController
8
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector
9
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationController
10
+
8
11
 
9
12
  class MacMulticastGroup(Identifiable):
10
13
  def __init__(self, parent, short_name):
@@ -19,6 +22,8 @@ class MacMulticastGroup(Identifiable):
19
22
  if value is not None:
20
23
  self.macMulticastAddress = value
21
24
  return self
25
+
26
+
22
27
  class EthernetCluster(CommunicationCluster):
23
28
  def __init__(self, parent: ARObject, short_name: str):
24
29
  super().__init__(parent, short_name)
@@ -62,13 +67,15 @@ class EthernetCluster(CommunicationCluster):
62
67
  self.macMulticastGroups.append(group)
63
68
  return self.getElement(short_name)
64
69
 
65
- class CouplingPortStructuralElement(Identifiable, metaclass = ABCMeta):
70
+
71
+ class CouplingPortStructuralElement(Identifiable, metaclass=ABCMeta):
66
72
  def __init__(self, parent: ARObject, short_name: str):
67
- if type(self) == CouplingPortStructuralElement:
73
+ if type(self) is CouplingPortStructuralElement:
68
74
  raise NotImplementedError("CouplingPortStructuralElement is an abstract class.")
69
75
 
70
76
  super().__init__(parent, short_name)
71
77
 
78
+
72
79
  class CouplingPortFifo(CouplingPortStructuralElement):
73
80
  def __init__(self, parent: ARObject, short_name: str):
74
81
  super().__init__(parent, short_name)
@@ -109,7 +116,8 @@ class CouplingPortFifo(CouplingPortStructuralElement):
109
116
  if value is not None:
110
117
  self.trafficClassPreemptionSupport = value
111
118
  return self
112
-
119
+
120
+
113
121
  class CouplingPortScheduler(CouplingPortStructuralElement):
114
122
  def __init__(self, parent, short_name):
115
123
  super().__init__(parent, short_name)
@@ -133,6 +141,7 @@ class CouplingPortScheduler(CouplingPortStructuralElement):
133
141
  self.predecessorRefs.append(value)
134
142
  return self
135
143
 
144
+
136
145
  class EthernetPriorityRegeneration(Referrable):
137
146
  def __init__(self, parent, short_name):
138
147
  super().__init__(parent, short_name)
@@ -253,6 +262,7 @@ class CouplingPortDetails(ARObject):
253
262
  self.vlanTranslationTables = value
254
263
  return self
255
264
 
265
+
256
266
  class VlanMembership(ARObject):
257
267
  def __init__(self):
258
268
  super().__init__()
@@ -427,7 +437,6 @@ class CouplingPort(Identifiable):
427
437
  return self
428
438
 
429
439
 
430
-
431
440
  class EthernetCommunicationController(CommunicationController):
432
441
  def __init__(self, parent: ARObject, short_name: str):
433
442
  super().__init__(parent, short_name)
@@ -500,6 +509,7 @@ class EthernetCommunicationController(CommunicationController):
500
509
  self.slaveQualifiedUnexpectedLinkDownTime = value
501
510
  return self
502
511
 
512
+
503
513
  class EthernetCommunicationConnector(CommunicationConnector):
504
514
  def __init__(self, parent: ARObject, short_name: str):
505
515
  super().__init__(parent, short_name)
@@ -554,6 +564,7 @@ class EthernetCommunicationConnector(CommunicationConnector):
554
564
  self.pathMtuTimeout = value
555
565
  return self
556
566
 
567
+
557
568
  class RequestResponseDelay(ARObject):
558
569
  def __init__(self):
559
570
  super().__init__()
@@ -577,6 +588,7 @@ class RequestResponseDelay(ARObject):
577
588
  self.minValue = value
578
589
  return self
579
590
 
591
+
580
592
  class InitialSdDelayConfig(ARObject):
581
593
  def __init__(self):
582
594
  super().__init__()
@@ -0,0 +1,76 @@
1
+ from typing import List
2
+
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame, FrameTriggering
6
+
7
+
8
+ class FlexrayFrame(Frame):
9
+ def __init__(self, parent: ARObject, short_name: str):
10
+ super().__init__(parent, short_name)
11
+
12
+
13
+ class FlexrayAbsolutelyScheduledTiming(ARObject):
14
+ def __init__(self):
15
+ super().__init__()
16
+
17
+ self.communicationCycle = None # type: CommunicationCycle
18
+ self.slotID = None # type: PositiveInteger
19
+
20
+ def getCommunicationCycle(self):
21
+ return self.communicationCycle
22
+
23
+ def setCommunicationCycle(self, value):
24
+ if value is not None:
25
+ self.communicationCycle = value
26
+ return self
27
+
28
+ def getSlotID(self):
29
+ return self.slotID
30
+
31
+ def setSlotID(self, value):
32
+ if value is not None:
33
+ self.slotID = value
34
+ return self
35
+
36
+
37
+ class FlexrayFrameTriggering(FrameTriggering):
38
+ def __init__(self, parent: ARObject, short_name: str):
39
+ super().__init__(parent, short_name)
40
+
41
+ self.absolutelyScheduledTimings = [] # type: List[FlexrayAbsolutelyScheduledTiming]
42
+ self.allowDynamicLSduLength = None # type: Boolean
43
+ self.messageId = None # type: PositiveInteger
44
+ self.payloadPreambleIndicator = None # type: Boolean
45
+
46
+ def getAbsolutelyScheduledTimings(self):
47
+ return self.absolutelyScheduledTimings
48
+
49
+ def addAbsolutelyScheduledTiming(self, value):
50
+ if value is not None:
51
+ self.absolutelyScheduledTimings.append(value)
52
+ return self
53
+
54
+ def getAllowDynamicLSduLength(self):
55
+ return self.allowDynamicLSduLength
56
+
57
+ def setAllowDynamicLSduLength(self, value):
58
+ if value is not None:
59
+ self.allowDynamicLSduLength = value
60
+ return self
61
+
62
+ def getMessageId(self):
63
+ return self.messageId
64
+
65
+ def setMessageId(self, value):
66
+ if value is not None:
67
+ self.messageId = value
68
+ return self
69
+
70
+ def getPayloadPreambleIndicator(self):
71
+ return self.payloadPreambleIndicator
72
+
73
+ def setPayloadPreambleIndicator(self, value):
74
+ if value is not None:
75
+ self.payloadPreambleIndicator = value
76
+ return self