armodel 1.6.0__py3-none-any.whl → 1.6.2__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 (66) hide show
  1. armodel/cli/arxml_dump_cli.py +25 -22
  2. armodel/cli/arxml_format_cli.py +1 -4
  3. armodel/cli/connector_update_cli.py +1 -1
  4. armodel/cli/swc_list_cli.py +1 -1
  5. armodel/data_models/sw_connector.py +3 -3
  6. armodel/lib/sw_component.py +3 -1
  7. armodel/lib/system_signal.py +3 -1
  8. armodel/models/__init__.py +5 -3
  9. armodel/models/ar_object.py +1 -1
  10. armodel/models/ar_package.py +185 -151
  11. armodel/models/ar_ref.py +0 -202
  12. armodel/models/common_structure.py +3 -71
  13. armodel/models/communication.py +1 -1
  14. armodel/models/datatype.py +7 -72
  15. armodel/models/end_to_end_protection.py +1 -1
  16. armodel/models/general_structure.py +10 -4
  17. armodel/models/internal_behavior.py +1 -1
  18. armodel/models/m2/autosar_templates/autosar_top_level_structure.py +120 -0
  19. armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
  20. armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +154 -0
  21. armodel/models/m2/autosar_templates/ecuc_description_template.py +2 -1
  22. armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
  23. armodel/models/m2/autosar_templates/generic_structure/abstract_structure.py +69 -0
  24. armodel/models/m2/autosar_templates/generic_structure/ar_package.py +528 -0
  25. armodel/models/m2/autosar_templates/sw_component_template/communication.py +44 -0
  26. armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +246 -0
  27. armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +33 -1
  28. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +154 -0
  29. armodel/models/m2/autosar_templates/sw_component_template/composition/instance_refs.py +157 -0
  30. armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
  31. armodel/models/m2/autosar_templates/sw_component_template/data_type/data_prototypes.py +104 -0
  32. armodel/models/m2/autosar_templates/sw_component_template/port_interface/__init__.py +243 -0
  33. armodel/models/m2/autosar_templates/sw_component_template/port_interface/instance_refs.py +39 -0
  34. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +3 -11
  35. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py +169 -0
  36. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +1 -2
  37. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +5 -4
  38. armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
  39. armodel/models/m2_msr.py +1 -0
  40. armodel/models/port_prototype.py +1 -90
  41. armodel/models/service_needs.py +3 -1
  42. armodel/models/sw_component.py +6 -143
  43. armodel/parser/__init__.py +2 -1
  44. armodel/parser/abstract_arxml_parser.py +1 -1
  45. armodel/parser/arxml_parser.py +157 -80
  46. armodel/parser/connector_xlsx_parser.py +3 -1
  47. armodel/parser/file_parser.py +43 -0
  48. armodel/report/connector_xls_report.py +2 -1
  49. armodel/tests/test_armodel/models/test_ar_package.py +6 -3
  50. armodel/tests/test_armodel/models/test_ar_ref.py +15 -13
  51. armodel/tests/test_armodel/models/test_common_structure.py +6 -5
  52. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  53. armodel/tests/test_armodel/models/test_datatype.py +9 -9
  54. armodel/tests/test_armodel/models/test_general_structure.py +1 -1
  55. armodel/tests/test_armodel/models/test_implementation.py +1 -1
  56. armodel/tests/test_armodel/models/test_port_interface.py +2 -2
  57. armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -1
  58. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  59. armodel/writer/abstract_arxml_writer.py +5 -1
  60. armodel/writer/arxml_writer.py +70 -60
  61. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/METADATA +5 -1
  62. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/RECORD +66 -51
  63. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/LICENSE +0 -0
  64. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/WHEEL +0 -0
  65. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/entry_points.txt +0 -0
  66. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,528 @@
