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