armodel 1.7.6__py3-none-any.whl → 1.7.7__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 (41) hide show
  1. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +41 -2
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
  4. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1 -1
  5. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
  6. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
  7. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
  8. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
  9. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
  10. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
  11. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
  12. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
  14. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
  15. armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +9 -0
  19. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +20 -10
  23. armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
  24. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
  25. armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
  26. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
  27. armodel/models/__init__.py +4 -0
  28. armodel/parser/abstract_arxml_parser.py +3 -0
  29. armodel/parser/arxml_parser.py +614 -123
  30. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
  31. armodel/tests/test_armodel/models/test_datatype.py +1 -1
  32. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
  33. armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
  34. armodel/writer/abstract_arxml_writer.py +7 -6
  35. armodel/writer/arxml_writer.py +694 -139
  36. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/METADATA +41 -3
  37. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/RECORD +41 -37
  38. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
  39. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
  40. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
  41. {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
@@ -6,7 +6,7 @@ from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBe
6
6
  from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype
7
7
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
8
8
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PerInstanceMemory import PerInstanceMemory
9
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
9
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent, DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, ModeSwitchedAckEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
10
10
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import SwcServiceDependency
11
11
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, Boolean, RefType, ARBoolean
12
12
  from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
@@ -338,6 +338,18 @@ class SwcInternalBehavior(InternalBehavior):
338
338
  event = SwcServiceDependency(self, short_name)
339
339
  self.elements[short_name] = event
340
340
  return self.elements[short_name]
341
+
342
+ def createModeSwitchedAckEvent(self, short_name: str) -> ModeSwitchedAckEvent:
343
+ if (short_name not in self.elements):
344
+ event = ModeSwitchedAckEvent(self, short_name)
345
+ self.addElement(event)
346
+ return self.getElement(short_name)
347
+
348
+ def createBackgroundEvent(self, short_name: str) -> BackgroundEvent:
349
+ if (short_name not in self.elements):
350
+ event = BackgroundEvent(self, short_name)
351
+ self.addElement(event)
352
+ return self.getElement(short_name)
341
353
 
342
354
  def getRteEvents(self) -> List[RTEEvent]:
343
355
  return sorted(filter(lambda c: isinstance(c, RTEEvent), self.elements.values()), key=lambda e: e.short_name)
@@ -359,6 +371,12 @@ class SwcInternalBehavior(InternalBehavior):
359
371
 
360
372
  def getInternalTriggerOccurredEvents(self) -> List[InternalTriggerOccurredEvent]:
361
373
  return sorted(filter(lambda c: isinstance(c, InternalTriggerOccurredEvent), self.elements.values()), key= lambda e: e.short_name)
374
+
375
+ def getModeSwitchedAckEvents(self) -> List[ModeSwitchedAckEvent]:
376
+ return sorted(filter(lambda c: isinstance(c, ModeSwitchedAckEvent), self.elements.values()), key= lambda e: e.short_name)
377
+
378
+ def getBackgroundEvents(self) -> List[BackgroundEvent]:
379
+ return sorted(filter(lambda c: isinstance(c, BackgroundEvent), self.elements.values()), key= lambda e: e.short_name)
362
380
 
363
381
  def getSwcServiceDependencies(self) -> List[SwcServiceDependency]:
364
382
  return sorted(filter(lambda c: isinstance(c, SwcServiceDependency), self.elements.values()), key= lambda e: e.short_name)
@@ -367,10 +385,6 @@ class SwcInternalBehavior(InternalBehavior):
367
385
  if (not isinstance(self.elements[short_name], RTEEvent)):
368
386
  raise ValueError("Invalid Event Type <%s> of <%s>" % type(self.elements[short_name]), short_name)
369
387
  return self.elements[short_name]
370
-
371
-
372
-
373
-
374
388
 
375
389
  def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
376
390
  if (short_name not in self.elements):
@@ -0,0 +1,29 @@
1
+ from abc import ABCMeta
2
+
3
+ from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
5
+
6
+ class AbstractDoIpLogicAddressProps(Identifiable, metaclass = ABCMeta):
7
+ def __init__(self, parent: ARObject, short_name: str):
8
+ if type(self) == AbstractDoIpLogicAddressProps:
9
+ raise NotImplementedError("AbstractDoIpLogicAddressProps is an abstract class.")
10
+
11
+ super().__init__(parent, short_name)
12
+
13
+ class DoIpLogicTargetAddressProps(AbstractDoIpLogicAddressProps):
14
+ def __init__(self, parent, short_name):
15
+ super().__init__(parent, short_name)
16
+
17
+ class DoIpLogicTesterAddressProps(AbstractDoIpLogicAddressProps):
18
+ def __init__(self, parent, short_name):
19
+ super().__init__(parent, short_name)
20
+
21
+ self.doIpTesterRoutingActivationRef = None # type: RefType
22
+
23
+ def getDoIpTesterRoutingActivationRef(self):
24
+ return self.doIpTesterRoutingActivationRef
25
+
26
+ def setDoIpTesterRoutingActivationRef(self, value):
27
+ if value is not None:
28
+ self.doIpTesterRoutingActivationRef = value
29
+ return self
@@ -0,0 +1,44 @@
1
+ from typing import List
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
4
+
5
+ class ECUMapping(Identifiable):
6
+ def __init__(self, parent, short_name):
7
+ super().__init__(parent, short_name)
8
+
9
+ self.commControllerMappings = [] # type: List[CommunicationControllerMapping]
10
+ self.ecuRef = None # type: RefType
11
+ self.ecuInstanceRef = None # type: RefType
12
+ self.hwPortMappings =[] # type: List[HwPortMapping]
13
+
14
+ def getCommControllerMappings(self):
15
+ return self.commControllerMappings
16
+
17
+ def setCommControllerMappings(self, value):
18
+ if value is not None:
19
+ self.commControllerMappings = value
20
+ return self
21
+
22
+ def getEcuRef(self):
23
+ return self.ecuRef
24
+
25
+ def setEcuRef(self, value):
26
+ if value is not None:
27
+ self.ecuRef = value
28
+ return self
29
+
30
+ def getEcuInstanceRef(self):
31
+ return self.ecuInstanceRef
32
+
33
+ def setEcuInstanceRef(self, value):
34
+ if value is not None:
35
+ self.ecuInstanceRef = value
36
+ return self
37
+
38
+ def getHwPortMappings(self):
39
+ return self.hwPortMappings
40
+
41
+ def setHwPortMappings(self, value):
42
+ if value is not None:
43
+ self.hwPortMappings = value
44
+ return self
@@ -507,6 +507,7 @@ class EthernetCommunicationConnector(CommunicationConnector):
507
507
  self.ethIpPropsRef = None # type: RefType
508
508
  self.maximumTransmissionUnit = None # type: PositiveInteger
509
509
  self.neighborCacheSize = None # type: PositiveInteger
510
+ self.networkEndpointRefs = [] # type: List[RefType] ## 4.3.1 Version
510
511
  self.pathMtuEnabled = None # type: Boolean
511
512
  self.pathMtuTimeout = None # type: TimeValue
512
513
 
@@ -530,6 +531,14 @@ class EthernetCommunicationConnector(CommunicationConnector):
530
531
  def setNeighborCacheSize(self, value):
531
532
  self.neighborCacheSize = value
532
533
  return self
534
+
535
+ def getNetworkEndpointRefs(self):
536
+ return self.networkEndpointRefs
537
+
538
+ def addNetworkEndpointRef(self, value):
539
+ if value is not None:
540
+ self.networkEndpointRefs.append(value)
541
+ return self
533
542
 
534
543
  def getPathMtuEnabled(self):
535
544
  return self.pathMtuEnabled