armodel 1.8.2__py3-none-any.whl → 1.8.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 (29) hide show
  1. armodel/cli/format_xml_cli.py +62 -0
  2. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +17 -15
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +1 -1
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +44 -28
  5. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +5 -5
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +13 -1
  7. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +247 -45
  8. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +9 -6
  9. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +7 -5
  10. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +3 -3
  11. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +43 -2
  12. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +40 -43
  13. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +13 -12
  14. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +40 -9
  15. armodel/parser/abstract_arxml_parser.py +4 -0
  16. armodel/parser/arxml_parser.py +88 -56
  17. armodel/tests/test_armodel/models/test_common_structure.py +2 -2
  18. armodel/tests/test_armodel/parser/test_arxml_parser.py +38 -0
  19. armodel/tests/test_armodel/parser/test_implementation_data_type.py +247 -0
  20. armodel/tests/test_armodel/parser/test_rte_event.py +142 -0
  21. armodel/tests/test_armodel/parser/test_runnable_entity.py +135 -0
  22. armodel/writer/abstract_arxml_writer.py +2 -0
  23. armodel/writer/arxml_writer.py +89 -25
  24. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/METADATA +11 -1
  25. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/RECORD +29 -25
  26. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/entry_points.txt +1 -0
  27. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/LICENSE +0 -0
  28. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/WHEEL +0 -0
  29. {armodel-1.8.2.dist-info → armodel-1.8.3.dist-info}/top_level.txt +0 -0
@@ -1,12 +1,15 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
+
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable
3
5
  from ....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
4
6
  from ....M2.AUTOSARTemplates.CommonStructure import ValueSpecification
5
7
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, ARLiteral, ARNumerical, ARPositiveInteger, Boolean, TimeValue
8
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, ARNumerical, ARPositiveInteger, Boolean
9
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, TimeValue
7
10
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
8
11
  from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
9
- from ....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
12
+
10
13
 
11
14
  class HandleInvalidEnum(AREnum):
12
15
  DONT_INVALIDATE = "dontInvalidate"
@@ -21,40 +24,40 @@ class HandleInvalidEnum(AREnum):
21
24
  HandleInvalidEnum.KEEP,
22
25
  HandleInvalidEnum.REPLACE
23
26
  ))
24
-
25
27
 
26
- class PPortComSpec(ARObject, metaclass = ABCMeta):
28
+
29
+ class PPortComSpec(ARObject, metaclass=ABCMeta):
27
30
  """
28
31
  Communication attributes of a provided PortPrototype. This class will contain attributes that are valid for
29
32
  all kinds of provide ports, independent of client-server or sender-receiver communication patterns.
30
33
 
31
- Abstract Class
34
+ Abstract Class
32
35
 
33
36
  Package: M2::AUTOSARTemplates::SWComponentTemplate::Communication
34
37
  Base: ARObject
35
38
  """
36
39
 
37
40
  def __init__(self):
38
- if type(self) == PPortComSpec:
41
+ if type(self) is PPortComSpec:
39
42
  raise NotImplementedError("PPortComSpec is an abstract class.")
40
43
  super().__init__()
41
44
 
42
45
 
43
- class RPortComSpec(ARObject, metaclass = ABCMeta):
46
+ class RPortComSpec(ARObject, metaclass=ABCMeta):
44
47
  """
45
48
  Communication attributes of a provided PortPrototype. This class will contain attributes that are valid for
46
49
  all kinds of provide ports, independent of client-server or sender-receiver communication patterns.
47
50
 
48
- Abstract Class
51
+ Abstract Class
49
52
 
50
53
  Package: M2::AUTOSARTemplates::SWComponentTemplate::Communication
51
54
  Base: ARObject
52
55
  """
53
56
 
54
57
  def __init__(self):
55
- if type(self) == RPortComSpec:
58
+ if type(self) is RPortComSpec:
56
59
  raise NotImplementedError("RPortComSpec is an abstract class.")
57
-
60
+
58
61
  super().__init__()
59
62
 
60
63
 
@@ -62,7 +65,8 @@ class CompositeNetworkRepresentation(ARObject):
62
65
  def __init__(self):
