py-eb-model 1.0.0__py3-none-any.whl → 1.1.3__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 (48) hide show
  1. eb_model/__init__.py +2 -1
  2. eb_model/cli/os_xdm_2_xls_cli.py +21 -12
  3. eb_model/cli/pref_system_importer_cli.py +94 -0
  4. py_eb_model/cli/os_xdm_2_xls_cli.py → eb_model/cli/rte_xdm_2_xls_cli.py +18 -9
  5. eb_model/models/__init__.py +2 -0
  6. eb_model/models/abstract.py +86 -13
  7. eb_model/models/eb_doc.py +55 -27
  8. eb_model/models/eclipse_project.py +8 -0
  9. eb_model/models/importer_xdm.py +115 -0
  10. eb_model/models/os_xdm.py +893 -98
  11. eb_model/models/rte_xdm.py +604 -0
  12. eb_model/parser/__init__.py +3 -0
  13. eb_model/parser/eb_parser.py +92 -39
  14. eb_model/parser/eb_parser_factory.py +29 -0
  15. eb_model/parser/os_xdm_parser.py +173 -28
  16. eb_model/parser/pref_xdm_parser.py +36 -0
  17. eb_model/parser/rte_xdm_parser.py +95 -0
  18. eb_model/reporter/excel_reporter/abstract.py +11 -11
  19. eb_model/reporter/excel_reporter/os_xdm.py +109 -12
  20. eb_model/reporter/excel_reporter/rte_xdm.py +87 -0
  21. eb_model/tests/models/test_eb_model.py +19 -1
  22. eb_model/tests/models/test_importer_xdm.py +61 -0
  23. eb_model/writer/__init__.py +2 -0
  24. eb_model/writer/project_writer.py +71 -0
  25. eb_model/writer/text_writer.py +28 -0
  26. py_eb_model-1.1.3.dist-info/METADATA +194 -0
  27. py_eb_model-1.1.3.dist-info/RECORD +38 -0
  28. py_eb_model-1.1.3.dist-info/entry_points.txt +5 -0
  29. py_eb_model/__init__.py +0 -3
  30. py_eb_model/cli/__init__.py +0 -0
  31. py_eb_model/models/__init__.py +0 -3
  32. py_eb_model/models/abstract.py +0 -66
  33. py_eb_model/models/eb_doc.py +0 -52
  34. py_eb_model/models/os_xdm.py +0 -220
  35. py_eb_model/parser/__init__.py +0 -1
  36. py_eb_model/parser/eb_parser.py +0 -147
  37. py_eb_model/parser/os_xdm_parser.py +0 -43
  38. py_eb_model/reporter/__init__.py +0 -1
  39. py_eb_model/reporter/excel_reporter/__init__.py +0 -0
  40. py_eb_model/reporter/excel_reporter/abstract.py +0 -43
  41. py_eb_model/reporter/excel_reporter/os_xdm.py +0 -44
  42. py_eb_model/reporter/markdown.py +0 -40
  43. py_eb_model-1.0.0.dist-info/METADATA +0 -16
  44. py_eb_model-1.0.0.dist-info/RECORD +0 -40
  45. py_eb_model-1.0.0.dist-info/entry_points.txt +0 -3
  46. {py_eb_model-1.0.0.dist-info → py_eb_model-1.1.3.dist-info}/LICENSE +0 -0
  47. {py_eb_model-1.0.0.dist-info → py_eb_model-1.1.3.dist-info}/WHEEL +0 -0
  48. {py_eb_model-1.0.0.dist-info → py_eb_model-1.1.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,604 @@
1
+ from typing import Dict, List
2
+ from ..models.abstract import EcucContainer, EcucRefType, Module
3
+ class RteEventToIsrMapping(EcucContainer):
4
+ def __init__(self, parent, name) -> None:
5
+ super().__init__(parent, name)
6
+
7
+ self.RtePositionInIsr = None
8
+ self.RteIsrEventRef = None
9
+ self.RteMappedToIsrRef = None
10
+ self.RteRipsFillRoutineRef = None
11
+ self.RteRipsFlushRoutineRef = None
12
+
13
+ class AbstractEventToTaskMapping(EcucContainer):
14
+ def __init__(self, parent, name) -> None:
15
+ super().__init__(parent, name)
16
+
17
+ self.rtePositionInTask = None
18
+
19
+ def getRtePositionInTask(self):
20
+ return self.rtePositionInTask
21
+
22
+ def setRtePositionInTask(self, value):
23
+ self.rtePositionInTask = value
24
+ return self
25
+
26
+ class RteEventToTaskMapping(AbstractEventToTaskMapping):
27
+ def __init__(self, parent, name) -> None:
28
+ super().__init__(parent, name)
29
+
30
+ self.rteActivationOffset = None
31
+ self.rteImmediateRestart = None
32
+ self.rteOsSchedulePoint = None
33
+
34
+ self.rteServerNumberOfRequestProcessing = None
35
+ self.rteServerQueueLength = None
36
+ self.rteEventPredecessorSyncPointRef = None
37
+
38
+ self.rteEventSuccessorSyncPointRef = None
39
+ self.rteMappedToTaskRef = None
40
+ self.rtePeriod = None
41
+ self.rteRipsFillRoutineRef = None
42
+ self.rteRipsFlushRoutineRef = None
43
+ self.rteRipsInvocationHandlerRef = None
44
+ self.rteUsedInitFnc = None
45
+ self.rteUsedOsAlarmRef = None
46
+ self.rteUsedOsEventRef = None
47
+ self.rteUsedOsSchTblExpiryPointRef = None
48
+ self.rteVirtuallyMappedToTaskRef = None
49
+
50
+ def getRteSwComponentInstance(self): # type: () -> RteSwComponentInstance
51
+ return self.getParent()
52
+
53
+ def getRteActivationOffset(self):
54
+ return self.rteActivationOffset
55
+
56
+ def setRteActivationOffset(self, value):
57
+ self.rteActivationOffset = value
58
+ return self
59
+
60
+ def getRteImmediateRestart(self):
61
+ return self.rteImmediateRestart
62
+
63
+ def setRteImmediateRestart(self, value):
64
+ self.rteImmediateRestart = value
65
+ return self
66
+
67
+ def getRteOsSchedulePoint(self):
68
+ return self.rteOsSchedulePoint
69
+
70
+ def setRteOsSchedulePoint(self, value):
71
+ self.rteOsSchedulePoint = value
72
+ return self
73
+
74
+ def getRtePositionInTask(self):
75
+ return AbstractEventToTaskMapping.getRtePositionInTask(self)
76
+
77
+ def setRtePositionInTask(self, value):
78
+ AbstractEventToTaskMapping.setRtePositionInTask(self, value)
79
+ return self
80
+
81
+ def getRteServerNumberOfRequestProcessing(self):
82
+ return self.rteServerNumberOfRequestProcessing
83
+
84
+ def setRteServerNumberOfRequestProcessing(self, value):
85
+ self.rteServerNumberOfRequestProcessing = value
86
+ return self
87
+
88
+ def getRteServerQueueLength(self):
89
+ return self.rteServerQueueLength
90
+
91
+ def setRteServerQueueLength(self, value):
92
+ self.rteServerQueueLength = value
93
+ return self
94
+
95
+ def getRteEventPredecessorSyncPointRef(self):
96
+ return self.rteEventPredecessorSyncPointRef
97
+
98
+ def setRteEventPredecessorSyncPointRef(self, value):
99
+ self.rteEventPredecessorSyncPointRef = value
100
+ return self
101
+
102
+ def getRteEventSuccessorSyncPointRef(self):
103
+ return self.rteEventSuccessorSyncPointRef
104
+
105
+ def setRteEventSuccessorSyncPointRef(self, value):
106
+ self.rteEventSuccessorSyncPointRef = value
107
+ return self
108
+
109
+ def getRteMappedToTaskRef(self) -> EcucRefType:
110
+ return self.rteMappedToTaskRef
111
+
112
+ def setRteMappedToTaskRef(self, value: EcucRefType):
113
+ self.rteMappedToTaskRef = value
114
+ return self
115
+
116
+ def getRtePeriod(self):
117
+ return self.rtePeriod
118
+
119
+ def setRtePeriod(self, value):
120
+ self.rtePeriod = value
121
+ return self
122
+
123
+ def getRteRipsFillRoutineRef(self):
124
+ return self.rteRipsFillRoutineRef
125
+
126
+ def setRteRipsFillRoutineRef(self, value):
127
+ self.rteRipsFillRoutineRef = value
128
+ return self
129
+
130
+ def getRteRipsFlushRoutineRef(self):
131
+ return self.rteRipsFlushRoutineRef
132
+
133
+ def setRteRipsFlushRoutineRef(self, value):
134
+ self.rteRipsFlushRoutineRef = value
135
+ return self
136
+
137
+ def getRteRipsInvocationHandlerRef(self):
138
+ return self.rteRipsInvocationHandlerRef
139
+
140
+ def setRteRipsInvocationHandlerRef(self, value):
141
+ self.rteRipsInvocationHandlerRef = value
142
+ return self
143
+
144
+ def getRteUsedInitFnc(self):
145
+ return self.rteUsedInitFnc
146
+
147
+ def setRteUsedInitFnc(self, value):
148
+ self.rteUsedInitFnc = value
149
+ return self
150
+
151
+ def getRteUsedOsAlarmRef(self):
152
+ return self.rteUsedOsAlarmRef
153
+
154
+ def setRteUsedOsAlarmRef(self, value):
155
+ self.rteUsedOsAlarmRef = value
156
+ return self
157
+
158
+ def getRteUsedOsEventRef(self):
159
+ return self.rteUsedOsEventRef
160
+
161
+ def setRteUsedOsEventRef(self, value):
162
+ self.rteUsedOsEventRef = value
163
+ return self
164
+
165
+ def getRteUsedOsSchTblExpiryPointRef(self):
166
+ return self.rteUsedOsSchTblExpiryPointRef
167
+
168
+ def setRteUsedOsSchTblExpiryPointRef(self, value):
169
+ self.rteUsedOsSchTblExpiryPointRef = value
170
+ return self
171
+
172
+ def getRteVirtuallyMappedToTaskRef(self):
173
+ return self.rteVirtuallyMappedToTaskRef
174
+
175
+ def setRteVirtuallyMappedToTaskRef(self, value):
176
+ self.rteVirtuallyMappedToTaskRef = value
177
+ return self
178
+
179
+ class RteEventToTaskMappingV3(RteEventToTaskMapping):
180
+ def __init__(self, parent, name):
181
+ super().__init__(parent, name)
182
+
183
+ self.rteEventRef = None
184
+
185
+ def getRteEventRef(self) -> EcucRefType:
186
+ return self.rteEventRef
187
+
188
+ def setRteEventRef(self, value: EcucRefType):
189
+ self.rteEventRef = value
190
+ return self
191
+
192
+ class RteEventToTaskMappingV4(RteEventToTaskMapping):
193
+ def __init__(self, parent, name):
194
+ super().__init__(parent, name)
195
+
196
+ self.rteEventRefs = []
197
+
198
+ def getRteEventRefs(self):
199
+ return self.rteEventRefs
200
+
201
+ def addRteEventRef(self, value):
202
+ if value is not None:
203
+ self.rteEventRefs.append(value)
204
+ return self
205
+
206
+ def getRteEventRef(self):
207
+ if len(self.rteEventRefs) != 1:
208
+ raise ValueError("Unsupported RteEventRef of RteEventToTaskMapping <%s> " % self.name)
209
+ return self.rteEventRefs[0]
210
+
211
+ class RteBswEventToTaskMapping(AbstractEventToTaskMapping):
212
+ def __init__(self, parent, name) -> None:
213
+ super().__init__(parent, name)
214
+
215
+ self.rteBswActivationOffset = None
216
+ self.rteBswEventPeriod = None
217
+ self.rteBswImmediateRestart = None
218
+
219
+ self.rteBswServerNumberOfRequestProcessing = None
220
+ self.rteBswServerQueueLength = None
221
+ self.rteOsSchedulePoint = None
222
+ self.rteBswEventPredecessorSyncPointRef = None
223
+
224
+ self.rteBswMappedToTaskRef = None
225
+ self.rteBswUsedOsAlarmRef = None
226
+ self.rteBswUsedOsEventRef = None
227
+ self.rteBswUsedOsSchTblExpiryPointRef = None
228
+ self.rteRipsFillRoutineRef = None
229
+ self.rteRipsFlushRoutineRef = None
230
+
231
+ def getRteBswModuleInstance(self): # type: () -> RteBswModuleInstance
232
+ return self.getParent()
233
+
234
+ def getRteBswActivationOffset(self):
235
+ return self.rteBswActivationOffset
236
+
237
+ def setRteBswActivationOffset(self, value):
238
+ self.rteBswActivationOffset = value
239
+ return self
240
+
241
+ def getRteBswEventPeriod(self):
242
+ return self.rteBswEventPeriod
243
+
244
+ def setRteBswEventPeriod(self, value):
245
+ self.rteBswEventPeriod = value
246
+ return self
247
+
248
+ def getRteBswImmediateRestart(self):
249
+ return self.rteBswImmediateRestart
250
+
251
+ def setRteBswImmediateRestart(self, value):
252
+ self.rteBswImmediateRestart = value
253
+ return self
254
+
255
+ def getRteBswPositionInTask(self) -> int:
256
+ return AbstractEventToTaskMapping.getRtePositionInTask(self)
257
+
258
+ def setRteBswPositionInTask(self, value: int):
259
+ AbstractEventToTaskMapping.setRtePositionInTask(self, value)
260
+ return self
261
+
262
+ def getRteBswServerNumberOfRequestProcessing(self):
263
+ return self.rteBswServerNumberOfRequestProcessing
264
+
265
+ def setRteBswServerNumberOfRequestProcessing(self, value):
266
+ self.rteBswServerNumberOfRequestProcessing = value
267
+ return self
268
+
269
+ def getRteBswServerQueueLength(self):
270
+ return self.rteBswServerQueueLength
271
+
272
+ def setRteBswServerQueueLength(self, value):
273
+ self.rteBswServerQueueLength = value
274
+ return self
275
+
276
+ def getRteOsSchedulePoint(self):
277
+ return self.rteOsSchedulePoint
278
+
279
+ def setRteOsSchedulePoint(self, value):
280
+ self.rteOsSchedulePoint = value
281
+ return self
282
+
283
+ def getRteBswEventPredecessorSyncPointRef(self):
284
+ return self.rteBswEventPredecessorSyncPointRef
285
+
286
+ def setRteBswEventPredecessorSyncPointRef(self, value):
287
+ self.rteBswEventPredecessorSyncPointRef = value
288
+ return self
289
+
290
+ def getRteBswMappedToTaskRef(self) -> EcucRefType:
291
+ return self.rteBswMappedToTaskRef
292
+
293
+ def setRteBswMappedToTaskRef(self, value: EcucRefType):
294
+ self.rteBswMappedToTaskRef = value
295
+ return self
296
+
297
+ def getRteBswUsedOsAlarmRef(self):
298
+ return self.rteBswUsedOsAlarmRef
299
+
300
+ def setRteBswUsedOsAlarmRef(self, value):
301
+ self.rteBswUsedOsAlarmRef = value
302
+ return self
303
+
304
+ def getRteBswUsedOsEventRef(self):
305
+ return self.rteBswUsedOsEventRef
306
+
307
+ def setRteBswUsedOsEventRef(self, value):
308
+ self.rteBswUsedOsEventRef = value
309
+ return self
310
+
311
+ def getRteBswUsedOsSchTblExpiryPointRef(self):
312
+ return self.rteBswUsedOsSchTblExpiryPointRef
313
+
314
+ def setRteBswUsedOsSchTblExpiryPointRef(self, value):
315
+ self.rteBswUsedOsSchTblExpiryPointRef = value
316
+ return self
317
+
318
+ def getRteRipsFillRoutineRef(self):
319
+ return self.rteRipsFillRoutineRef
320
+
321
+ def setRteRipsFillRoutineRef(self, value):
322
+ self.rteRipsFillRoutineRef = value
323
+ return self
324
+
325
+ def getRteRipsFlushRoutineRef(self):
326
+ return self.rteRipsFlushRoutineRef
327
+
328
+ def setRteRipsFlushRoutineRef(self, value):
329
+ self.rteRipsFlushRoutineRef = value
330
+ return self
331
+
332
+ class RteBswEventToTaskMappingV3(RteBswEventToTaskMapping):
333
+ def __init__(self, parent, name):
334
+ super().__init__(parent, name)
335
+
336
+ self.rteBswEventRef = None # type: EcucRefType
337
+
338
+ def getRteBswEventRef(self):
339
+ return self.rteBswEventRef
340
+
341
+ def setRteBswEventRef(self, value):
342
+ if value is not None:
343
+ self.rteBswEventRef = value
344
+ return self
345
+
346
+ class RteBswEventToTaskMappingV4(RteBswEventToTaskMapping):
347
+ def __init__(self, parent, name):
348
+ super().__init__(parent, name)
349
+
350
+ self.rteBswEventRefs = [] # type: List[EcucRefType]
351
+
352
+ def getRteBswEventRefs(self) -> EcucRefType:
353
+ return self.rteBswEventRefs
354
+
355
+ def addRteBswEventRef(self, value: EcucRefType):
356
+ self.rteBswEventRefs.append(value)
357
+ return self
358
+
359
+ def getRteBswEventRef(self):
360
+ if len(self.rteBswEventRefs) != 1:
361
+ raise ValueError("Unsupported RteEventRef of RteEventToTaskMapping <%s> " % self.name)
362
+ return self.rteBswEventRefs[0]
363
+
364
+ class AbstractRteInstance(EcucContainer):
365
+ def __init__(self, parent, name) -> None:
366
+ super().__init__(parent, name)
367
+
368
+ class RteSwComponentInstance(AbstractRteInstance):
369
+ def __init__(self, parent, name) -> None:
370
+ super().__init__(parent, name)
371
+
372
+ self.mappedToOsApplicationRef = None # type: EcucRefType
373
+ self.rteSoftwareComponentInstanceRef = None
374
+
375
+ self.rteEventToIsrMappings = []
376
+ self.rteEventToTaskMappings = []
377
+ self.rteExclusiveAreaImplementations = []
378
+ self.rteExternalTriggerConfigs = []
379
+ self.rteInternalTriggerConfigs = []
380
+ self.rteModeMachineInstanceConfigs = []
381
+ self.rteNvRamAllocations = []
382
+
383
+ def getMappedToOsApplicationRef(self):
384
+ return self.mappedToOsApplicationRef
385
+
386
+ def setMappedToOsApplicationRef(self, value):
387
+ self.mappedToOsApplicationRef = value
388
+ return self
389
+
390
+ def getRteSoftwareComponentInstanceRef(self) -> EcucRefType:
391
+ return self.rteSoftwareComponentInstanceRef
392
+
393
+ def setRteSoftwareComponentInstanceRef(self, value: EcucRefType):
394
+ self.rteSoftwareComponentInstanceRef = value
395
+ return self
396
+
397
+ def getRteEventToIsrMappingList(self) -> List[RteEventToIsrMapping]:
398
+ return self.rteEventToIsrMappings
399
+
400
+ def addRteEventToIsrMappings(self, value: RteEventToIsrMapping):
401
+ self.rteEventToIsrMappings.append(value)
402
+ return self
403
+
404
+ def getRteEventToTaskMappingList(self) -> List[RteEventToTaskMapping]:
405
+ return self.rteEventToTaskMappings
406
+
407
+ def addRteEventToTaskMapping(self, value: RteEventToTaskMapping):
408
+ self.rteEventToTaskMappings.append(value)
409
+ return self
410
+
411
+ def getRteExclusiveAreaImplementationList(self):
412
+ return self.rteExclusiveAreaImplementations
413
+
414
+ def addRteExclusiveAreaImplementations(self, value):
415
+ self.rteExclusiveAreaImplementations.append(value)
416
+ return self
417
+
418
+ def getRteExternalTriggerConfigList(self):
419
+ return self.rteExternalTriggerConfigs
420
+
421
+ def addRteExternalTriggerConfig(self, value):
422
+ self.rteExternalTriggerConfigs.append(value)
423
+ return self
424
+
425
+ def getRteInternalTriggerConfigList(self):
426
+ return self.rteInternalTriggerConfigs
427
+
428
+ def addRteInternalTriggerConfig(self, value):
429
+ self.rteInternalTriggerConfigs.append(value)
430
+ return self
431
+
432
+ def getRteModeMachineInstanceConfigList(self):
433
+ return self.rteModeMachineInstanceConfigs
434
+
435
+ def addRteModeMachineInstanceConfig(self, value):
436
+ self.rteModeMachineInstanceConfigs.append(value)
437
+ return self
438
+
439
+ def getRteNvRamAllocationList(self):
440
+ return self.rteNvRamAllocations
441
+
442
+ def addRteNvRamAllocation(self, value):
443
+ self.rteNvRamAllocations.append(value)
444
+ return self
445
+
446
+ class RteBswModuleInstance(AbstractRteInstance):
447
+ def __init__(self, parent, name) -> None:
448
+ super().__init__(parent, name)
449
+
450
+ self.rteBswImplementationRef = None
451
+ self.rteBswModuleConfigurationRefs = []
452
+ self.rteBswEventToIsrMappings = []
453
+ self.rteBswEventToTaskMappings = [] # type: List[RteBswEventToTaskMapping]
454
+ self.rteBswExclusiveAreaImpls = []
455
+ self.rteBswExternalTriggerConfigs = []
456
+ self.rteBswInternalTriggerConfigs = []
457
+ self.rteMappedToOsApplicationRef = None # type: EcucRefType
458
+ self.rteBswModeMachineInstanceConfigs = []
459
+ self.rteBswRequiredClientServerConnections = []
460
+ self.rteBswRequiredModeGroupConnections = []
461
+ self.rteBswRequiredSenderReceiverConnections = []
462
+ self.rteBswRequiredTriggerConnections = []
463
+
464
+ def getRteBswImplementationRef(self) -> EcucRefType:
465
+ return self.rteBswImplementationRef
466
+
467
+ def setRteBswImplementationRef(self, value: EcucRefType):
468
+ self.rteBswImplementationRef = value
469
+ return self
470
+
471
+ def getRteBswModuleConfigurationRefList(self):
472
+ return self.rteBswModuleConfigurationRefs
473
+
474
+ def addRteBswModuleConfigurationRef(self, value):
475
+ self.rteBswModuleConfigurationRefs.append(value)
476
+ return self
477
+
478
+ def getRteBswEventToIsrMappingList(self):
479
+ return self.rteBswEventToIsrMappings
480
+
481
+ def addRteBswEventToIsrMapping(self, value):
482
+ self.rteBswEventToIsrMappings.append(value)
483
+ return self
484
+
485
+ def getRteBswEventToTaskMappingList(self) -> List[RteBswEventToTaskMapping]:
486
+ return self.rteBswEventToTaskMappings
487
+
488
+ def addRteBswEventToTaskMapping(self, value: RteBswEventToTaskMapping):
489
+ self.rteBswEventToTaskMappings.append(value)
490
+ return self
491
+
492
+ def getRteBswExclusiveAreaImplList(self):
493
+ return self.rteBswExclusiveAreaImpls
494
+
495
+ def addRteBswExclusiveAreaImpl(self, value):
496
+ self.rteBswExclusiveAreaImpls.append(value)
497
+ return self
498
+
499
+ def getRteBswExternalTriggerConfigList(self):
500
+ return self.rteBswExternalTriggerConfigs
501
+
502
+ def addRteBswExternalTriggerConfig(self, value):
503
+ self.rteBswExternalTriggerConfigs.append(value)
504
+ return self
505
+
506
+ def getRteBswInternalTriggerConfigList(self):
507
+ return self.rteBswInternalTriggerConfigs
508
+
509
+ def addRteBswInternalTriggerConfig(self, value):
510
+ self.rteBswInternalTriggerConfigs.append(value)
511
+ return self
512
+
513
+ def getRteBswModeMachineInstanceConfigList(self):
514
+ return self.rteBswModeMachineInstanceConfigs
515
+
516
+ def addRteBswModeMachineInstanceConfig(self, value):
517
+ self.rteBswModeMachineInstanceConfigs.append(value)
518
+ return self
519
+
520
+ def getRteBswRequiredClientServerConnectionList(self):
521
+ return self.rteBswRequiredClientServerConnections
522
+
523
+ def addRteBswRequiredClientServerConnection(self, value):
524
+ self.rteBswRequiredClientServerConnections.append(value)
525
+ return self
526
+
527
+ def getRteBswRequiredModeGroupConnectionList(self):
528
+ return self.rteBswRequiredModeGroupConnections
529
+
530
+ def addRteBswRequiredModeGroupConnection(self, value):
531
+ self.rteBswRequiredModeGroupConnections.append(value)
532
+ return self
533
+
534
+ def getRteBswRequiredSenderReceiverConnectionList(self):
535
+ return self.rteBswRequiredSenderReceiverConnections
536
+
537
+ def addRteBswRequiredSenderReceiverConnection(self, value):
538
+ self.rteBswRequiredSenderReceiverConnections.append(value)
539
+ return self
540
+
541
+ def getRteBswRequiredTriggerConnectionList(self):
542
+ return self.rteBswRequiredTriggerConnections
543
+
544
+ def addRteBswRequiredTriggerConnection(self, value):
545
+ self.rteBswRequiredTriggerConnections.append(value)
546
+ return self
547
+
548
+ def getRteMappedToOsApplicationRef(self):
549
+ return self.rteMappedToOsApplicationRef
550
+
551
+ def setRteMappedToOsApplicationRef(self, value):
552
+ self.rteMappedToOsApplicationRef = value
553
+ return self
554
+
555
+ class Rte(Module):
556
+ def __init__(self, parent) -> None:
557
+ super().__init__(parent, "Rte")
558
+
559
+ def getRteBswModuleInstanceList(self) -> List[RteBswModuleInstance]:
560
+ return list(sorted(filter(lambda a: isinstance(a, RteBswModuleInstance), self.elements.values()), key= lambda o:o.name))
561
+
562
+ def addRteBswModuleInstance(self, value: RteBswModuleInstance):
563
+ self.elements[value.getName()] = value
564
+
565
+ def getRteSwComponentInstanceList(self) -> List[RteSwComponentInstance]:
566
+ return list(sorted(filter(lambda a: isinstance(a, RteSwComponentInstance), self.elements.values()), key= lambda o:o.name))
567
+
568
+ def addRteSwComponentInstance(self, value: RteSwComponentInstance):
569
+ self.elements[value.getName()] = value
570
+
571
+ def getRteModuleInstanceList(self) -> List[AbstractRteInstance]:
572
+ return list(sorted(filter(lambda a: isinstance(a, AbstractRteInstance), self.elements.values()), key= lambda o:o.name))
573
+
574
+ def _addToRteEventToOsTasks(self, mapping: AbstractEventToTaskMapping, os_tasks: Dict[str, List[AbstractEventToTaskMapping]]):
575
+ if isinstance(mapping, RteBswEventToTaskMapping):
576
+ task_ref = mapping.getRteBswMappedToTaskRef()
577
+ elif isinstance(mapping, RteEventToTaskMapping):
578
+ task_ref = mapping.getRteMappedToTaskRef()
579
+ else:
580
+ raise NotImplementedError("Unsupported AbstractEventToTaskMapping <%s>" % type(mapping))
581
+
582
+ # Skip event do not map to task
583
+ if task_ref is None:
584
+ return
585
+
586
+ task_name = task_ref.getShortName()
587
+
588
+ if task_name not in os_tasks:
589
+ os_tasks[task_name] = []
590
+ os_tasks[task_name].append(mapping)
591
+
592
+ def getMappedEvents(self) -> Dict[str, List[AbstractEventToTaskMapping]]:
593
+ os_tasks = {}
594
+ for instance in self.getRteModuleInstanceList():
595
+ if isinstance(instance, RteBswModuleInstance):
596
+ for mapping in instance.getRteBswEventToTaskMappingList():
597
+ self._addToRteEventToOsTasks(mapping, os_tasks)
598
+ elif isinstance(instance, RteSwComponentInstance):
599
+ for mapping in instance.getRteEventToTaskMappingList():
600
+ self._addToRteEventToOsTasks(mapping, os_tasks)
601
+ else:
602
+ raise NotImplementedError("Invalid Rte Module Instance <%s>" % type(instance))
603
+
604
+ return os_tasks
@@ -1 +1,4 @@
1
1
  from .os_xdm_parser import OsXdmParser
2
+ from .rte_xdm_parser import RteXdmParser
3
+ from .eb_parser import AbstractEbModelParser
4
+ from .pref_xdm_parser import PerfXdmParser