1
+ from armodel.models.bsw_module_template import BswModuleDescription, BswModuleEntry
2
+ from armodel.models.common_structure import ModeDeclarationGroup
3
+ from armodel.models.datatype import ApplicationArrayDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType, DataTypeMappingSet, SwBaseType
4
+ from armodel.models.end_to_end_protection import EndToEndProtectionSet
5
+ from armodel.models.fibex.can_communication import CanFrame
6
+ from armodel.models.fibex.fibex_4_multiplatform import Gateway
7
+ from armodel.models.fibex.fibex_core.core_communication import DcmIPdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, NPdu, NmPdu, SecuredIPdu, SystemSignal, SystemSignalGroup
8
+ from armodel.models.fibex.fibex_core.core_topology import CanCluster, EcuInstance, LinCluster
9
+ from armodel.models.fibex.lin_communication import LinUnconditionalFrame
10
+ from armodel.models.general_structure import ARObject, CollectableElement, Identifiable, Referrable, SwcBswMapping
11
+ from armodel.models.global_constraints import DataConstr
12
+ from armodel.models.implementation import BswImplementation, Implementation, SwcImplementation
13
+ from armodel.models.m2.autosar_templates.common_structure import ConstantSpecification
14
+ from armodel.models.m2.autosar_templates.common_structure.implementation_data_types import ImplementationDataType
15
+ from armodel.models.m2.autosar_templates.ecuc_description_template import EcucModuleConfigurationValues, EcucValueCollection
16
+ from armodel.models.m2.autosar_templates.sw_component_template.components import SwComponentType
17
+ from armodel.models.m2.autosar_templates.sw_component_template.composition import CompositionSwComponentType
18
+ from armodel.models.m2.autosar_templates.sw_component_template.port_interface import ClientServerInterface, ModeSwitchInterface, ParameterInterface, SenderReceiverInterface, TriggerInterface
19
+ from armodel.models.m2.autosar_templates.system_template import System
20
+ from armodel.models.m2.autosar_templates.system_template.network_management import NmConfig
21
+ from armodel.models.m2.autosar_templates.system_template.transport_protocols import CanTpConfig
22
+ from armodel.models.m2.msr.asam_hdo.units import PhysicalDimension, Unit
23
+ from armodel.models.m2.msr.data_dictionary.auxillary_objects import SwAddrMethod
24
+ from armodel.models.m2_msr import CompuMethod
25
+ from armodel.models.record_layout import SwRecordLayout
26
+ from armodel.models.sw_component import ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, EcuAbstractionSwComponentType, SensorActuatorSwComponentType, ServiceSwComponentType
27
+ from armodel.models.timing import SwcTiming
28
+
29
+ from typing import Dict, List
30
+
31
+ class ARPackage(Identifiable, CollectableElement):
32
+ def __init__(self, parent: ARObject, short_name: str):
33
+ Identifiable.__init__(self, parent, short_name)
34
+ CollectableElement.__init__(self)
35
+
36
+ self._ar_packages = {} # type: Dict[str, ARPackage]
37
+
38
+ def getARPackages(self): # type: (...) -> List[ARPackage]
39
+ return list(sorted(self._ar_packages.values(), key= lambda a: a.short_name))
40
+ #return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
41
+
42
+ def createARPackage(self, short_name: str):
43
+ '''
44
+ if (short_name not in self.elements):
45
+ ar_package = ARPackage(self, short_name)
46
+ self.elements[short_name] = ar_package
47
+ return self.elements[short_name]
48
+ '''
49
+ if short_name not in self._ar_packages:
50
+ ar_package = ARPackage(self, short_name)
51
+ self._ar_packages[short_name] = ar_package
52
+ return self._ar_packages[short_name]
53
+
54
+ def getElement(self, short_name: str) -> Referrable:
55
+ if (short_name in self._ar_packages):
56
+ return self._ar_packages[short_name]
57
+ return CollectableElement.getElement(self, short_name)
58
+
59
+ def createEcuAbstractionSwComponentType(self, short_name: str) -> EcuAbstractionSwComponentType:
60
+ if (short_name not in self.elements):
61
+ sw_component = EcuAbstractionSwComponentType(self, short_name)
62
+ self.addElement(sw_component)
63
+ return self.getElement(short_name)
64
+
65
+ def createApplicationSwComponentType(self, short_name: str) -> ApplicationSwComponentType:
66
+ if short_name not in self.elements:
67
+ sw_component = ApplicationSwComponentType(self, short_name)
68
+ self.addElement(sw_component)
69
+ return self.getElement(short_name)
70
+
71
+ def createComplexDeviceDriverSwComponentType(self, short_name: str) -> ComplexDeviceDriverSwComponentType:
72
+ if short_name not in self.elements:
73
+ sw_component = ComplexDeviceDriverSwComponentType(self, short_name)
74
+ self.addElement(sw_component)
75
+ return self.getElement(short_name)
76
+
77
+ def createServiceSwComponentType(self, short_name: str) -> ServiceSwComponentType:
78
+ if (short_name not in self.elements):
79
+ sw_component = ServiceSwComponentType(self, short_name)
80
+ self.addElement(sw_component)
81
+ return self.getElement(short_name)
82
+
83
+ def createSensorActuatorSwComponentType(self, short_name: str) -> SensorActuatorSwComponentType:
84
+ if (short_name not in self.elements):
85
+ sw_component = SensorActuatorSwComponentType(self, short_name)
86
+ self.addElement(sw_component)
87
+ return self.getElement(short_name)
88
+
89
+ def createCompositionSwComponentType(self, short_name: str) -> CompositionSwComponentType:
90
+ if (short_name not in self.elements):
91
+ sw_component = CompositionSwComponentType(self, short_name)
92
+ self.addElement(sw_component)
93
+ return self.getElement(short_name)
94
+
95
+ def createSenderReceiverInterface(self, short_name: str) -> SenderReceiverInterface:
96
+ if (short_name not in self.elements):
97
+ sr_interface = SenderReceiverInterface(self, short_name)
98
+ self.addElement(sr_interface)
99
+ return self.getElement(short_name)
100
+
101
+ def createParameterInterface(self, short_name: str) -> ParameterInterface:
102
+ if (short_name not in self.elements):
103
+ sr_interface = ParameterInterface(self, short_name)
104
+ self.addElement(sr_interface)
105
+ return self.getElement(short_name)
106
+
107
+ def createClientServerInterface(self, short_name: str) -> ClientServerInterface:
108
+ if (short_name not in self.elements):
109
+ cs_interface = ClientServerInterface(self, short_name)
110
+ self.addElement(cs_interface)
111
+ return self.getElement(short_name)
112
+
113
+ def createApplicationPrimitiveDataType(self, short_name: str) -> ApplicationPrimitiveDataType:
114
+ if (short_name not in self.elements):
115
+ data_type = ApplicationPrimitiveDataType(self, short_name)
116
+ self.addElement(data_type)
117
+ return self.getElement(short_name)
118
+
119
+ def createApplicationRecordDataType(self, short_name: str) -> ApplicationPrimitiveDataType:
120
+ if (short_name not in self.elements):
121
+ data_type = ApplicationRecordDataType(self, short_name)
122
+ self.addElement(data_type)
123
+ return self.getElement(short_name)
124
+
125
+ def createImplementationDataType(self, short_name: str) -> ImplementationDataType:
126
+ if (short_name not in self.elements):
127
+ data_type = ImplementationDataType(self, short_name)
128
+ self.addElement(data_type)
129
+ return self.getElement(short_name)
130
+
131
+ def createSwBaseType(self, short_name: str) -> SwBaseType:
132
+ if (short_name not in self.elements):
133
+ base_type = SwBaseType(self, short_name)
134
+ self.addElement(base_type)
135
+ return self.getElement(short_name)
136
+
137
+ def createDataTypeMappingSet(self, short_name: str) -> DataTypeMappingSet:
138
+ if (short_name not in self.elements):
139
+ mapping_set = DataTypeMappingSet(self, short_name)
140
+ self.addElement(mapping_set)
141
+ return self.getElement(short_name)
142
+
143
+ def createCompuMethod(self, short_name: str) -> CompuMethod:
144
+ if (short_name not in self.elements):
145
+ compu_method = CompuMethod(self, short_name)
146
+ self.addElement(compu_method)
147
+ return self.getElement(short_name)
148
+
149
+ def createBswModuleDescription(self, short_name: str) -> BswModuleDescription:
150
+ if (short_name not in self.elements):
151
+ desc = BswModuleDescription(self, short_name)
152
+ self.addElement(desc)
153
+ return self.getElement(short_name)
154
+
155
+ def createBswModuleEntry(self, short_name: str) -> BswModuleEntry:
156
+ if (short_name not in self.elements):
157
+ entry = BswModuleEntry(self, short_name)
158
+ self.addElement(entry)
159
+ return self.getElement(short_name)
160
+
161
+ def createBswImplementation(self, short_name: str) -> BswImplementation:
162
+ if (short_name not in self.elements):
163
+ impl = BswImplementation(self, short_name)
164
+ self.addElement(impl)
165
+ return self.getElement(short_name)
166
+
167
+ def createSwcImplementation(self, short_name: str) -> SwcImplementation:
168
+ if (short_name not in self.elements):
169
+ impl = SwcImplementation(self, short_name)
170
+ self.addElement(impl)
171
+ return self.getElement(short_name)
172
+
173
+ def createSwcBswMapping(self, short_name: str) -> SwcBswMapping:
174
+ if (short_name not in self.elements):
175
+ mapping = SwcBswMapping(self, short_name)
176
+ self.addElement(mapping)
177
+ return self.getElement(short_name)
178
+
179
+ def createConstantSpecification(self, short_name: str) -> ConstantSpecification:
180
+ if (short_name not in self.elements):
181
+ spec = ConstantSpecification(self, short_name)
182
+ self.addElement(spec)
183
+ return self.getElement(short_name)
184
+
185
+ def createDataConstr(self, short_name: str) -> DataConstr:
186
+ if (short_name not in self.elements):
187
+ constr = DataConstr(self, short_name)
188
+ self.addElement(constr)
189
+ return self.getElement(short_name)
190
+
191
+ def createUnit(self, short_name: str) -> Unit:
192
+ if (short_name not in self.elements):
193
+ unit = Unit(self, short_name)
194
+ self.addElement(unit)
195
+ return self.getElement(short_name)
196
+
197
+ def createEndToEndProtectionSet(self, short_name: str) -> EndToEndProtectionSet:
198
+ if (short_name not in self.elements):
199
+ e2d_set = EndToEndProtectionSet(self, short_name)
200
+ self.addElement(e2d_set)
201
+ return self.getElement(short_name)
202
+
203
+ def createApplicationArrayDataType(self, short_name: str) -> ApplicationArrayDataType:
204
+ if (short_name not in self.elements):
205
+ data_type = ApplicationArrayDataType(self, short_name)
206
+ self.addElement(data_type)
207
+ return self.getElement(short_name)
208
+
209
+ def createSwRecordLayout(self, short_name: str) -> SwRecordLayout:
210
+ if (short_name not in self.elements):
211
+ layout = SwRecordLayout(self, short_name)
212
+ self.addElement(layout)
213
+ return self.getElement(short_name)
214
+
215
+ def createSwAddrMethod(self, short_name: str) -> SwAddrMethod:
216
+ if (short_name not in self.elements):
217
+ method = SwAddrMethod(self, short_name)
218
+ self.addElement(method)
219
+ return self.getElement(short_name)
220
+
221
+ def createTriggerInterface(self, short_name: str) -> TriggerInterface:
222
+ if (short_name not in self.elements):
223
+ trigger_interface = TriggerInterface(self, short_name)
224
+ self.addElement(trigger_interface)
225
+ return trigger_interface
226
+
227
+ def createModeDeclarationGroup(self, short_name: str) -> ModeDeclarationGroup:
228
+ if (short_name not in self.elements):
229
+ group = ModeDeclarationGroup(self, short_name)
230
+ self.addElement(group)
231
+ return self.getElement(short_name)
232
+
233
+ def createModeSwitchInterface(self, short_name: str) -> ModeSwitchInterface:
234
+ if (short_name not in self.elements):
235
+ switch_interface = ModeSwitchInterface(self, short_name)
236
+ self.addElement(switch_interface)
237
+ return self.getElement(short_name)
238
+
239
+ def createSwcTiming(self, short_name: str) -> SwcTiming:
240
+ if (short_name not in self.elements):
241
+ timing = SwcTiming(self, short_name)
242
+ self.addElement(timing)
243
+ return self.getElement(short_name)
244
+
245
+ def createLinCluster(self, short_name: str) -> LinCluster:
246
+ if (short_name not in self.elements):
247
+ cluster = LinCluster(self, short_name)
248
+ self.addElement(cluster)
249
+ return self.getElement(short_name)
250
+
251
+ def createCanCluster(self, short_name: str) -> CanCluster:
252
+ if (short_name not in self.elements):
253
+ cluster = CanCluster(self, short_name)
254
+ self.addElement(cluster)
255
+ return self.getElement(short_name)
256
+
257
+ def createLinUnconditionalFrame(self, short_name: str) -> LinUnconditionalFrame:
258
+ if (short_name not in self.elements):
259
+ frame = LinUnconditionalFrame(self, short_name)
260
+ self.addElement(frame)
261
+ return self.getElement(short_name)
262
+
263
+ def createNmPdu(self, short_name: str) -> NmPdu:
264
+ if (short_name not in self.elements):
265
+ element = NmPdu(self, short_name)
266
+ self.addElement(element)
267
+ return self.getElement(short_name)
268
+
269
+ def createNPdu(self, short_name: str) -> NPdu:
270
+ if (short_name not in self.elements):
271
+ element = NPdu(self, short_name)
272
+ self.addElement(element)
273
+ return self.getElement(short_name)
274
+
275
+ def createDcmIPdu(self, short_name: str) -> DcmIPdu:
276
+ if (short_name not in self.elements):
277
+ element = DcmIPdu(self, short_name)
278
+ self.addElement(element)
279
+ return self.getElement(short_name)
280
+
281
+ def createSecuredIPdu(self, short_name: str) -> SecuredIPdu:
282
+ if (short_name not in self.elements):
283
+ element = SecuredIPdu(self, short_name)
284
+ self.addElement(element)
285
+ return self.getElement(short_name)
286
+
287
+ def createNmConfig(self, short_name: str) -> NmConfig:
288
+ if (short_name not in self.elements):
289
+ element = NmConfig(self, short_name)
290
+ self.addElement(element)
291
+ return self.getElement(short_name)
292
+
293
+ def createCanTpConfig(self, short_name: str) -> CanTpConfig:
294
+ if (short_name not in self.elements):
295
+ element = CanTpConfig(self, short_name)
296
+ self.addElement(element)
297
+ return self.getElement(short_name)
298
+
299
+ def createCanFrame(self, short_name: str) -> CanFrame:
300
+ if (short_name not in self.elements):
301
+ element = CanFrame(self, short_name)
302
+ self.addElement(element)
303
+ return self.getElement(short_name)
304
+
305
+ def createEcuInstance(self, short_name: str) -> EcuInstance:
306
+ if (short_name not in self.elements):
307
+ element = EcuInstance(self, short_name)
308
+ self.addElement(element)
309
+ return self.getElement(short_name)
310
+
311
+ def createGateway(self, short_name: str) -> Gateway:
312
+ if (short_name not in self.elements):
313
+ element = Gateway(self, short_name)
314
+ self.addElement(element)
315
+ return self.getElement(short_name)
316
+
317
+ def createISignal(self, short_name: str) -> ISignal:
318
+ if (short_name not in self.elements):
319
+ element = ISignal(self, short_name)
320
+ self.addElement(element)
321
+ return self.getElement(short_name)
322
+
323
+ def createSystemSignal(self, short_name: str) -> SystemSignal:
324
+ if (short_name not in self.elements):
325
+ element = SystemSignal(self, short_name)
326
+ self.addElement(element)
327
+ return self.getElement(short_name)
328
+
329
+ def createSystemSignalGroup(self, short_name: str) -> SystemSignalGroup:
330
+ if (short_name not in self.elements):
331
+ element = SystemSignalGroup(self, short_name)
332
+ self.addElement(element)
333
+ return self.getElement(short_name)
334
+
335
+ def createISignalIPdu(self, short_name: str) -> ISignalIPdu:
336
+ if (short_name not in self.elements):
337
+ element = ISignalIPdu(self, short_name)
338
+ self.addElement(element)
339
+ return self.getElement(short_name)
340
+
341
+ def createEcucValueCollection(self, short_name: str) -> EcucValueCollection:
342
+ if (short_name not in self.elements):
343
+ element = EcucValueCollection(self, short_name)
344
+ self.addElement(element)
345
+ return self.getElement(short_name)
346
+
347
+ def createEcucModuleConfigurationValues(self, short_name: str) -> EcucModuleConfigurationValues:
348
+ if (short_name not in self.elements):
349
+ element = EcucModuleConfigurationValues(self, short_name)
350
+ self.addElement(element)
351
+ return self.getElement(short_name)
352
+
353
+ def createPhysicalDimension(self, short_name: str) -> PhysicalDimension:
354
+ if (short_name not in self.elements):
355
+ element = PhysicalDimension(self, short_name)
356
+ self.addElement(element)
357
+ return self.getElement(short_name)
358
+
359
+ def createISignalGroup(self, short_name: str) -> ISignalGroup:
360
+ if (short_name not in self.elements):
361
+ element = ISignalGroup(self, short_name)
362
+ self.addElement(element)
363
+ return self.getElement(short_name)
364
+
365
+ def createISignalIPduGroup(self, short_name: str) -> ISignalIPduGroup:
366
+ if (short_name not in self.elements):
367
+ element = ISignalIPduGroup(self, short_name)
368
+ self.addElement(element)
369
+ return self.getElement(short_name)
370
+
371
+ def createSystem(self, short_name: str) -> System:
372
+ if (short_name not in self.elements):
373
+ element = System(self, short_name)
374
+ self.addElement(element)
375
+ return self.getElement(short_name)
376
+
377
+ def getApplicationPrimitiveDataTypes(self) -> List[ApplicationPrimitiveDataType]:
378
+ return list(sorted(filter(lambda a: isinstance(a, ApplicationPrimitiveDataType), self.elements.values()), key= lambda o:o.short_name))
379
+
380
+ def getApplicationDataType(self) -> List[ApplicationDataType]:
381
+ return list(sorted(filter(lambda a: isinstance(a, ApplicationDataType), self.elements.values()), key= lambda o:o.short_name))
382
+
383
+ def getImplementationDataTypes(self) -> List[ImplementationDataType]:
384
+ return list(sorted(filter(lambda a: isinstance(a, ImplementationDataType), self.elements.values()), key= lambda o:o.short_name))
385
+
386
+ def getSwBaseTypes(self) -> List[SwBaseType]:
387
+ return list(filter(lambda a: isinstance(a, SwBaseType), self.elements.values()))
388
+
389
+ def getSwComponentTypes(self) -> List[SwComponentType]:
390
+ return list(filter(lambda a : isinstance(a, SwComponentType), self.elements.values()))
391
+
392
+ def getSensorActuatorSwComponentType(self) -> List[SensorActuatorSwComponentType]:
393
+ return list(filter(lambda a : isinstance(a, SensorActuatorSwComponentType), self.elements.values()))
394
+
395
+ def getAtomicSwComponentTypes(self) -> List[AtomicSwComponentType]:
396
+ return list(filter(lambda a : isinstance(a, AtomicSwComponentType), self.elements.values()))
397
+
398
+ def getCompositionSwComponentTypes(self) -> List[CompositionSwComponentType]:
399
+ return list(filter(lambda a : isinstance(a, CompositionSwComponentType), self.elements.values()))
400
+
401
+ def getComplexDeviceDriverSwComponentTypes(self) -> List[ComplexDeviceDriverSwComponentType]:
402
+ return list(sorted(filter(lambda a : isinstance(a, ComplexDeviceDriverSwComponentType), self.elements.values()), key = lambda a: a.short_name))
403
+
404
+ def getSenderReceiverInterfaces(self) -> List[SenderReceiverInterface]:
405
+ return list(sorted(filter(lambda a : isinstance(a, SenderReceiverInterface), self.elements.values()), key = lambda a: a.short_name))
406
+
407
+ def getParameterInterfaces(self) -> List[ParameterInterface]:
408
+ return list(sorted(filter(lambda a : isinstance(a, ParameterInterface), self.elements.values()), key = lambda a: a.short_name))
409
+
410
+ def getClientServerInterfaces(self) -> List[ClientServerInterface]:
411
+ return list(sorted(filter(lambda a : isinstance(a, ClientServerInterface), self.elements.values()), key = lambda a: a.short_name))
412
+
413
+ def getDataTypeMappingSets(self) -> List[DataTypeMappingSet]:
414
+ return list(sorted(filter(lambda a : isinstance(a, DataTypeMappingSet), self.elements.values()), key = lambda a: a.short_name))
415
+
416
+ def getCompuMethods(self) -> List[CompuMethod]:
417
+ return list(filter(lambda a: isinstance(a, CompuMethod), self.elements.values()))
418
+
419
+ def getBswModuleDescriptions(self) -> List[BswModuleDescription]:
420
+ return list(filter(lambda a: isinstance(a, BswModuleDescription), self.elements.values()))
421
+
422
+ def getBswModuleEntries(self) -> List[BswModuleEntry]:
423
+ return list(filter(lambda a: isinstance(a, BswModuleEntry), self.elements.values()))
424
+
425
+ def getBswImplementations(self) -> List[BswImplementation]:
426
+ return list(filter(lambda a: isinstance(a, BswImplementation), self.elements.values()))
427
+
428
+ def getSwcImplementations(self) -> List[SwcImplementation]:
429
+ return list(filter(lambda a: isinstance(a, SwcImplementation), self.elements.values()))
430
+
431
+ def getImplementations(self) -> List[Implementation]:
432
+ return list(filter(lambda a: isinstance(a, Implementation), self.elements.values()))
433
+
434
+ def getSwcBswMappings(self) -> List[SwcBswMapping]:
435
+ return list(filter(lambda a: isinstance(a, SwcBswMapping), self.elements.values()))
436
+
437
+ def getConstantSpecifications(self) -> List[ConstantSpecification]:
438
+ return list(filter(lambda a: isinstance(a, ConstantSpecification), self.elements.values()))
439
+
440
+ def getDataConstrs(self) -> List[DataConstr]:
441
+ return list(filter(lambda a: isinstance(a, DataConstr), self.elements.values()))
442
+
443
+ def getUnits(self) -> List[Unit]:
444
+ return list(filter(lambda a: isinstance(a, Unit), self.elements.values()))
445
+
446
+ def getApplicationArrayDataTypes(self) -> List[ApplicationArrayDataType]:
447
+ return list(sorted(filter(lambda a : isinstance(a, ApplicationArrayDataType), self.elements.values()), key = lambda a: a.short_name))
448
+
449
+ def getSwRecordLayouts(self) -> List[SwRecordLayout]:
450
+ return list(sorted(filter(lambda a : isinstance(a, SwRecordLayout), self.elements.values()), key = lambda a: a.short_name))
451
+
452
+ def getSwAddrMethods(self) -> List[SwAddrMethod]:
453
+ return list(sorted(filter(lambda a : isinstance(a, SwAddrMethod), self.elements.values()), key = lambda a: a.short_name))
454
+
455
+ def getTriggerInterfaces(self) -> List[TriggerInterface]:
456
+ return list(sorted(filter(lambda a : isinstance(a, TriggerInterface), self.elements.values()), key = lambda a: a.short_name))
457
+
458
+ def getModeDeclarationGroups(self) -> List[ModeDeclarationGroup]:
459
+ return list(sorted(filter(lambda a : isinstance(a, ModeDeclarationGroup), self.elements.values()), key = lambda a: a.short_name))
460
+
461
+ def getModeSwitchInterfaces(self) -> List[ModeSwitchInterface]:
462
+ return list(sorted(filter(lambda a : isinstance(a, ModeSwitchInterface), self.elements.values()), key = lambda a: a.short_name))
463
+
464
+ def getSwcTimings(self) -> List[SwcTiming]:
465
+ return list(sorted(filter(lambda a : isinstance(a, SwcTiming), self.elements.values()), key = lambda a: a.short_name))
466
+
467
+ def getLinClusters(self) -> List[LinCluster]:
468
+ return list(sorted(filter(lambda a : isinstance(a, LinCluster), self.elements.values()), key = lambda a: a.short_name))
469
+
470
+ def getCanClusters(self) -> List[CanCluster]:
471
+ return list(sorted(filter(lambda a : isinstance(a, CanCluster), self.elements.values()), key = lambda a: a.short_name))
472
+
473
+ def getLinUnconditionalFrames(self) -> List[LinUnconditionalFrame]:
474
+ return list(sorted(filter(lambda a : isinstance(a, LinUnconditionalFrame), self.elements.values()), key = lambda a: a.short_name))
475
+
476
+ def getNmPdus(self) -> List[NmPdu]:
477
+ return list(sorted(filter(lambda a : isinstance(a, NmPdu), self.elements.values()), key = lambda a: a.short_name))
478
+
479
+ def getNPdus(self) -> List[NPdu]:
480
+ return list(sorted(filter(lambda a : isinstance(a, NPdu), self.elements.values()), key = lambda a: a.short_name))
481
+
482
+ def getDcmIPdus(self) -> List[DcmIPdu]:
483
+ return list(sorted(filter(lambda a : isinstance(a, DcmIPdu), self.elements.values()), key = lambda a: a.short_name))
484
+
485
+ def getSecuredIPdus(self) -> List[SecuredIPdu]:
486
+ return list(sorted(filter(lambda a : isinstance(a, SecuredIPdu), self.elements.values()), key = lambda a: a.short_name))
487
+
488
+ def getNmConfigs(self) -> List[NmConfig]:
489
+ return list(sorted(filter(lambda a : isinstance(a, NmConfig), self.elements.values()), key = lambda a: a.short_name))
490
+
491
+ def getCanTpConfigs(self) -> List[CanTpConfig]:
492
+ return list(sorted(filter(lambda a : isinstance(a, CanTpConfig), self.elements.values()), key = lambda a: a.short_name))
493
+
494
+ def getCanFrames(self) -> List[CanFrame]:
495
+ return list(sorted(filter(lambda a : isinstance(a, CanFrame), self.elements.values()), key = lambda a: a.short_name))
496
+
497
+ def getEcuInstances(self) -> List[EcuInstance]:
498
+ return list(sorted(filter(lambda a : isinstance(a, EcuInstance), self.elements.values()), key = lambda a: a.short_name))
499
+
500
+ def getGateways(self) -> List[Gateway]:
501
+ return list(sorted(filter(lambda a : isinstance(a, Gateway), self.elements.values()), key = lambda a: a.short_name))
502
+
503
+ def getISignals(self) -> List[ISignal]:
504
+ return list(sorted(filter(lambda a : isinstance(a, ISignal), self.elements.values()), key = lambda a: a.short_name))
505
+
506
+ def getEcucValueCollections(self) -> List[EcucValueCollection]:
507
+ return list(sorted(filter(lambda a : isinstance(a, EcucValueCollection), self.elements.values()), key = lambda a: a.short_name))
508
+
509
+ def getEcucModuleConfigurationValues(self) -> List[EcucModuleConfigurationValues]:
510
+ return list(sorted(filter(lambda a : isinstance(a, EcucModuleConfigurationValues), self.elements.values()), key = lambda a: a.short_name))
511
+
512
+ def getEcucModuleConfigurationValues(self) -> List[PhysicalDimension]:
513
+ return list(sorted(filter(lambda a : isinstance(a, PhysicalDimension), self.elements.values()), key = lambda a: a.short_name))
514
+
515
+ def getISignalGroups(self) -> List[ISignalGroup]:
516
+ return list(sorted(filter(lambda a : isinstance(a, ISignalGroup), self.elements.values()), key = lambda a: a.short_name))
517
+
518
+ def getSystemSignals(self) -> List[SystemSignal]:
519
+ return list(sorted(filter(lambda a : isinstance(a, SystemSignal), self.elements.values()), key = lambda a: a.short_name))
520
+
521
+ def getSystemSignalGroups(self) -> List[SystemSignalGroup]:
522
+ return list(sorted(filter(lambda a : isinstance(a, SystemSignalGroup), self.elements.values()), key = lambda a: a.short_name))
523
+
524
+ def getISignalIPdus(self) -> List[ISignalIPdu]:
525
+ return list(sorted(filter(lambda a : isinstance(a, ISignalIPdu), self.elements.values()), key = lambda a: a.short_name))
526
+
527
+ def getSystems(self) -> List[System]:
528
+ return list(sorted(filter(lambda a : isinstance(a, System), self.elements.values()), key = lambda a: a.short_name))
@@ -149,6 +149,22 @@ class ParameterRequireComSpec(RPortComSpec):
149
149
  def __init__(self):