63
66
  super().__init__()
64
67
 
65
- self.leafElementIRef = None # type: ApplicationCompositeElementInPortInterfaceInstanceRef
68
+ # type: ApplicationCompositeElementInPortInterfaceInstanceRef
69
+ self.leafElementIRef = None
66
70
  self.networkRepresentation = None # type: SwDataDefProps
67
71
 
68
72
  def getLeafElementIRef(self):
@@ -79,6 +83,7 @@ class CompositeNetworkRepresentation(ARObject):
79
83
  self.networkRepresentation = value
80
84
  return self
81
85
 
86
+
82
87
  class TransmissionAcknowledgementRequest(ARObject):
83
88
  def __init__(self):
84
89
  super().__init__()
@@ -86,18 +91,20 @@ class TransmissionAcknowledgementRequest(ARObject):
86
91
  self.timeout = None # type: float
87
92
 
88
93
 
89
- class SenderComSpec(PPortComSpec, metaclass = ABCMeta):
94
+ class SenderComSpec(PPortComSpec, metaclass=ABCMeta):
90
95
  def __init__(self):
91
- if type(self) == SenderComSpec:
96
+ if type(self) is SenderComSpec:
92
97
  raise NotImplementedError("SenderComSpec is an abstract class.")
93
-
98
+
94
99
  super().__init__()
95
100
 
96
- self.compositeNetworkRepresentations = [] # type: List[CompositeNetworkRepresentation]
101
+ # type: List[CompositeNetworkRepresentation]
102
+ self.compositeNetworkRepresentations = []
97
103
  self.dataElementRef = None # type: RefType
98
104
  self.networkRepresentation = None # type: SwDataDefProps
99
105
  self.handleOutOfRange = None # type: str
100
- self.transmissionAcknowledge = None # type: TransmissionAcknowledgementRequest
106
+ # type: TransmissionAcknowledgementRequest
107
+ self.transmissionAcknowledge = None
101
108
  self.usesEndToEndProtection = None # type: ARBoolean
102
109
 
103
110
  def addCompositeNetworkRepresentation(self, representation: CompositeNetworkRepresentation):
@@ -105,7 +112,7 @@ class SenderComSpec(PPortComSpec, metaclass = ABCMeta):
105
112
 
106
113
  def getCompositeNetworkRepresentations(self) -> List[CompositeNetworkRepresentation]:
107
114
  return self.compositeNetworkRepresentations
108
-
115
+
109
116
  def getDataElementRef(self):
110
117
  return self.dataElementRef
111
118
 
@@ -141,15 +148,17 @@ class SenderComSpec(PPortComSpec, metaclass = ABCMeta):
141
148
  self.usesEndToEndProtection = value
142
149
  return self
143
150
 
151
+
144
152
  class QueuedSenderComSpec(SenderComSpec):
145
153
  def __init__(self):
146
154
  super().__init__()
147
155
 
156
+
148
157
  class NonqueuedSenderComSpec(SenderComSpec):
149
158
  def __init__(self):
150
159
  super().__init__()
151
-
152
- self.initValue = None # type: ValueSpecification
160
+
161
+ self.initValue = None # type: ValueSpecification
153
162
 
154
163
  def getInitValue(self):
155
164
  return self.initValue
@@ -158,6 +167,7 @@ class NonqueuedSenderComSpec(SenderComSpec):
158
167
  self.initValue = value
159
168
  return self
160
169
 
170
+
161
171
  class ClientComSpec(RPortComSpec):
162
172
  def __init__(self):
163
173
  super().__init__()
@@ -171,6 +181,7 @@ class ClientComSpec(RPortComSpec):
171
181
  self.operationRef = value
172
182
  return self
173
183
 
184
+
174
185
  class ModeSwitchReceiverComSpec(RPortComSpec):
175
186
  def __init__(self):
176
187
  super().__init__()
@@ -192,7 +203,7 @@ class ModeSwitchReceiverComSpec(RPortComSpec):
192
203
  def setModeGroupRef(self, value):
193
204
  self.modeGroupRef = value
194
205
  return self
195
-
206
+
196
207
  def getSupportsAsynchronousModeSwitch(self):
