armodel 1.8.0__py3-none-any.whl → 1.8.1__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 (49) hide show
  1. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +0 -1
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +14 -14
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +2 -3
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +1 -1
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +7 -7
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +4 -4
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -3
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +3 -3
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +3 -3
  11. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +86 -9
  12. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1249 -0
  13. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +13 -10
  14. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +238 -225
  15. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +5 -4
  16. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +46 -25
  17. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +33 -3
  18. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +18 -20
  19. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -19
  20. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +4 -4
  21. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +71 -27
  22. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +9 -9
  23. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +172 -128
  24. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +11 -11
  25. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +8 -8
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +2 -2
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +6 -6
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +6 -6
  29. armodel/models/M2/MSR/AsamHdo/AdminData.py +101 -8
  30. armodel/parser/abstract_arxml_parser.py +8 -5
  31. armodel/parser/arxml_parser.py +332 -16
  32. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +116 -0
  33. armodel/tests/test_armodel/models/test_Identifiable.py +85 -0
  34. armodel/tests/test_armodel/models/test_ar_object.py +85 -86
  35. armodel/tests/test_armodel/models/test_ar_package.py +70 -70
  36. armodel/tests/test_armodel/models/test_ar_ref.py +36 -36
  37. armodel/tests/test_armodel/models/test_common_structure.py +37 -35
  38. armodel/tests/test_armodel/models/test_datatype.py +4 -4
  39. armodel/tests/test_armodel/models/test_general_structure.py +19 -18
  40. armodel/tests/test_armodel/models/test_port_interface.py +2 -6
  41. armodel/tests/test_armodel/parser/test_arxml_parser.py +8 -8
  42. armodel/writer/abstract_arxml_writer.py +6 -2
  43. armodel/writer/arxml_writer.py +376 -29
  44. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/METADATA +17 -1
  45. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/RECORD +49 -46
  46. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/LICENSE +0 -0
  47. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/WHEEL +0 -0
  48. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/entry_points.txt +0 -0
  49. {armodel-1.8.0.dist-info → armodel-1.8.1.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,7 @@ from .....M2.AUTOSARTemplates.CommonStructure.StandardizationTemplate.BlueprintD
21
21
  from .....M2.AUTOSARTemplates.CommonStructure.StandardizationTemplate.Keyword import KeywordSet
22
22
  from .....M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
23
23
  from .....M2.AUTOSARTemplates.DiagnosticExtract.DiagnosticContribution import DiagnosticServiceTable
24
- from .....M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigurationValues, EcucValueCollection
24
+ from .....M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigurationValues, EcucModuleDef, EcucValueCollection
25
25
  from .....M2.AUTOSARTemplates.EcuResourceTemplate import HwElement
26
26
  from .....M2.AUTOSARTemplates.EcuResourceTemplate.HwElementCategory import HwCategory, HwType
27
27
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
@@ -36,8 +36,9 @@ from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import Appl
36
36
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationPrimitiveDataType, ApplicationRecordDataType
37
37
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
38
38
  from .....M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
39
- from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerInterface, ModeSwitchInterface, ParameterInterface
39
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerInterface, ModeDeclarationMappingSet, ModeSwitchInterface
40
40
  from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import PortInterfaceMappingSet, SenderReceiverInterface, TriggerInterface
41
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ParameterInterface
41
42
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
42
43
 
43
44
  from .....M2.AUTOSARTemplates.SystemTemplate import System
@@ -133,666 +134,678 @@ class ARPackage(Identifiable, CollectableElement):
133
134
 
134
135
  def getARPackages(self): # type: (...) -> List[ARPackage]
135
136
  return list(sorted(self.arPackages.values(), key=lambda a: a.short_name))
136
- # return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
137
+ # return list(filter(lambda e: isinstance(e, ARPackage), self.elements))
137
138
 
138
139
  def createARPackage(self, short_name: str):
139
- '''
140
- if (not self.IsElementExists(short_name)):
141
- ar_package = ARPackage(self, short_name)
142
- self.elements[short_name] = ar_package
143
- return self.elements[short_name]
144
- '''
145
140
  if short_name not in self.arPackages:
146
141
  ar_package = ARPackage(self, short_name)
147
142
  self.arPackages[short_name] = ar_package
148
143
  return self.arPackages[short_name]
149
144
 
150
- def getElement(self, short_name: str) -> Referrable:
145
+ def getElement(self, short_name: str, type=None) -> Referrable:
151
146
  if (short_name in self.arPackages):
152
147
  return self.arPackages[short_name]
153
- return CollectableElement.getElement(self, short_name)
148
+ return CollectableElement.getElement(self, short_name, type)
154
149
 
155
150
  def createEcuAbstractionSwComponentType(self, short_name: str) -> EcuAbstractionSwComponentType:
156
- if (not self.IsElementExists(short_name)):
151
+ if not self.IsElementExists(short_name, EcuAbstractionSwComponentType):
157
152
  sw_component = EcuAbstractionSwComponentType(self, short_name)
158
153
  self.addElement(sw_component)
159
- return self.getElement(short_name)
154
+ return self.getElement(short_name, EcuAbstractionSwComponentType)
160
155
 
161
156
  def createApplicationSwComponentType(self, short_name: str) -> ApplicationSwComponentType:
162
- if not self.IsElementExists(short_name):
157
+ if not self.IsElementExists(short_name, ApplicationSwComponentType):
163
158
  sw_component = ApplicationSwComponentType(self, short_name)
164
159
  self.addElement(sw_component)
165
- return self.getElement(short_name)
160
+ return self.getElement(short_name, ApplicationSwComponentType)
166
161
 
167
162
  def createComplexDeviceDriverSwComponentType(self, short_name: str) -> ComplexDeviceDriverSwComponentType:
168
- if not self.IsElementExists(short_name):
163
+ if not self.IsElementExists(short_name, ComplexDeviceDriverSwComponentType):
169
164
  sw_component = ComplexDeviceDriverSwComponentType(self, short_name)
170
165
  self.addElement(sw_component)
171
- return self.getElement(short_name)
166
+ return self.getElement(short_name, ComplexDeviceDriverSwComponentType)
172
167
 
173
168
  def createServiceSwComponentType(self, short_name: str) -> ServiceSwComponentType:
174
- if (not self.IsElementExists(short_name)):
169
+ if not self.IsElementExists(short_name, ServiceSwComponentType):
175
170
  sw_component = ServiceSwComponentType(self, short_name)
176
171
  self.addElement(sw_component)
177
- return self.getElement(short_name)
172
+ return self.getElement(short_name, ServiceSwComponentType)
178
173
 
179
174
  def createSensorActuatorSwComponentType(self, short_name: str) -> SensorActuatorSwComponentType:
180
- if (not self.IsElementExists(short_name)):
175
+ if not self.IsElementExists(short_name, SensorActuatorSwComponentType):
181
176
  sw_component = SensorActuatorSwComponentType(self, short_name)
182
177
  self.addElement(sw_component)
183
- return self.getElement(short_name)
178
+ return self.getElement(short_name, SensorActuatorSwComponentType)
184
179
 
185
180
  def createCompositionSwComponentType(self, short_name: str) -> CompositionSwComponentType:
186
- if (not self.IsElementExists(short_name)):
181
+ if not self.IsElementExists(short_name, CompositionSwComponentType):
187
182
  sw_component = CompositionSwComponentType(self, short_name)
188
183
  self.addElement(sw_component)
189
- return self.getElement(short_name)
184
+ return self.getElement(short_name, CompositionSwComponentType)
190
185
 
191
186
  def createSenderReceiverInterface(self, short_name: str) -> SenderReceiverInterface:
192
- if (not self.IsElementExists(short_name)):
187
+ if not self.IsElementExists(short_name, SenderReceiverInterface):
193
188
  sr_interface = SenderReceiverInterface(self, short_name)
194
189
  self.addElement(sr_interface)
195
- return self.getElement(short_name)
190
+ return self.getElement(short_name, SenderReceiverInterface)
196
191
 
197
192
  def createParameterInterface(self, short_name: str) -> ParameterInterface:
198
- if (not self.IsElementExists(short_name)):
193
+ if not self.IsElementExists(short_name, ParameterInterface):
199
194
  sr_interface = ParameterInterface(self, short_name)
200
195
  self.addElement(sr_interface)
201
- return self.getElement(short_name)
196
+ return self.getElement(short_name, ParameterInterface)
202
197
 
203
198
  def createGenericEthernetFrame(self, short_name: str) -> GenericEthernetFrame:
204
- if (not self.IsElementExists(short_name)):
199
+ if not self.IsElementExists(short_name, GenericEthernetFrame):
205
200
  frame = GenericEthernetFrame(self, short_name)
206
201
  self.addElement(frame)
207
- return self.getElement(short_name)
202
+ return self.getElement(short_name, GenericEthernetFrame)
208
203
 
209
204
  def createLifeCycleInfoSet(self, short_name: str) -> LifeCycleInfoSet:
210
- if (not self.IsElementExists(short_name)):
205
+ if not self.IsElementExists(short_name, LifeCycleInfoSet):
211
206
  set = LifeCycleInfoSet(self, short_name)
212
207
  self.addElement(set)
213
- return self.getElement(short_name)
208
+ return self.getElement(short_name, LifeCycleInfoSet)
214
209
 
215
210
  def createClientServerInterface(self, short_name: str) -> ClientServerInterface:
216
- if (not self.IsElementExists(short_name)):
211
+ if not self.IsElementExists(short_name, ClientServerInterface):
217
212
  cs_interface = ClientServerInterface(self, short_name)
218
213
  self.addElement(cs_interface)
219
- return self.getElement(short_name)
214
+ return self.getElement(short_name, ClientServerInterface)
220
215
 
221
216
  def createApplicationPrimitiveDataType(self, short_name: str) -> ApplicationPrimitiveDataType:
222
- if (not self.IsElementExists(short_name)):
217
+ if not self.IsElementExists(short_name, ApplicationPrimitiveDataType):
223
218
  data_type = ApplicationPrimitiveDataType(self, short_name)
224
219
  self.addElement(data_type)
225
- return self.getElement(short_name)
220
+ return self.getElement(short_name, ApplicationPrimitiveDataType)
226
221
 
227
222
  def createApplicationRecordDataType(self, short_name: str) -> ApplicationPrimitiveDataType:
228
- if (not self.IsElementExists(short_name)):
223
+ if not self.IsElementExists(short_name, ApplicationRecordDataType):
229
224
  data_type = ApplicationRecordDataType(self, short_name)
230
225
  self.addElement(data_type)
231
- return self.getElement(short_name)
226
+ return self.getElement(short_name, ApplicationRecordDataType)
232
227
 
233
228
  def createImplementationDataType(self, short_name: str) -> ImplementationDataType:
234
- if (not self.IsElementExists(short_name)):
229
+ if not self.IsElementExists(short_name, ImplementationDataType):
235
230
  data_type = ImplementationDataType(self, short_name)
236
231
  self.addElement(data_type)
237
- return self.getElement(short_name)
232
+ return self.getElement(short_name, ImplementationDataType)
238
233
 
239
234
  def createSwBaseType(self, short_name: str) -> SwBaseType:
240
- if (not self.IsElementExists(short_name)):
235
+ if not self.IsElementExists(short_name, SwBaseType):
241
236
  base_type = SwBaseType(self, short_name)
242
237
  self.addElement(base_type)
243
- return self.getElement(short_name)
238
+ return self.getElement(short_name, SwBaseType)
244
239
 
245
240
  def createDataTypeMappingSet(self, short_name: str) -> DataTypeMappingSet:
246
- if (not self.IsElementExists(short_name)):
241
+ if not self.IsElementExists(short_name, DataTypeMappingSet):
247
242
  mapping_set = DataTypeMappingSet(self, short_name)
248
243
  self.addElement(mapping_set)
249
- return self.getElement(short_name)
244
+ return self.getElement(short_name, DataTypeMappingSet)
250
245
 
251
246
  def createCompuMethod(self, short_name: str) -> CompuMethod:
252
- if (not self.IsElementExists(short_name)):
247
+ if (not self.IsElementExists(short_name, CompuMethod)):
253
248
  compu_method = CompuMethod(self, short_name)
254
249
  self.addElement(compu_method)
255
- return self.getElement(short_name)
250
+ return self.getElement(short_name, CompuMethod)
256
251
 
257
252
  def createBswModuleDescription(self, short_name: str) -> BswModuleDescription:
258
- if (not self.IsElementExists(short_name)):
253
+ if not self.IsElementExists(short_name, BswModuleDescription):
259
254
  desc = BswModuleDescription(self, short_name)
260
255
  self.addElement(desc)
261
- return self.getElement(short_name)
256
+ return self.getElement(short_name, BswModuleDescription)
262
257
 
263
258
  def createBswModuleEntry(self, short_name: str) -> BswModuleEntry:
264
- if (not self.IsElementExists(short_name)):
259
+ if not self.IsElementExists(short_name, BswModuleEntry):
265
260
  entry = BswModuleEntry(self, short_name)
266
261
  self.addElement(entry)
267
- return self.getElement(short_name)
262
+ return self.getElement(short_name, BswModuleEntry)
268
263
 
269
264
  def createBswImplementation(self, short_name: str) -> BswImplementation:
270
- if (not self.IsElementExists(short_name)):
265
+ if not self.IsElementExists(short_name, BswImplementation):
271
266
  impl = BswImplementation(self, short_name)
272
267
  self.addElement(impl)
273
- return self.getElement(short_name)
268
+ return self.getElement(short_name, BswImplementation)
274
269
 
275
270
  def createSwcImplementation(self, short_name: str) -> SwcImplementation:
276
- if (not self.IsElementExists(short_name)):
271
+ if not self.IsElementExists(short_name, SwcImplementation):
277
272
  impl = SwcImplementation(self, short_name)
278
273
  self.addElement(impl)
279
- return self.getElement(short_name)
274
+ return self.getElement(short_name, SwcImplementation)
280
275
 
281
276
  def createSwcBswMapping(self, short_name: str) -> SwcBswMapping:
282
- if (not self.IsElementExists(short_name)):
277
+ if not self.IsElementExists(short_name, SwcBswMapping):
283
278
  mapping = SwcBswMapping(self, short_name)
284
279
  self.addElement(mapping)
285
- return self.getElement(short_name)
280
+ return self.getElement(short_name, SwcBswMapping)
286
281
 
287
282
  def createConstantSpecification(self, short_name: str) -> ConstantSpecification:
288
- if (not self.IsElementExists(short_name)):
283
+ if not self.IsElementExists(short_name, ConstantSpecification):
289
284
  spec = ConstantSpecification(self, short_name)
290
285
  self.addElement(spec)
291
- return self.getElement(short_name)
286
+ return self.getElement(short_name, ConstantSpecification)
292
287
 
293
288
  def createDataConstr(self, short_name: str) -> DataConstr:
294
- if (not self.IsElementExists(short_name)):
289
+ if not self.IsElementExists(short_name, DataConstr):
295
290
  constr = DataConstr(self, short_name)
296
291
  self.addElement(constr)
297
- return self.getElement(short_name)
292
+ return self.getElement(short_name, DataConstr)
298
293
 
299
294
  def createUnit(self, short_name: str) -> Unit:
300
- if (not self.IsElementExists(short_name)):
295
+ if not self.IsElementExists(short_name, Unit):
301
296
  unit = Unit(self, short_name)
302
297
  self.addElement(unit)
303
- return self.getElement(short_name)
298
+ return self.getElement(short_name, Unit)
304
299
 
305
300
  def createEndToEndProtectionSet(self, short_name: str) -> EndToEndProtectionSet:
306
- if (not self.IsElementExists(short_name)):
301
+ if not self.IsElementExists(short_name, EndToEndProtectionSet):
307
302
  e2d_set = EndToEndProtectionSet(self, short_name)
308
303
  self.addElement(e2d_set)
309
- return self.getElement(short_name)
304
+ return self.getElement(short_name, EndToEndProtectionSet)
310
305
 
311
306
  def createApplicationArrayDataType(self, short_name: str) -> ApplicationArrayDataType:
312
- if (not self.IsElementExists(short_name)):
307
+ if not self.IsElementExists(short_name, ApplicationArrayDataType):
313
308
  data_type = ApplicationArrayDataType(self, short_name)
314
309
  self.addElement(data_type)
315
- return self.getElement(short_name)
310
+ return self.getElement(short_name, ApplicationArrayDataType)
316
311
 
317
312
  def createSwRecordLayout(self, short_name: str) -> SwRecordLayout:
318
- if (not self.IsElementExists(short_name)):
313
+ if not self.IsElementExists(short_name, SwRecordLayout):
319
314
  layout = SwRecordLayout(self, short_name)
320
315
  self.addElement(layout)
321
- return self.getElement(short_name)
316
+ return self.getElement(short_name, SwRecordLayout)
322
317
 
323
318
  def createSwAddrMethod(self, short_name: str) -> SwAddrMethod:
324
- if (not self.IsElementExists(short_name)):
319
+ if not self.IsElementExists(short_name, SwAddrMethod):
325
320
  method = SwAddrMethod(self, short_name)
326
321
  self.addElement(method)
327
- return self.getElement(short_name)
322
+ return self.getElement(short_name, SwAddrMethod)
328
323
 
329
324
  def createTriggerInterface(self, short_name: str) -> TriggerInterface:
330
- if (not self.IsElementExists(short_name)):
325
+ if not self.IsElementExists(short_name, TriggerInterface):
331
326
  trigger_interface = TriggerInterface(self, short_name)
332
327
  self.addElement(trigger_interface)
333
- return trigger_interface
328
+ return self.getElement(short_name, TriggerInterface)
334
329
 
335
330
  def createModeDeclarationGroup(self, short_name: str) -> ModeDeclarationGroup:
336
- if (not self.IsElementExists(short_name)):
331
+ if not self.IsElementExists(short_name, ModeDeclarationGroup):
337
332
  group = ModeDeclarationGroup(self, short_name)
338
333
  self.addElement(group)
339
- return self.getElement(short_name)
334
+ return self.getElement(short_name, ModeDeclarationGroup)
340
335
 
341
336
  def createModeSwitchInterface(self, short_name: str) -> ModeSwitchInterface:
342
- if (not self.IsElementExists(short_name)):
337
+ if not self.IsElementExists(short_name, ModeSwitchInterface):
343
338
  switch_interface = ModeSwitchInterface(self, short_name)
344
339
  self.addElement(switch_interface)
345
- return self.getElement(short_name)
340
+ return self.getElement(short_name, ModeSwitchInterface)
346
341
 
347
342
  def createSwcTiming(self, short_name: str) -> SwcTiming:
348
- if (not self.IsElementExists(short_name)):
343
+ if not self.IsElementExists(short_name, SwcTiming):
349
344
  timing = SwcTiming(self, short_name)
350
345
  self.addElement(timing)
351
- return self.getElement(short_name)
346
+ return self.getElement(short_name, SwcTiming)
352
347
 
353
348
  def createLinCluster(self, short_name: str) -> LinCluster:
354
- if (not self.IsElementExists(short_name)):
349
+ if not self.IsElementExists(short_name, LinCluster):
355
350
  cluster = LinCluster(self, short_name)
356
351
  self.addElement(cluster)
357
- return self.getElement(short_name)
352
+ return self.getElement(short_name, LinCluster)
358
353
 
359
354
  def createCanCluster(self, short_name: str) -> CanCluster:
360
- if (not self.IsElementExists(short_name)):
355
+ if not self.IsElementExists(short_name, CanCluster):
361
356
  cluster = CanCluster(self, short_name)
362
357
  self.addElement(cluster)
363
- return self.getElement(short_name)
358
+ return self.getElement(short_name, CanCluster)
364
359
 
365
360
  def createLinUnconditionalFrame(self, short_name: str) -> LinUnconditionalFrame:
366
- if (not self.IsElementExists(short_name)):
361
+ if not self.IsElementExists(short_name, LinUnconditionalFrame):
367
362
  frame = LinUnconditionalFrame(self, short_name)
368
363
  self.addElement(frame)
369
- return self.getElement(short_name)
364
+ return self.getElement(short_name, LinUnconditionalFrame)
370
365
 
371
366
  def createNmPdu(self, short_name: str) -> NmPdu:
372
- if (not self.IsElementExists(short_name)):
367
+ if not self.IsElementExists(short_name, NmPdu):
373
368
  element = NmPdu(self, short_name)
374
369
  self.addElement(element)
375
- return self.getElement(short_name)
370
+ return self.getElement(short_name, NmPdu)
376
371
 
377
372
  def createNPdu(self, short_name: str) -> NPdu:
378
- if (not self.IsElementExists(short_name)):
373
+ if not self.IsElementExists(short_name, NPdu):
379
374
  element = NPdu(self, short_name)
380
375
  self.addElement(element)
381
- return self.getElement(short_name)
376
+ return self.getElement(short_name, NPdu)
382
377
 
383
378
  def createDcmIPdu(self, short_name: str) -> DcmIPdu:
384
- if (not self.IsElementExists(short_name)):
379
+ if not self.IsElementExists(short_name, DcmIPdu):
385
380
  element = DcmIPdu(self, short_name)
386
381
  self.addElement(element)
387
- return self.getElement(short_name)
382
+ return self.getElement(short_name, DcmIPdu)
388
383
 
389
384
  def createSecuredIPdu(self, short_name: str) -> SecuredIPdu:
390
- if (not self.IsElementExists(short_name)):
385
+ if not self.IsElementExists(short_name, SecuredIPdu):
391
386
  element = SecuredIPdu(self, short_name)
392
387
  self.addElement(element)
393
- return self.getElement(short_name)
388
+ return self.getElement(short_name, SecuredIPdu)
394
389
 
395
390
  def createNmConfig(self, short_name: str) -> NmConfig:
396
- if (not self.IsElementExists(short_name)):
391
+ if not self.IsElementExists(short_name, NmConfig):
397
392
  element = NmConfig(self, short_name)
398
393
  self.addElement(element)
399
- return self.getElement(short_name)
394
+ return self.getElement(short_name, NmConfig)
400
395
 
401
396
  def createCanTpConfig(self, short_name: str) -> CanTpConfig:
402
- if (not self.IsElementExists(short_name)):
397
+ if not self.IsElementExists(short_name, CanTpConfig):
403
398
  element = CanTpConfig(self, short_name)
404
399
  self.addElement(element)
405
- return self.getElement(short_name)
400
+ return self.getElement(short_name, CanTpConfig)
406
401
 
407
402
  def createLinTpConfig(self, short_name: str) -> LinTpConfig:
408
- if (not self.IsElementExists(short_name)):
403
+ if not self.IsElementExists(short_name, LinTpConfig):
409
404
  element = LinTpConfig(self, short_name)
410
405
  self.addElement(element)
411
- return self.getElement(short_name)
406
+ return self.getElement(short_name, LinTpConfig)
412
407
 
413
408
  def createCanFrame(self, short_name: str) -> CanFrame:
414
- if (not self.IsElementExists(short_name)):
409
+ if not self.IsElementExists(short_name, CanFrame):
415
410
  element = CanFrame(self, short_name)
416
411
  self.addElement(element)
417
- return self.getElement(short_name)
412
+ return self.getElement(short_name, CanFrame)
418
413
 
419
414
  def createEcuInstance(self, short_name: str) -> EcuInstance:
420
- if (not self.IsElementExists(short_name)):
415
+ if not self.IsElementExists(short_name, EcuInstance):
421
416
  element = EcuInstance(self, short_name)
422
417
  self.addElement(element)
423
- return self.getElement(short_name)
418
+ return self.getElement(short_name, EcuInstance)
424
419
 
425
420
  def createGateway(self, short_name: str) -> Gateway:
426
- if (not self.IsElementExists(short_name)):
421
+ if not self.IsElementExists(short_name, Gateway):
427
422
  element = Gateway(self, short_name)
428
423
  self.addElement(element)
429
- return self.getElement(short_name)
424
+ return self.getElement(short_name, Gateway)
430
425
 
431
426
  def createISignal(self, short_name: str) -> ISignal:
432
- if (not self.IsElementExists(short_name)):
427
+ if not self.IsElementExists(short_name, ISignal):
433
428
  element = ISignal(self, short_name)
434
429
  self.addElement(element)
435
- return self.getElement(short_name)
430
+ return self.getElement(short_name, ISignal)
436
431
 
437
432
  def createSystemSignal(self, short_name: str) -> SystemSignal:
438
- if (not self.IsElementExists(short_name)):
433
+ if not self.IsElementExists(short_name, SystemSignal):
439
434
  element = SystemSignal(self, short_name)
440
435
  self.addElement(element)
441
- return self.getElement(short_name)
436
+ return self.getElement(short_name, SystemSignal)
442
437
 
443
438
  def createSystemSignalGroup(self, short_name: str) -> SystemSignalGroup:
444
- if (not self.IsElementExists(short_name)):
439
+ if not self.IsElementExists(short_name, SystemSignalGroup):
445
440
  element = SystemSignalGroup(self, short_name)
446
441
  self.addElement(element)
447
- return self.getElement(short_name)
442
+ return self.getElement(short_name, SystemSignalGroup)
448
443
 
449
444
  def createISignalIPdu(self, short_name: str) -> ISignalIPdu:
450
- if (not self.IsElementExists(short_name)):
445
+ if not self.IsElementExists(short_name, ISignalIPdu):
451
446
  element = ISignalIPdu(self, short_name)
452
447
  self.addElement(element)
453
- return self.getElement(short_name)
448
+ return self.getElement(short_name, ISignalIPdu)
454
449
 
455
450
  def createEcucValueCollection(self, short_name: str) -> EcucValueCollection:
456
- if (not self.IsElementExists(short_name)):
451
+ if not self.IsElementExists(short_name, EcucValueCollection):
457
452
  element = EcucValueCollection(self, short_name)
458
453
  self.addElement(element)
459
- return self.getElement(short_name)
454
+ return self.getElement(short_name, EcucValueCollection)
460
455
 
461
456
  def createEcucModuleConfigurationValues(self, short_name: str) -> EcucModuleConfigurationValues:
462
- if (not self.IsElementExists(short_name)):
457
+ if not self.IsElementExists(short_name, EcucModuleConfigurationValues):
463
458
  element = EcucModuleConfigurationValues(self, short_name)
464
459
  self.addElement(element)
465
- return self.getElement(short_name)
460
+ return self.getElement(short_name, EcucModuleConfigurationValues)
461
+
462
+ def createEcucModuleDef(self, short_name: str) -> EcucModuleDef:
463
+ if not self.IsElementExists(short_name, EcucModuleDef):
464
+ element = EcucModuleDef(self, short_name)
465
+ self.addElement(element)
466
+ return self.getElement(short_name, EcucModuleDef)
466
467
 
467
468
  def createPhysicalDimension(self, short_name: str) -> PhysicalDimension:
468
- if (not self.IsElementExists(short_name)):
469
+ if not self.IsElementExists(short_name, PhysicalDimension):
469
470
  element = PhysicalDimension(self, short_name)
470
471
  self.addElement(element)
471
- return self.getElement(short_name)
472
+ return self.getElement(short_name, PhysicalDimension)
472
473
 
473
474
  def createISignalGroup(self, short_name: str) -> ISignalGroup:
474
- if (not self.IsElementExists(short_name)):
475
+ if not self.IsElementExists(short_name, ISignalGroup):
475
476
  element = ISignalGroup(self, short_name)
476
477
  self.addElement(element)
477
- return self.getElement(short_name)
478
+ return self.getElement(short_name, ISignalGroup)
478
479
 
479
480
  def createISignalIPduGroup(self, short_name: str) -> ISignalIPduGroup:
480
- if (not self.IsElementExists(short_name)):
481
+ if not self.IsElementExists(short_name, ISignalIPduGroup):
481
482
  element = ISignalIPduGroup(self, short_name)
482
483
  self.addElement(element)
483
- return self.getElement(short_name)
484
+ return self.getElement(short_name, ISignalIPduGroup)
484
485
 
485
486
  def createSystem(self, short_name: str) -> System:
486
- if (not self.IsElementExists(short_name)):
487
+ if not self.IsElementExists(short_name, System):
487
488
  element = System(self, short_name)
488
489
  self.addElement(element)
489
- return self.getElement(short_name)
490
+ return self.getElement(short_name, System)
490
491
 
491
492
  def createFlatMap(self, short_name: str) -> FlatMap:
492
- if (not self.IsElementExists(short_name)):
493
+ if not self.IsElementExists(short_name, FlatMap):
493
494
  map = FlatMap(self, short_name)
494
495
  self.addElement(map)
495
- return self.getElement(short_name)
496
+ return self.getElement(short_name, FlatMap)
496
497
 
497
498
  def createPortInterfaceMappingSet(self, short_name: str) -> PortInterfaceMappingSet:
498
- if (not self.IsElementExists(short_name)):
499
+ if not self.IsElementExists(short_name, PortInterfaceMappingSet):
499
500
  map_set = PortInterfaceMappingSet(self, short_name)
500
501
  self.addElement(map_set)
501
- return self.getElement(short_name)
502
+ return self.getElement(short_name, PortInterfaceMappingSet)
502
503
 
503
504
  def createEthernetCluster(self, short_name: str) -> EthernetCluster:
504
- if (not self.IsElementExists(short_name)):
505
+ if not self.IsElementExists(short_name, EthernetCluster):
505
506
  cluster = EthernetCluster(self, short_name)
506
507
  self.addElement(cluster)
507
- return self.getElement(short_name)
508
+ return self.getElement(short_name, EthernetCluster)
508
509
 
509
510
  def createDiagnosticConnection(self, short_name: str) -> DiagnosticConnection:
510
- if (not self.IsElementExists(short_name)):
511
+ if not self.IsElementExists(short_name, DiagnosticConnection):
511
512
  connection = DiagnosticConnection(self, short_name)
512
513
  self.addElement(connection)
513
- return self.getElement(short_name)
514
+ return self.getElement(short_name, DiagnosticConnection)
514
515
 
515
516
  def createDiagnosticServiceTable(self, short_name: str) -> DiagnosticServiceTable:
516
- if (not self.IsElementExists(short_name)):
517
+ if not self.IsElementExists(short_name, DiagnosticServiceTable):
517
518
  table = DiagnosticServiceTable(self, short_name)
518
519
  self.addElement(table)
519
- return self.getElement(short_name)
520
+ return self.getElement(short_name, DiagnosticServiceTable)
520
521
 
521
522
  def createMultiplexedIPdu(self, short_name: str) -> MultiplexedIPdu:
522
- if (not self.IsElementExists(short_name)):
523
+ if not self.IsElementExists(short_name, MultiplexedIPdu):
523
524
  ipdu = MultiplexedIPdu(self, short_name)
524
525
  self.addElement(ipdu)
525
- return self.getElement(short_name)
526
+ return self.getElement(short_name, MultiplexedIPdu)
526
527
 
527
528
  def createUserDefinedIPdu(self, short_name: str) -> UserDefinedIPdu:
528
- if (not self.IsElementExists(short_name)):
529
+ if not self.IsElementExists(short_name, UserDefinedIPdu):
529
530
  ipdu = UserDefinedIPdu(self, short_name)
530
531
  self.addElement(ipdu)
531
- return self.getElement(short_name)
532
+ return self.getElement(short_name, UserDefinedIPdu)
532
533
 
533
534
  def createUserDefinedPdu(self, short_name: str) -> UserDefinedPdu:
534
- if (not self.IsElementExists(short_name)):
535
+ if not self.IsElementExists(short_name, UserDefinedPdu):
535
536
  pdu = UserDefinedPdu(self, short_name)
536
537
  self.addElement(pdu)
537
- return self.getElement(short_name)
538
+ return self.getElement(short_name, UserDefinedPdu)
538
539
 
539
540
  def createGeneralPurposeIPdu(self, short_name: str) -> GeneralPurposeIPdu:
540
- if (not self.IsElementExists(short_name)):
541
+ if not self.IsElementExists(short_name, GeneralPurposeIPdu):
541
542
  i_pdu = GeneralPurposeIPdu(self, short_name)
542
543
  self.addElement(i_pdu)
543
- return self.getElement(short_name)
544
+ return self.getElement(short_name, GeneralPurposeIPdu)
544
545
 
545
546
  def createGeneralPurposePdu(self, short_name: str) -> GeneralPurposePdu:
546
- if (not self.IsElementExists(short_name)):
547
+ if not self.IsElementExists(short_name, GeneralPurposePdu):
547
548
  pdu = GeneralPurposePdu(self, short_name)
548
549
  self.addElement(pdu)
549
- return self.getElement(short_name)
550
+ return self.getElement(short_name, GeneralPurposePdu)
550
551
 
551
552
  def createSecureCommunicationPropsSet(self, short_name: str) -> SecureCommunicationPropsSet:
552
- if (not self.IsElementExists(short_name)):
553
+ if not self.IsElementExists(short_name, SecureCommunicationPropsSet):
553
554
  props_set = SecureCommunicationPropsSet(self, short_name)
554
555
  self.addElement(props_set)
555
- return self.getElement(short_name)
556
+ return self.getElement(short_name, SecureCommunicationPropsSet)
556
557
 
557
558
  def createSoAdRoutingGroup(self, short_name: str) -> SoAdRoutingGroup:
558
- if (not self.IsElementExists(short_name)):
559
+ if not self.IsElementExists(short_name, SoAdRoutingGroup):
559
560
  group = SoAdRoutingGroup(self, short_name)
560
561
  self.addElement(group)
561
- return self.getElement(short_name)
562
+ return self.getElement(short_name, SoAdRoutingGroup)
562
563
 
563
564
  def createDoIpTpConfig(self, short_name: str) -> DoIpTpConfig:
564
- if (not self.IsElementExists(short_name)):
565
+ if not self.IsElementExists(short_name, DoIpTpConfig):
565
566
  tp_config = DoIpTpConfig(self, short_name)
566
567
  self.addElement(tp_config)
567
- return self.getElement(short_name)
568
+ return self.getElement(short_name, DoIpTpConfig)
568
569
 
569
570
  def createHwElement(self, short_name: str) -> HwElement:
570
- if (not self.IsElementExists(short_name)):
571
+ if not self.IsElementExists(short_name, HwElement):
571
572
  hw_element = HwElement(self, short_name)
572
573
  self.addElement(hw_element)
573
- return self.getElement(short_name)
574
+ return self.getElement(short_name, HwElement)
574
575
 
575
576
  def createHwCategory(self, short_name: str) -> HwCategory:
576
- if (not self.IsElementExists(short_name)):
577
+ if not self.IsElementExists(short_name, HwCategory):
577
578
  hw_category = HwCategory(self, short_name)
578
579
  self.addElement(hw_category)
579
- return self.getElement(short_name)
580
+ return self.getElement(short_name, HwCategory)
580
581
 
581
582
  def createHwType(self, short_name: str) -> HwType:
582
- if (not self.IsElementExists(short_name)):
583
+ if not self.IsElementExists(short_name, HwType):
583
584
  hw_category = HwType(self, short_name)
584
585
  self.addElement(hw_category)
585
- return self.getElement(short_name)
586
+ return self.getElement(short_name, HwType)
586
587
 
587
588
  def createFlexrayFrame(self, short_name: str) -> FlexrayFrame:
588
- if (not self.IsElementExists(short_name)):
589
+ if not self.IsElementExists(short_name, FlexrayFrame):
589
590
  frame = FlexrayFrame(self, short_name)
590
591
  self.addElement(frame)
591
- return self.getElement(short_name)
592
+ return self.getElement(short_name, FlexrayFrame)
592
593
 
593
594
  def createFlexrayCluster(self, short_name: str) -> FlexrayCluster:
594
- if (not self.IsElementExists(short_name)):
595
+ if not self.IsElementExists(short_name, FlexrayCluster):
595
596
  frame = FlexrayCluster(self, short_name)
596
597
  self.addElement(frame)
597
- return self.getElement(short_name)
598
+ return self.getElement(short_name, FlexrayCluster)
598
599
 
599
600
  def createDataTransformationSet(self, short_name: str) -> DataTransformationSet:
600
- if (not self.IsElementExists(short_name)):
601
+ if not self.IsElementExists(short_name, DataTransformationSet):
601
602
  transform_set = DataTransformationSet(self, short_name)
602
603
  self.addElement(transform_set)
603
- return self.getElement(short_name)
604
+ return self.getElement(short_name, DataTransformationSet)
604
605
 
605
606
  def createCollection(self, short_name: str) -> Collection:
606
- if (not self.IsElementExists(short_name)):
607
+ if not self.IsElementExists(short_name, Collection):
607
608
  collection = Collection(self, short_name)
608
609
  self.addElement(collection)
609
- return self.getElement(short_name)
610
+ return self.getElement(short_name, Collection)
610
611
 
611
612
  def createKeywordSet(self, short_name: str) -> KeywordSet:
612
- if (not self.IsElementExists(short_name)):
613
+ if not self.IsElementExists(short_name, KeywordSet):
613
614
  keyword_set = KeywordSet(self, short_name)
614
615
  self.addElement(keyword_set)
615
- return self.getElement(short_name)
616
+ return self.getElement(short_name, KeywordSet)
616
617
 
617
618
  def createPortPrototypeBlueprint(self, short_name: str) -> PortPrototypeBlueprint:
618
- if (not self.IsElementExists(short_name)):
619
+ if not self.IsElementExists(short_name, PortPrototypeBlueprint):
619
620
  keyword_set = PortPrototypeBlueprint(self, short_name)
620
621
  self.addElement(keyword_set)
621
- return self.getElement(short_name)
622
+ return self.getElement(short_name, PortPrototypeBlueprint)
623
+
624
+ def createModeDeclarationMappingSet(self, short_name: str) -> ModeDeclarationMappingSet:
625
+ if not self.IsElementExists(short_name, ModeDeclarationMappingSet):
626
+ mapping_set = ModeDeclarationMappingSet(self, short_name)
627
+ self.addElement(mapping_set)
628
+ return self.getElement(short_name, ModeDeclarationMappingSet)
622
629
 
623
630
  def getApplicationPrimitiveDataTypes(self) -> List[ApplicationPrimitiveDataType]:
624
- return list(sorted(filter(lambda a: isinstance(a, ApplicationPrimitiveDataType), self.elements.values()), key=lambda o: o.short_name))
631
+ return list(sorted(filter(lambda a: isinstance(a, ApplicationPrimitiveDataType), self.elements), key=lambda o: o.short_name))
625
632
 
626
633
  def getApplicationDataType(self) -> List[ApplicationDataType]:
627
- return list(sorted(filter(lambda a: isinstance(a, ApplicationDataType), self.elements.values()), key=lambda o: o.short_name))
634
+ return list(sorted(filter(lambda a: isinstance(a, ApplicationDataType), self.elements), key=lambda o: o.short_name))
628
635
 
629
636
  def getImplementationDataTypes(self) -> List[ImplementationDataType]:
630
- return list(sorted(filter(lambda a: isinstance(a, ImplementationDataType), self.elements.values()), key=lambda o: o.short_name))
637
+ return list(sorted(filter(lambda a: isinstance(a, ImplementationDataType), self.elements), key=lambda o: o.short_name))
631
638
 
632
639
  def getSwBaseTypes(self) -> List[SwBaseType]:
633
- return list(filter(lambda a: isinstance(a, SwBaseType), self.elements.values()))
640
+ return list(filter(lambda a: isinstance(a, SwBaseType), self.elements))
634
641
 
635
642
  def getSwComponentTypes(self) -> List[SwComponentType]:
636
- return list(filter(lambda a: isinstance(a, SwComponentType), self.elements.values()))
643
+ return list(filter(lambda a: isinstance(a, SwComponentType), self.elements))
637
644
 
638
645
  def getSensorActuatorSwComponentType(self) -> List[SensorActuatorSwComponentType]:
639
- return list(filter(lambda a: isinstance(a, SensorActuatorSwComponentType), self.elements.values()))
646
+ return list(filter(lambda a: isinstance(a, SensorActuatorSwComponentType), self.elements))
640
647
 
641
648
  def getAtomicSwComponentTypes(self) -> List[AtomicSwComponentType]:
642
- return list(filter(lambda a: isinstance(a, AtomicSwComponentType), self.elements.values()))
649
+ return list(filter(lambda a: isinstance(a, AtomicSwComponentType), self.elements))
643
650
 
644
651
  def getCompositionSwComponentTypes(self) -> List[CompositionSwComponentType]:
645
- return list(filter(lambda a: isinstance(a, CompositionSwComponentType), self.elements.values()))
652
+ return list(filter(lambda a: isinstance(a, CompositionSwComponentType), self.elements))
646
653
 
647
654
  def getComplexDeviceDriverSwComponentTypes(self) -> List[ComplexDeviceDriverSwComponentType]:
648
- return list(sorted(filter(lambda a: isinstance(a, ComplexDeviceDriverSwComponentType), self.elements.values()), key=lambda a: a.short_name))
655
+ return list(sorted(filter(lambda a: isinstance(a, ComplexDeviceDriverSwComponentType), self.elements), key=lambda a: a.short_name))
649
656
 
650
657
  def getSenderReceiverInterfaces(self) -> List[SenderReceiverInterface]:
651
- return list(sorted(filter(lambda a: isinstance(a, SenderReceiverInterface), self.elements.values()), key=lambda a: a.short_name))
658
+ return list(sorted(filter(lambda a: isinstance(a, SenderReceiverInterface), self.elements), key=lambda a: a.short_name))
652
659
 
653
660
  def getParameterInterfaces(self) -> List[ParameterInterface]:
654
- return list(sorted(filter(lambda a: isinstance(a, ParameterInterface), self.elements.values()), key=lambda a: a.short_name))
661
+ return list(sorted(filter(lambda a: isinstance(a, ParameterInterface), self.elements), key=lambda a: a.short_name))
655
662
 
656
663
  def getClientServerInterfaces(self) -> List[ClientServerInterface]:
657
- return list(sorted(filter(lambda a: isinstance(a, ClientServerInterface), self.elements.values()), key=lambda a: a.short_name))
664
+ return list(sorted(filter(lambda a: isinstance(a, ClientServerInterface), self.elements), key=lambda a: a.short_name))
658
665
 
659
666
  def getDataTypeMappingSets(self) -> List[DataTypeMappingSet]:
660
- return list(sorted(filter(lambda a: isinstance(a, DataTypeMappingSet), self.elements.values()), key=lambda a: a.short_name))
667
+ return list(sorted(filter(lambda a: isinstance(a, DataTypeMappingSet), self.elements), key=lambda a: a.short_name))
661
668
 
662
669
  def getCompuMethods(self) -> List[CompuMethod]:
663
- return list(filter(lambda a: isinstance(a, CompuMethod), self.elements.values()))
670
+ return list(filter(lambda a: isinstance(a, CompuMethod), self.elements))
664
671
 
665
672
  def getBswModuleDescriptions(self) -> List[BswModuleDescription]:
666
- return list(filter(lambda a: isinstance(a, BswModuleDescription), self.elements.values()))
673
+ return list(filter(lambda a: isinstance(a, BswModuleDescription), self.elements))
667
674
 
668
675
  def getBswModuleEntries(self) -> List[BswModuleEntry]:
669
- return list(filter(lambda a: isinstance(a, BswModuleEntry), self.elements.values()))
676
+ return list(filter(lambda a: isinstance(a, BswModuleEntry), self.elements))
670
677
 
671
678
  def getBswImplementations(self) -> List[BswImplementation]:
672
- return list(filter(lambda a: isinstance(a, BswImplementation), self.elements.values()))
679
+ return list(filter(lambda a: isinstance(a, BswImplementation), self.elements))
673
680
 
674
681
  def getSwcImplementations(self) -> List[SwcImplementation]:
675
- return list(filter(lambda a: isinstance(a, SwcImplementation), self.elements.values()))
682
+ return list(filter(lambda a: isinstance(a, SwcImplementation), self.elements))
676
683
 
677
684
  def getImplementations(self) -> List[Implementation]:
678
- return list(filter(lambda a: isinstance(a, Implementation), self.elements.values()))
685
+ return list(filter(lambda a: isinstance(a, Implementation), self.elements))
679
686
 
680
687
  def getSwcBswMappings(self) -> List[SwcBswMapping]:
681
- return list(filter(lambda a: isinstance(a, SwcBswMapping), self.elements.values()))
688
+ return list(filter(lambda a: isinstance(a, SwcBswMapping), self.elements))
682
689
 
683
690
  def getConstantSpecifications(self) -> List[ConstantSpecification]:
684
- return list(filter(lambda a: isinstance(a, ConstantSpecification), self.elements.values()))
691
+ return list(filter(lambda a: isinstance(a, ConstantSpecification), self.elements))
685
692
 
686
693
  def getDataConstrs(self) -> List[DataConstr]:
687
- return list(filter(lambda a: isinstance(a, DataConstr), self.elements.values()))
694
+ return list(filter(lambda a: isinstance(a, DataConstr), self.elements))
688
695
 
689
696
  def getUnits(self) -> List[Unit]:
690
- return list(filter(lambda a: isinstance(a, Unit), self.elements.values()))
697
+ return list(filter(lambda a: isinstance(a, Unit), self.elements))
691
698
 
692
699
  def getApplicationArrayDataTypes(self) -> List[ApplicationArrayDataType]:
693
- return list(sorted(filter(lambda a: isinstance(a, ApplicationArrayDataType), self.elements.values()), key=lambda a: a.short_name))
700
+ return list(sorted(filter(lambda a: isinstance(a, ApplicationArrayDataType), self.elements), key=lambda a: a.short_name))
694
701
 
695
702
  def getSwRecordLayouts(self) -> List[SwRecordLayout]:
696
- return list(sorted(filter(lambda a: isinstance(a, SwRecordLayout), self.elements.values()), key=lambda a: a.short_name))
703
+ return list(sorted(filter(lambda a: isinstance(a, SwRecordLayout), self.elements), key=lambda a: a.short_name))
697
704
 
698
705
  def getSwAddrMethods(self) -> List[SwAddrMethod]:
699
- return list(sorted(filter(lambda a: isinstance(a, SwAddrMethod), self.elements.values()), key=lambda a: a.short_name))
706
+ return list(sorted(filter(lambda a: isinstance(a, SwAddrMethod), self.elements), key=lambda a: a.short_name))
700
707
 
701
708
  def getTriggerInterfaces(self) -> List[TriggerInterface]:
702
- return list(sorted(filter(lambda a: isinstance(a, TriggerInterface), self.elements.values()), key=lambda a: a.short_name))
709
+ return list(sorted(filter(lambda a: isinstance(a, TriggerInterface), self.elements), key=lambda a: a.short_name))
703
710
 
704
711
  def getModeDeclarationGroups(self) -> List[ModeDeclarationGroup]:
705
- return list(sorted(filter(lambda a: isinstance(a, ModeDeclarationGroup), self.elements.values()), key=lambda a: a.short_name))
712
+ return list(sorted(filter(lambda a: isinstance(a, ModeDeclarationGroup), self.elements), key=lambda a: a.short_name))
706
713
 
707
714
  def getModeSwitchInterfaces(self) -> List[ModeSwitchInterface]:
708
- return list(sorted(filter(lambda a: isinstance(a, ModeSwitchInterface), self.elements.values()), key=lambda a: a.short_name))
715
+ return list(sorted(filter(lambda a: isinstance(a, ModeSwitchInterface), self.elements), key=lambda a: a.short_name))
709
716
 
710
717
  def getSwcTimings(self) -> List[SwcTiming]:
711
- return list(sorted(filter(lambda a: isinstance(a, SwcTiming), self.elements.values()), key=lambda a: a.short_name))
718
+ return list(sorted(filter(lambda a: isinstance(a, SwcTiming), self.elements), key=lambda a: a.short_name))
712
719
 
713
720
  def getLinClusters(self) -> List[LinCluster]:
714
- return list(sorted(filter(lambda a: isinstance(a, LinCluster), self.elements.values()), key=lambda a: a.short_name))
721
+ return list(sorted(filter(lambda a: isinstance(a, LinCluster), self.elements), key=lambda a: a.short_name))
715
722
 
716
723
  def getCanClusters(self) -> List[CanCluster]:
717
- return list(sorted(filter(lambda a: isinstance(a, CanCluster), self.elements.values()), key=lambda a: a.short_name))
724
+ return list(sorted(filter(lambda a: isinstance(a, CanCluster), self.elements), key=lambda a: a.short_name))
718
725
 
719
726
  def getLinUnconditionalFrames(self) -> List[LinUnconditionalFrame]:
720
- return list(sorted(filter(lambda a: isinstance(a, LinUnconditionalFrame), self.elements.values()), key=lambda a: a.short_name))
727
+ return list(sorted(filter(lambda a: isinstance(a, LinUnconditionalFrame), self.elements), key=lambda a: a.short_name))
721
728
 
722
729
  def getNmPdus(self) -> List[NmPdu]:
723
- return list(sorted(filter(lambda a: isinstance(a, NmPdu), self.elements.values()), key=lambda a: a.short_name))
730
+ return list(sorted(filter(lambda a: isinstance(a, NmPdu), self.elements), key=lambda a: a.short_name))
724
731
 
725
732
  def getNPdus(self) -> List[NPdu]:
726
- return list(sorted(filter(lambda a: isinstance(a, NPdu), self.elements.values()), key=lambda a: a.short_name))
733
+ return list(sorted(filter(lambda a: isinstance(a, NPdu), self.elements), key=lambda a: a.short_name))
727
734
 
728
735
  def getDcmIPdus(self) -> List[DcmIPdu]:
729
- return list(sorted(filter(lambda a: isinstance(a, DcmIPdu), self.elements.values()), key=lambda a: a.short_name))
736
+ return list(sorted(filter(lambda a: isinstance(a, DcmIPdu), self.elements), key=lambda a: a.short_name))
730
737
 
731
738
  def getSecuredIPdus(self) -> List[SecuredIPdu]:
732
- return list(sorted(filter(lambda a: isinstance(a, SecuredIPdu), self.elements.values()), key=lambda a: a.short_name))
739
+ return list(sorted(filter(lambda a: isinstance(a, SecuredIPdu), self.elements), key=lambda a: a.short_name))
733
740
 
734
741
  def getNmConfigs(self) -> List[NmConfig]:
735
- return list(sorted(filter(lambda a: isinstance(a, NmConfig), self.elements.values()), key=lambda a: a.short_name))
742
+ return list(sorted(filter(lambda a: isinstance(a, NmConfig), self.elements), key=lambda a: a.short_name))
736
743
 
737
744
  def getCanTpConfigs(self) -> List[CanTpConfig]:
738
- return list(sorted(filter(lambda a: isinstance(a, CanTpConfig), self.elements.values()), key=lambda a: a.short_name))
745
+ return list(sorted(filter(lambda a: isinstance(a, CanTpConfig), self.elements), key=lambda a: a.short_name))
739
746
 
740
747
  def getCanFrames(self) -> List[CanFrame]:
741
- return list(sorted(filter(lambda a: isinstance(a, CanFrame), self.elements.values()), key=lambda a: a.short_name))
748
+ return list(sorted(filter(lambda a: isinstance(a, CanFrame), self.elements), key=lambda a: a.short_name))
742
749
 
743
750
  def getEcuInstances(self) -> List[EcuInstance]:
744
- return list(sorted(filter(lambda a: isinstance(a, EcuInstance), self.elements.values()), key=lambda a: a.short_name))
751
+ return list(sorted(filter(lambda a: isinstance(a, EcuInstance), self.elements), key=lambda a: a.short_name))
745
752
 
746
753
  def getGateways(self) -> List[Gateway]:
747
- return list(sorted(filter(lambda a: isinstance(a, Gateway), self.elements.values()), key=lambda a: a.short_name))
754
+ return list(sorted(filter(lambda a: isinstance(a, Gateway), self.elements), key=lambda a: a.short_name))
748
755
 
749
756
  def getISignals(self) -> List[ISignal]:
750
- return list(sorted(filter(lambda a: isinstance(a, ISignal), self.elements.values()), key=lambda a: a.short_name))
757
+ return list(sorted(filter(lambda a: isinstance(a, ISignal), self.elements), key=lambda a: a.short_name))
751
758
 
752
759
  def getEcucValueCollections(self) -> List[EcucValueCollection]:
753
- return list(sorted(filter(lambda a: isinstance(a, EcucValueCollection), self.elements.values()), key=lambda a: a.short_name))
760
+ return list(sorted(filter(lambda a: isinstance(a, EcucValueCollection), self.elements), key=lambda a: a.short_name))
754
761
 
755
762
  def getEcucModuleConfigurationValues(self) -> List[EcucModuleConfigurationValues]:
756
- return list(sorted(filter(lambda a: isinstance(a, EcucModuleConfigurationValues), self.elements.values()), key=lambda a: a.short_name))
763
+ return list(sorted(filter(lambda a: isinstance(a, EcucModuleConfigurationValues), self.elements), key=lambda a: a.short_name))
764
+
765
+ def getEcucModuleDefs(self) -> List[EcucModuleDef]:
766
+ return list(sorted(filter(lambda a: isinstance(a, EcucModuleDef), self.elements), key=lambda a: a.short_name))
757
767
 
758
768
  def getEcucPhysicalDimensions(self) -> List[PhysicalDimension]:
759
- return list(sorted(filter(lambda a: isinstance(a, PhysicalDimension), self.elements.values()), key=lambda a: a.short_name))
769
+ return list(sorted(filter(lambda a: isinstance(a, PhysicalDimension), self.elements), key=lambda a: a.short_name))
760
770
 
761
771
  def getISignalGroups(self) -> List[ISignalGroup]:
762
- return list(sorted(filter(lambda a: isinstance(a, ISignalGroup), self.elements.values()), key=lambda a: a.short_name))
772
+ return list(sorted(filter(lambda a: isinstance(a, ISignalGroup), self.elements), key=lambda a: a.short_name))
763
773
 
764
774
  def getSystemSignals(self) -> List[SystemSignal]:
765
- return list(sorted(filter(lambda a: isinstance(a, SystemSignal), self.elements.values()), key=lambda a: a.short_name))
775
+ return list(sorted(filter(lambda a: isinstance(a, SystemSignal), self.elements), key=lambda a: a.short_name))
766
776
 
767
777
  def getSystemSignalGroups(self) -> List[SystemSignalGroup]:
768
- return list(sorted(filter(lambda a: isinstance(a, SystemSignalGroup), self.elements.values()), key=lambda a: a.short_name))
778
+ return list(sorted(filter(lambda a: isinstance(a, SystemSignalGroup), self.elements), key=lambda a: a.short_name))
769
779
 
770
780
  def getISignalIPdus(self) -> List[ISignalIPdu]:
771
- return list(sorted(filter(lambda a: isinstance(a, ISignalIPdu), self.elements.values()), key=lambda a: a.short_name))
781
+ return list(sorted(filter(lambda a: isinstance(a, ISignalIPdu), self.elements), key=lambda a: a.short_name))
772
782
 
773
783
  def getSystems(self) -> List[System]:
774
- return list(sorted(filter(lambda a: isinstance(a, System), self.elements.values()), key=lambda a: a.short_name))
784
+ return list(sorted(filter(lambda a: isinstance(a, System), self.elements), key=lambda a: a.short_name))
775
785
 
776
786
  def getHwElements(self) -> List[HwElement]:
777
- return list(sorted(filter(lambda a: isinstance(a, HwElement), self.elements.values()), key=lambda a: a.short_name))
787
+ return list(sorted(filter(lambda a: isinstance(a, HwElement), self.elements), key=lambda a: a.short_name))
778
788
 
779
789
  def getHwCategories(self) -> List[HwCategory]:
780
- return list(sorted(filter(lambda a: isinstance(a, HwCategory), self.elements.values()), key=lambda a: a.short_name))
790
+ return list(sorted(filter(lambda a: isinstance(a, HwCategory), self.elements), key=lambda a: a.short_name))
781
791
 
782
792
  def getFlexrayFrames(self) -> List[FlexrayFrame]:
783
- return list(sorted(filter(lambda a: isinstance(a, FlexrayFrame), self.elements.values()), key=lambda a: a.short_name))
793
+ return list(sorted(filter(lambda a: isinstance(a, FlexrayFrame), self.elements), key=lambda a: a.short_name))
784
794
 
785
795
  def getDataTransformationSets(self) -> List[DataTransformationSet]:
786
- return list(sorted(filter(lambda a: isinstance(a, DataTransformationSet), self.elements.values()), key=lambda a: a.short_name))
796
+ return list(sorted(filter(lambda a: isinstance(a, DataTransformationSet), self.elements), key=lambda a: a.short_name))
787
797
 
788
798
  def getCollections(self) -> List[Collection]:
789
- return list(sorted(filter(lambda a: isinstance(a, Collection), self.elements.values()), key=lambda a: a.short_name))
799
+ return list(sorted(filter(lambda a: isinstance(a, Collection), self.elements), key=lambda a: a.short_name))
790
800
 
791
801
  def getKeywordSets(self) -> List[KeywordSet]:
792
- return list(sorted(filter(lambda a: isinstance(a, KeywordSet), self.elements.values()), key=lambda a: a.short_name))
802
+ return list(sorted(filter(lambda a: isinstance(a, KeywordSet), self.elements), key=lambda a: a.short_name))
793
803
 
794
804
  def getPortPrototypeBlueprints(self) -> List[PortPrototypeBlueprint]:
795
- return list(sorted(filter(lambda a: isinstance(a, PortPrototypeBlueprint), self.elements.values()), key=lambda a: a.short_name))
805
+ return list(sorted(filter(lambda a: isinstance(a, PortPrototypeBlueprint), self.elements), key=lambda a: a.short_name))
806
+
807
+ def getModeDeclarationMappingSets(self) -> List[ModeDeclarationMappingSet]:
808
+ return list(sorted(filter(lambda a: isinstance(a, ModeDeclarationMappingSet), self.elements), key=lambda a: a.short_name))
796
809
 
797
810
  def getReferenceBases(self):
798
811
  return self.referenceBases