150
150
  super().__init__()
151
151
 
152
+ self.initValue = None # type: ValueSpecification
153
+ self.parameterRef = None # type: RefType
154
+
155
+ def getInitValue(self):
156
+ return self.initValue
157
+
158
+ def setInitValue(self, value):
159
+ self.initValue = value
160
+ return self
161
+
162
+ def getParameterRef(self):
163
+ return self.parameterRef
164
+
165
+ def setParameterRef(self, value):
166
+ self.parameterRef = value
167
+ return self
152
168
 
153
169
  class ReceiverComSpec(RPortComSpec):
154
170
  __metaclass__ = ABCMeta
@@ -162,6 +178,34 @@ class ReceiverComSpec(RPortComSpec):
162
178
  self.handleOutOfRange = None # type: ARLiteral
163
179
  self.usesEndToEndProtection = None # type: ARBoolean
164
180
 
181
+ def getDataElementRef(self):
182
+ return self.dataElementRef
183
+
184
+ def setDataElementRef(self, value):
185
+ self.dataElementRef = value
186
+ return self
187
+
188
+ def getNetworkRepresentation(self):
189
+ return self.networkRepresentation
190
+
191
+ def setNetworkRepresentation(self, value):
192
+ self.networkRepresentation = value
193
+ return self
194
+
195
+ def getHandleOutOfRange(self):
196
+ return self.handleOutOfRange
197
+
198
+ def setHandleOutOfRange(self, value):
199
+ self.handleOutOfRange = value
200
+ return self
201
+
202
+ def getUsesEndToEndProtection(self):
203
+ return self.usesEndToEndProtection
204
+
205
+ def setUsesEndToEndProtection(self, value):
206
+ self.usesEndToEndProtection = value
207
+ return self
208
+
165
209
  def addCompositeNetworkRepresentation(self, representation: CompositeNetworkRepresentation):
166
210
  self.compositeNetworkRepresentations.append(representation)
167
211