197
208
  return self.supportsAsynchronousModeSwitch
198
209
 
@@ -200,10 +211,12 @@ class ModeSwitchReceiverComSpec(RPortComSpec):
200
211
  self.supportsAsynchronousModeSwitch = value
201
212
  return self
202
213
 
214
+
203
215
  class NvRequireComSpec(RPortComSpec):
204
216
  def __init__(self):
205
217
  super().__init__()
206
218
 
219
+
207
220
  class ParameterRequireComSpec(RPortComSpec):
208
221
  def __init__(self):
209
222
  super().__init__()
@@ -225,82 +238,95 @@ class ParameterRequireComSpec(RPortComSpec):
225
238
  self.parameterRef = value
226
239
  return self
227
240
 
241
+
228
242
  class ReceiverComSpec(RPortComSpec):
229
243
  __metaclass__ = ABCMeta
230
244
 
231
245
  def __init__(self):
232
246
  super().__init__()
233
247
 
234
- self.compositeNetworkRepresentations = [] # type: List[CompositeNetworkRepresentation]
235
- self.dataElementRef = None # type: RefType
236
- self.networkRepresentation = None # type: SwDataDefProps
248
+ self.compositeNetworkRepresentations: List[CompositeNetworkRepresentation] = [
249
+ ]
250
+ self.dataElementRef: RefType = None
251
+ self.networkRepresentation: SwDataDefProps = None
237
252
  self.handleOutOfRange = None # type: HandleOutOfRangeEnum
238
- self.handleOutOfRangeStatus = None # type: HandleOutOfRangeStatusEnum
239
- self.maxDeltaCounterInit = None # type: PositiveInteger
240
- self.maxNoNewOrRepeatedData = None # type: PositiveInteger
241
- self.usesEndToEndProtection = None # type: ARBoolean
253
+ # type: HandleOutOfRangeStatusEnum
254
+ self.handleOutOfRangeStatus = None
255
+ self.maxDeltaCounterInit: PositiveInteger = None
256
+ self.maxNoNewOrRepeatedData: PositiveInteger = None
257
+ self.usesEndToEndProtection: ARBoolean = None
242
258
 
243
259
  def getDataElementRef(self):
244
260
  return self.dataElementRef
245
261
 
246
262
  def setDataElementRef(self, value):
247
- self.dataElementRef = value
263
+ if value is not None:
264
+ self.dataElementRef = value
248
265
  return self
249
266
 
250
267
  def getNetworkRepresentation(self):
251
268
  return self.networkRepresentation
252
269
 
253
270
  def setNetworkRepresentation(self, value):
254
- self.networkRepresentation = value
271
+ if value is not None:
272
+ self.networkRepresentation = value
255
273
  return self
256
274
 
257
275
  def getHandleOutOfRange(self):
258
276
  return self.handleOutOfRange
259
277
 
260
278
  def setHandleOutOfRange(self, value):
261
- self.handleOutOfRange = value
279
+ if value is not None:
280
+ self.handleOutOfRange = value
262
281
  return self
263
-
282
+
264
283
  def getHandleOutOfRangeStatus(self):
265
284
  return self.handleOutOfRangeStatus
266
285
 
267
286
  def setHandleOutOfRangeStatus(self, value):
268
- self.handleOutOfRangeStatus = value
287
+ if value is not None:
288
+ self.handleOutOfRangeStatus = value
269
289
  return self
270
290
 
271
291
  def getMaxDeltaCounterInit(self):
272
292
  return self.maxDeltaCounterInit
273
293
 
274
294
  def setMaxDeltaCounterInit(self, value):
275
- self.maxDeltaCounterInit = value
295
+ if value is not None:
296
+ self.maxDeltaCounterInit = value
276
297
  return self
277
298
 
278
299
  def getMaxNoNewOrRepeatedData(self):
279
300
  return self.maxNoNewOrRepeatedData
280
301
 
281
302
  def setMaxNoNewOrRepeatedData(self, value):
282
- self.maxNoNewOrRepeatedData = value
303
+ if value is not None:
304
+ self.maxNoNewOrRepeatedData = value
283
305
  return self
284
306
 
285
-
286
307
  def getUsesEndToEndProtection(self):
287
308
  return self.usesEndToEndProtection
288
309
 
289
310
  def setUsesEndToEndProtection(self, value):
290
- self.usesEndToEndProtection = value
311
+ if value is not None:
312
+ self.usesEndToEndProtection = value
291
313
  return self
292
314
 
293
315
  def addCompositeNetworkRepresentation(self, representation: CompositeNetworkRepresentation):
294
- self.compositeNetworkRepresentations.append(representation)
316
+ if representation is not None:
317
+ self.compositeNetworkRepresentations.append(representation)
318
+ return self
295
319
 
296
320
  def getCompositeNetworkRepresentations(self) -> List[CompositeNetworkRepresentation]:
297
321
  return self.compositeNetworkRepresentations
298
-
322
+
323
+
299
324
  class ModeSwitchedAckRequest(ARObject):
300
325
  def __init__(self):
301
326
  super().__init__()
302
327
 
303
- self.timeout = None # type: TimeValue
328
+ # type: TimeValue
329
+ self.timeout = None
304
330
 
305
331
  def getTimeout(self):
306
332
  return self.timeout
@@ -310,14 +336,17 @@ class ModeSwitchedAckRequest(ARObject):
310
336
  self.timeout = value
311
337
  return self
312
338
 
339
+
313
340
  class ModeSwitchSenderComSpec(RPortComSpec):
314
341
  def __init__(self):
315
342
  super().__init__()
316
343
 
317
344
  self.enhancedModeApi = None # type: ARBoolean
318
345
  self.modeGroupRef = None # type: RefType
319
- self.modeSwitchedAck = None # type: ModeSwitchedAckRequest
320
- self.queueLength = None # type: ARPositiveInteger
346
+ # type: ModeSwitchedAckRequest
347
+ self.modeSwitchedAck = None
348
+ # type: ARPositiveInteger
349
+ self.queueLength = None
321
350
 
322
351
  def getEnhancedModeApi(self):
323
352
  return self.enhancedModeApi
@@ -348,17 +377,181 @@ class ModeSwitchSenderComSpec(RPortComSpec):
348
377
  return self
349
378
 
350
379
 
351
-
352
380
  class ParameterProvideComSpec(RPortComSpec):
353
381
  def __init__(self):
354
382
  super().__init__()
355
383
 
384
+
385
+ class TransformationComSpecProps(Describable, metaclass=ABCMeta):
386
+ def __init__(self):
387
+ if type(self) is TransformationComSpecProps:
388
+ raise NotImplementedError("TransformationComSpecProps is an abstract class.")
389
+
390
+ super().__init__()
391
+
392
+
393
+ class EndToEndTransformationComSpecProps(TransformationComSpecProps):
394
+ def __init__(self):
395
+ super().__init__()
396
+
397
+ self.clearFromValidToInvalid: ARBoolean = None
398
+ self.disableEndToEndCheck: ARBoolean = None
399
+ self.disableEndToEndStateMachine: ARBoolean = None
400
+ self.e2eProfileCompatibilityPropsRef: RefType = None
401
+ self.maxDeltaCounter: PositiveInteger = None
402
+ self.maxErrorStateInit: PositiveInteger = None
403
+ self.maxErrorStateInvalid: PositiveInteger = None
404
+ self.maxErrorStateValid: PositiveInteger = None
405
+ self.maxNoNewOrRepeatedData: PositiveInteger = None
406
+ self.minOkStateInit: PositiveInteger = None
407
+ self.minOkStateInvalid: PositiveInteger = None
408
+ self.minOkStateValid: PositiveInteger = None
409
+ self.syncCounterInit: PositiveInteger = None
410
+ self.windowSizeInit: PositiveInteger = None
411
+ self.windowSizeInvalid: PositiveInteger = None
412
+ self.windowSizeValid: PositiveInteger = None
413
+
414
+ def getClearFromValidToInvalid(self) -> ARBoolean:
415
+ return self.clearFromValidToInvalid
416
+
417
+ def setClearFromValidToInvalid(self, value: ARBoolean):
418
+ if value is not None:
419
+ self.clearFromValidToInvalid = value
420
+ return self
421
+
422
+ def getDisableEndToEndCheck(self) -> ARBoolean:
423
+ return self.disableEndToEndCheck
424
+
425
+ def setDisableEndToEndCheck(self, value: ARBoolean):
426
+ if value is not None:
427
+ self.disableEndToEndCheck = value
428
+ return self
429
+
430
+ def getDisableEndToEndStateMachine(self) -> ARBoolean:
431
+ return self.disableEndToEndStateMachine
432
+
433
+ def setDisableEndToEndStateMachine(self, value: ARBoolean):
434
+ if value is not None:
435
+ self.disableEndToEndStateMachine = value
436
+ return self
437
+
438
+ def getE2eProfileCompatibilityPropsRef(self) -> RefType:
439
+ return self.e2eProfileCompatibilityPropsRef
440
+
441
+ def setE2eProfileCompatibilityPropsRef(self, value: RefType):
442
+ if value is not None:
443
+ self.e2eProfileCompatibilityPropsRef = value
444
+ return self
445
+
446
+ def getMaxDeltaCounter(self) -> PositiveInteger:
447
+ return self.maxDeltaCounter
448
+
449
+ def setMaxDeltaCounter(self, value: PositiveInteger):
450
+ if value is not None:
451
+ self.maxDeltaCounter = value
452
+ return self
453
+
454
+ def getMaxErrorStateInit(self) -> PositiveInteger:
455
+ return self.maxErrorStateInit
456
+
457
+ def setMaxErrorStateInit(self, value: PositiveInteger):
458
+ if value is not None:
459
+ self.maxErrorStateInit = value
460
+ return self
461
+
462
+ def getMaxErrorStateInvalid(self) -> PositiveInteger:
463
+ return self.maxErrorStateInvalid
464
+
465
+ def setMaxErrorStateInvalid(self, value: PositiveInteger):
466
+ if value is not None:
467
+ self.maxErrorStateInvalid = value
468
+ return self
469
+
470
+ def getMaxErrorStateValid(self) -> PositiveInteger:
471
+ return self.maxErrorStateValid
472
+
473
+ def setMaxErrorStateValid(self, value: PositiveInteger):
474
+ if value is not None:
475
+ self.maxErrorStateValid = value
476
+ return self
477
+
478
+ def getMaxNoNewOrRepeatedData(self) -> PositiveInteger:
479
+ return self.maxNoNewOrRepeatedData
480
+
481
+ def setMaxNoNewOrRepeatedData(self, value: PositiveInteger):
482
+ if value is not None:
483
+ self.maxNoNewOrRepeatedData = value
484
+ return self
485
+
486
+ def getMinOkStateInit(self) -> PositiveInteger:
487
+ return self.minOkStateInit
488
+
489
+ def setMinOkStateInit(self, value: PositiveInteger):
490
+ if value is not None:
491
+ self.minOkStateInit = value
492
+ return self
493
+
494
+ def getMinOkStateInvalid(self) -> PositiveInteger:
495
+ return self.minOkStateInvalid
496
+
497
+ def setMinOkStateInvalid(self, value: PositiveInteger):
498
+ if value is not None:
499
+ self.minOkStateInvalid = value
500
+ return self
501
+
502
+ def getMinOkStateValid(self) -> PositiveInteger:
503
+ return self.minOkStateValid
504
+
505
+ def setMinOkStateValid(self, value: PositiveInteger):
506
+ if value is not None:
507
+ self.minOkStateValid = value
508
+ return self
509
+
510
+ def getSyncCounterInit(self) -> PositiveInteger:
511
+ return self.syncCounterInit
512
+
513
+ def setSyncCounterInit(self, value: PositiveInteger):
514
+ if value is not None:
515
+ self.syncCounterInit = value
516
+ return self
517
+
518
+ def getWindowSizeInit(self) -> PositiveInteger:
519
+ return self.windowSizeInit
520
+
521
+ def setWindowSizeInit(self, value: PositiveInteger):
522
+ if value is not None:
523
+ self.windowSizeInit = value
524
+ return self
525
+
526
+ def getWindowSizeInvalid(self) -> PositiveInteger:
527
+ return self.windowSizeInvalid
528
+
529
+ def setWindowSizeInvalid(self, value: PositiveInteger):
530
+ if value is not None:
531
+ self.windowSizeInvalid = value
532
+ return self
533
+
534
+ def getWindowSizeValid(self) -> PositiveInteger:
535
+ return self.windowSizeValid
536
+
537
+ def setWindowSizeValid(self, value: PositiveInteger):
538
+ if value is not None:
539
+ self.windowSizeValid = value
540
+ return self
541
+
542
+
543
+ class UserDefinedTransformationComSpecProps(TransformationComSpecProps):
544
+ def __init__(self):
545
+ super().__init__()
546
+
547
+
356
548
  class ServerComSpec(PPortComSpec):
357
549
  def __init__(self):
358
550
  super().__init__()
359
551
 
360
- self.operationRef = None # type: RefType
361
- self.queueLength = None # type: ARNumerical
552
+ self.operationRef: RefType = None
553
+ self.queueLength: PositiveInteger = None
554
+ self.transformationComSpecProps: List[TransformationComSpecProps] = []
362
555
 
363
556
  def getOperationRef(self):
364
557
  return self.operationRef
@@ -373,6 +566,15 @@ class ServerComSpec(PPortComSpec):
373
566
  def setQueueLength(self, value):
374
567
  self.queueLength = value
375
568
  return self
569
+
570
+ def getTransformationComSpecProps(self) -> List[TransformationComSpecProps]:
571
+ return self.transformationComSpecProps
572
+
573
+ def addTransformationComSpecProps(self, transformationComSpecProps: TransformationComSpecProps):
574
+ if transformationComSpecProps is not None:
575
+ self.transformationComSpecProps.append(transformationComSpecProps)
576
+ return self
577
+
376
578
 
377
579
  class NonqueuedReceiverComSpec(ReceiverComSpec):
378
580
  def __init__(self):
@@ -448,7 +650,7 @@ class QueuedReceiverComSpec(ReceiverComSpec):
448
650
  def __init__(self):
449
651
  super().__init__()
450
652
 
451
- self.queueLength = None # type: ARPositiveInteger
653
+ self.queueLength = None # type: ARPositiveInteger
452
654
 
453
655
  def getQueueLength(self):
454
656
  return self.queueLength
@@ -1,22 +1,25 @@
1
1
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import ArVariableInImplementationDataInstanceRef, VariableInAtomicSWCTypeInstanceRef
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import ArVariableInImplementationDataInstanceRef
3
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import VariableInAtomicSWCTypeInstanceRef
4
+
3
5
 
4
6
  class AutosarVariableRef(ARObject):
5
7
  def __init__(self):
6
8
  super().__init__()
7
9
 
8
- self.autosarVariableIRef = None # type: VariableInAtomicSWCTypeInstanceRef
9
- self.autosarVariableInImplDatatype = None # type: ArVariableInImplementationDataInstanceRef
10
+ self.autosarVariableIRef: VariableInAtomicSWCTypeInstanceRef = None
11
+ self.autosarVariableInImplDatatype: ArVariableInImplementationDataInstanceRef = None
10
12
  self.localVariableRef = None
11
13
 
12
- def getAutosarVariableIRef(self):
14
+ def getAutosarVariableIRef(self) -> VariableInAtomicSWCTypeInstanceRef:
13
15
  return self.autosarVariableIRef
14
16
 
15
17
  def setAutosarVariableIRef(self, value):
16
18
  self.autosarVariableIRef = value
17
19
  return self
18
20
 
19
- def getAutosarVariableInImplDatatype(self):
21
+ def getAutosarVariableInImplDatatype(self) -> ArVariableInImplementationDataInstanceRef:
22
+ """Get the autosarVariableInImplDatatype attribute."""
20
23
  return self.autosarVariableInImplDatatype
21
24
 
22
25
  def setAutosarVariableInImplDatatype(self, value):
@@ -28,4 +31,4 @@ class AutosarVariableRef(ARObject):
28
31
 
29
32
  def setLocalVariableRef(self, value):
30
33
  self.localVariableRef = value
31
- return self
34
+ return self
@@ -27,18 +27,20 @@ class ParameterAccess(AbstractAccessPoint):
27
27
  self.swDataDefProps = value
28
28
  return self
29
29
 
30
+
30
31
  class VariableAccess(Identifiable):
31
32
  def __init__(self, parent: ARObject, short_name):
32
33
  super().__init__(parent, short_name)
33
34
 
34
- self.accessedVariableRef = None # type: AutosarVariableRef
35
- self.scope = None # type: ARLiteral
35
+ self.accessedVariableRef: AutosarVariableRef = None
36
+ self.scope: ARLiteral = None
36
37
 
37
- def getAccessedVariableRef(self):
38
+ def getAccessedVariableRef(self) -> AutosarVariableRef:
38
39
  return self.accessedVariableRef
39
40
 
40
- def setAccessedVariableRef(self, value):
41
- self.accessedVariableRef = value
41
+ def setAccessedVariableRef(self, value: AutosarVariableRef):
42
+ if value is not None:
43
+ self.accessedVariableRef = value
42
44
  return self
43
45
 
44
46
  def getScope(self):
@@ -88,8 +88,8 @@ class SwcModeSwitchEvent(RTEEvent):
88
88
  def __init__(self, parent: ARObject, short_name: str):
89
89
  super().__init__(parent, short_name)
90
90
 
91
- self.activation = None # type: ModeActivationKind
92
- self.modeIRefs = [] # type: List[RModeInAtomicSwcInstanceRef]
91
+ self.activation = None # type: ModeActivationKind
92
+ self.modeIRefs: List[RModeInAtomicSwcInstanceRef] = []
93
93
 
94
94
  def getActivation(self):
95
95
  return self.activation
@@ -195,7 +195,7 @@ class ModeSwitchedAckEvent(RTEEvent):
195
195
  def __init__(self, parent: ARObject, short_name: str):
196
196
  super().__init__(parent, short_name)
197
197
 
198
- self.eventSourceRef = None # type: RefType
198
+ self.eventSourceRef: RefType = None
199
199
 
200
200
  def getEventSourceRef(self):
201
201
  return self.eventSourceRef
@@ -1,8 +1,49 @@
1
+ from .....M2.AUTOSARTemplates.CommonStructure.TriggerDeclaration import Trigger
2
+ from .....M2.MSR.DataDictionary.DataDefProperties import SwImplPolicyEnum
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum
1
4
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
2
5
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
6
 
7
+
4
8
  class InternalTriggeringPoint(AbstractAccessPoint):
5
9
  def __init__(self, parent: ARObject, short_name: str):
6
- super().__init__(parent, short_name)
10
+ super().__init__(parent, short_name)
11
+
12
+ self.swImplPolicy: SwImplPolicyEnum = None
13
+
14
+ def getSwImplPolicy(self) -> SwImplPolicyEnum:
15
+ return self.swImplPolicy
16
+
17
+ def setSwImplPolicy(self, value: SwImplPolicyEnum):
18
+ if value is not None:
19
+ self.swImplPolicy = value
20
+ return self
21
+
22
+
23
+ class ExternalTriggeringPointIdent(AbstractAccessPoint):
24
+ def __init__(self, parent, short_name):
25
+ super().__init__(parent, short_name)
26
+
27
+
28
+ class ExternalTriggeringPoint(ARObject):
29
+ def __init__(self):
30
+ super().__init__()
31
+
32
+ self.ident: ExternalTriggeringPointIdent = None
33
+ self.trigger: Trigger = None
34
+
35
+ def getIdent(self) -> ExternalTriggeringPointIdent:
36
+ return self.ident
37
+
38
+ def setIdent(self, value: ExternalTriggeringPointIdent):
39
+ if value is not None:
40
+ self.ident = value
41
+ return self
42
+
43
+ def getTrigger(self) -> Trigger:
44
+ return self.trigger
7
45
 
8
- self.sw_impl_policy = None
46
+ def setTrigger(self, value: Trigger):
47
+ if value is not None:
48
+ self.trigger = value
49
+ return self