armodel 1.8.7__py3-none-any.whl → 1.9.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.
Files changed (430) hide show
  1. armodel/__init__.py +19 -3
  2. armodel/cli/arxml_dump_cli.py +196 -197
  3. armodel/cli/arxml_format_cli.py +84 -84
  4. armodel/cli/connector2xlsx_cli.py +73 -73
  5. armodel/cli/connector_update_cli.py +73 -73
  6. armodel/cli/file_list_cli.py +69 -69
  7. armodel/cli/format_xml_cli.py +62 -62
  8. armodel/cli/memory_section_cli.py +74 -75
  9. armodel/cli/swc_list_cli.py +79 -79
  10. armodel/cli/system_signal_cli.py +73 -73
  11. armodel/cli/uuid_checker_cli.py +95 -95
  12. armodel/data_models/sw_connector.py +21 -21
  13. armodel/lib/__init__.py +4 -4
  14. armodel/lib/cli_args_parser.py +36 -35
  15. armodel/lib/sw_component.py +34 -35
  16. armodel/lib/system_signal.py +36 -36
  17. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRule.py +62 -0
  18. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRuleProps.py +83 -0
  19. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/StateDependentFirewall.py +62 -0
  20. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/__init__.py +5 -0
  21. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +3 -0
  22. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
  23. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure/__init__.py +320 -0
  24. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +315 -318
  25. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswAsynchronousServerCallReturnsEvent.py +27 -0
  26. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswExclusiveAreaPolicy.py +22 -0
  27. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswInterruptEvent.py +18 -0
  28. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeManagerErrorEvent.py +18 -0
  29. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeReceiverPolicy.py +22 -0
  30. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswSchedulerNamePrefix.py +26 -0
  31. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswServiceDependency.py +27 -0
  32. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswTriggerDirectImplementation.py +21 -0
  33. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/RoleBasedBswModuleEntryAssignment.py +35 -0
  34. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2223 -791
  35. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +180 -60
  36. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationship.py +26 -0
  37. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipEnum.py +24 -0
  38. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipSet.py +24 -0
  39. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +586 -200
  40. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/ModeInBswModuleDescriptionInstanceRef.py +17 -0
  41. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +445 -179
  42. armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
  43. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
  44. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
  45. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
  46. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
  47. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
  48. armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
  49. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
  50. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
  51. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
  52. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
  53. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
  54. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
  55. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
  56. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
  57. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
  58. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
  59. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
  60. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
  61. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
  62. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
  63. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
  64. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
  65. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
  66. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
  67. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
  68. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
  69. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
  70. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
  71. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
  72. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
  73. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
  74. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
  75. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
  76. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
  77. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
  78. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
  79. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
  80. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
  81. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
  82. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
  83. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
  84. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
  85. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
  86. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
  87. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
  88. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
  89. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
  90. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
  91. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
  92. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
  93. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
  94. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
  95. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
  96. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
  97. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
  98. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
  99. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
  100. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
  101. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
  102. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
  103. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
  104. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
  105. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
  106. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
  107. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
  108. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
  109. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
  110. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
  111. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
  112. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
  113. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
  114. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
  115. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
  116. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
  117. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
  118. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
  119. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
  120. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
  121. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
  122. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
  123. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
  124. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
  125. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
  126. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
  127. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
  128. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
  129. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
  130. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
  131. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
  132. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
  133. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
  134. armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
  135. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
  136. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
  137. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
  138. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
  139. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
  140. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
  141. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
  142. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
  143. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
  144. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
  145. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
  146. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
  147. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
  148. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
  149. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +784 -712
  150. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
  151. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
  152. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
  153. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
  154. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
  155. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
  156. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
  157. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
  158. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
  159. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
  160. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
  161. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
  162. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
  163. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
  164. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
  165. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
  166. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
  167. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
  168. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
  169. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
  170. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
  171. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
  172. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
  173. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
  174. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
  175. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +488 -489
  176. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
  177. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
  178. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
  179. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
  180. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
  181. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
  182. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
  183. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
  184. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
  185. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
  186. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
  187. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
  188. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
  189. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
  190. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
  191. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
  192. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
  193. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
  194. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
  195. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
  196. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
  197. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
  198. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
  199. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
  200. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
  201. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
  202. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
  203. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
  204. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
  205. armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
  206. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
  207. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
  208. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
  209. armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
  210. armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
  211. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
  212. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
  213. armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
  214. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
  215. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
  216. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
  217. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
  218. armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
  219. armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
  220. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
  221. armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
  222. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
  223. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
  224. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
  225. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
  226. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
  227. armodel/models/M2/MSR/Documentation/__init__.py +3 -3
  228. armodel/models/M2/MSR/documentation/__init__.py +3 -0
  229. armodel/models/__init__.py +86 -86
  230. armodel/models/utils/uuid_mgr.py +28 -29
  231. armodel/parser/__init__.py +2 -2
  232. armodel/parser/abstract_arxml_parser.py +323 -325
  233. armodel/parser/arxml_parser.py +5832 -5830
  234. armodel/parser/connector_xlsx_parser.py +192 -193
  235. armodel/parser/excel_parser.py +17 -17
  236. armodel/parser/file_parser.py +46 -46
  237. armodel/report/__init__.py +1 -1
  238. armodel/report/connector_xls_report.py +76 -77
  239. armodel/report/excel_report.py +41 -41
  240. armodel/transformer/abstract.py +6 -6
  241. armodel/transformer/admin_data.py +31 -31
  242. armodel/writer/__init__.py +1 -1
  243. armodel/writer/abstract_arxml_writer.py +146 -147
  244. armodel/writer/arxml_writer.py +5969 -5965
  245. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/METADATA +850 -662
  246. armodel-1.9.1.dist-info/RECORD +273 -0
  247. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/WHEEL +1 -1
  248. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/entry_points.txt +0 -1
  249. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info/licenses}/LICENSE +21 -21
  250. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  251. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  252. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  253. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  254. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  255. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  256. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  257. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  258. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  259. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  260. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  261. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  262. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  263. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  264. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  265. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  266. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
  267. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
  268. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  269. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  270. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  271. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  272. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  273. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  274. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  275. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  276. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  277. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  278. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  279. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  280. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  281. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  282. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  283. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  284. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  285. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  286. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  287. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  288. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  289. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  290. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  291. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  292. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  293. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  294. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  295. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  296. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  297. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  298. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  299. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  300. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  301. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  302. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  303. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  304. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  305. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  306. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  307. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  308. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  309. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  310. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  311. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  312. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  313. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  314. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  315. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  316. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  317. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  318. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  319. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  320. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  321. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  322. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  323. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  324. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  325. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  326. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  327. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  328. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  329. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  330. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  331. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  332. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  333. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  334. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  335. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  336. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  337. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  338. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  339. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  340. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  341. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  342. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  343. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  344. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  345. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  346. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  347. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  348. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  349. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  350. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  351. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  352. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  353. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  354. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  355. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  356. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  357. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  358. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  359. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  360. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  361. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  362. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  363. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  364. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  365. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  366. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  367. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  368. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  369. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  370. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  371. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  372. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  373. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  374. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  375. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  376. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  377. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  378. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  379. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  380. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  381. armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
  382. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  383. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  384. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  385. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  386. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  387. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  388. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  389. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  390. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  391. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  392. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  393. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  394. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  395. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  396. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  397. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  398. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  399. armodel/tests/__init__.py +0 -0
  400. armodel/tests/test_armodel/__init__.py +0 -0
  401. armodel/tests/test_armodel/models/__init__.py +0 -0
  402. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
  403. armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
  404. armodel/tests/test_armodel/models/test_ar_object.py +0 -154
  405. armodel/tests/test_armodel/models/test_ar_package.py +0 -304
  406. armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
  407. armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
  408. armodel/tests/test_armodel/models/test_common_structure.py +0 -82
  409. armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
  410. armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
  411. armodel/tests/test_armodel/models/test_datatype.py +0 -251
  412. armodel/tests/test_armodel/models/test_general_structure.py +0 -56
  413. armodel/tests/test_armodel/models/test_implementation.py +0 -27
  414. armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
  415. armodel/tests/test_armodel/models/test_port_interface.py +0 -202
  416. armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
  417. armodel/tests/test_armodel/parser/__init__.py +0 -0
  418. armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
  419. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
  420. armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
  421. armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
  422. armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
  423. armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
  424. armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
  425. armodel/tests/test_armodel/parser/test_system.py +0 -23
  426. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  427. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  428. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  429. armodel-1.8.7.dist-info/RECORD +0 -360
  430. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/top_level.txt +0 -0
@@ -1,685 +1,750 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
5
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, MacAddressString, PositiveInteger
6
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, TimeValue
7
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector
9
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationController
10
-
11
-
12
- class MacMulticastGroup(Identifiable):
13
- def __init__(self, parent, short_name):
14
- super().__init__(parent, short_name)
15
-
16
- self.macMulticastAddress = None # type: MacAddressString
17
-
18
- def getMacMulticastAddress(self):
19
- return self.macMulticastAddress
20
-
21
- def setMacMulticastAddress(self, value):
22
- if value is not None:
23
- self.macMulticastAddress = value
24
- return self
25
-
26
-
27
- class EthernetCluster(CommunicationCluster):
28
- def __init__(self, parent: ARObject, short_name: str):
29
- super().__init__(parent, short_name)
30
-
31
- self.couplingPorts = [] # type: List[CouplingPortConnection]
32
- self.couplingPortStartupActiveTime = None # type: TimeValue
33
- self.couplingPortSwitchoffDelay = None # type: TimeValue
34
- self.macMulticastGroups = [] # type: List[MacMulticastGroup]
35
-
36
- def getCouplingPorts(self):
37
- return self.couplingPorts
38
-
39
- def addCouplingPort(self, value):
40
- if value is not None:
41
- self.couplingPorts.append(value)
42
- return self
43
-
44
- def getCouplingPortStartupActiveTime(self):
45
- return self.couplingPortStartupActiveTime
46
-
47
- def setCouplingPortStartupActiveTime(self, value):
48
- if value is not None:
49
- self.couplingPortStartupActiveTime = value
50
- return self
51
-
52
- def getCouplingPortSwitchoffDelay(self):
53
- return self.couplingPortSwitchoffDelay
54
-
55
- def setCouplingPortSwitchoffDelay(self, value):
56
- if value is not None:
57
- self.couplingPortSwitchoffDelay = value
58
- return self
59
-
60
- def getMacMulticastGroups(self):
61
- return self.macMulticastGroups
62
-
63
- def createMacMulticastGroup(self, short_name: str) -> MacMulticastGroup:
64
- if (short_name not in self.elements):
65
- group = MacMulticastGroup(self, short_name)
66
- self.addElement(group)
67
- self.macMulticastGroups.append(group)
68
- return self.getElement(short_name)
69
-
70
-
71
- class CouplingPortStructuralElement(Identifiable, metaclass=ABCMeta):
72
- def __init__(self, parent: ARObject, short_name: str):
73
- if type(self) is CouplingPortStructuralElement:
74
- raise NotImplementedError("CouplingPortStructuralElement is an abstract class.")
75
-
76
- super().__init__(parent, short_name)
77
-
78
-
79
- class CouplingPortFifo(CouplingPortStructuralElement):
80
- def __init__(self, parent: ARObject, short_name: str):
81
- super().__init__(parent, short_name)
82
-
83
- self.assignedTrafficClasses = [] # type: List[PositiveInteger]
84
- self.minimumFifoLength = None # type: PositiveInteger
85
- self.shaper = None # type: CouplingPortAbstractShaper
86
- self.trafficClassPreemptionSupport = None # type: EthernetCouplingPortPreemptionEnum
87
-
88
- def getAssignedTrafficClasses(self):
89
- return self.assignedTrafficClasses
90
-
91
- def addAssignedTrafficClass(self, value):
92
- if value is not None:
93
- self.assignedTrafficClasses.append(value)
94
- return self
95
-
96
- def getMinimumFifoLength(self):
97
- return self.minimumFifoLength
98
-
99
- def setMinimumFifoLength(self, value):
100
- if value is not None:
101
- self.minimumFifoLength = value
102
- return self
103
-
104
- def getShaper(self):
105
- return self.shaper
106
-
107
- def setShaper(self, value):
108
- if value is not None:
109
- self.shaper = value
110
- return self
111
-
112
- def getTrafficClassPreemptionSupport(self):
113
- return self.trafficClassPreemptionSupport
114
-
115
- def setTrafficClassPreemptionSupport(self, value):
116
- if value is not None:
117
- self.trafficClassPreemptionSupport = value
118
- return self
119
-
120
-
121
- class CouplingPortScheduler(CouplingPortStructuralElement):
122
- def __init__(self, parent, short_name):
123
- super().__init__(parent, short_name)
124
-
125
- self.portScheduler = None # type: EthernetCouplingPortSchedulerEnum
126
- self.predecessorRefs = [] # type: List[RefType]
127
-
128
- def getPortScheduler(self):
129
- return self.portScheduler
130
-
131
- def setPortScheduler(self, value):
132
- if value is not None:
133
- self.portScheduler = value
134
- return self
135
-
136
- def getPredecessorRefs(self):
137
- return self.predecessorRefs
138
-
139
- def addPredecessorRef(self, value):
140
- if value is not None:
141
- self.predecessorRefs.append(value)
142
- return self
143
-
144
-
145
- class EthernetPriorityRegeneration(Referrable):
146
- def __init__(self, parent, short_name):
147
- super().__init__(parent, short_name)
148
-
149
- self.ingressPriority = None # type: PositiveInteger
150
- self.regeneratedPriority = None # type: PositiveInteger
151
-
152
- def getIngressPriority(self):
153
- return self.ingressPriority
154
-
155
- def setIngressPriority(self, value):
156
- if value is not None:
157
- self.ingressPriority = value
158
- return self
159
-
160
- def getRegeneratedPriority(self):
161
- return self.regeneratedPriority
162
-
163
- def setRegeneratedPriority(self, value):
164
- if value is not None:
165
- self.regeneratedPriority = value
166
- return self
167
-
168
-
169
- class CouplingPortDetails(ARObject):
170
- def __init__(self):
171
- super().__init__()
172
-
173
- self.couplingPortStructuralElements = [] # type: List[CouplingPortStructuralElement]
174
- self.defaultTrafficClass = None # type: PositiveInteger
175
- self.ethernetPriorityRegenerations = [] # type: List[EthernetPriorityRegeneration]
176
- self.ethernetTrafficClassAssignments = [] # type: List[CouplingPortTrafficClassAssignment]
177
- self.framePreemptionSupport = None # type: Boolean
178
- self.globalTimeProps = None # type: GlobalTimeCouplingPortProps
179
- self.lastEgressSchedulerRef = None # type: RefType
180
- self.ratePolicies = [] # type: List[CouplingPortRatePolicy]
181
- self.vlanTranslationTables = [] # type: List[EthernetVlanTranslationTable]
182
-
183
- def getCouplingPortStructuralElements(self):
184
- return self.couplingPortStructuralElements
185
-
186
- def createCouplingPortFifo(self, short_name: str) -> CouplingPortFifo:
187
- fifo = CouplingPortFifo(self, short_name)
188
- self.couplingPortStructuralElements.append(fifo)
189
- return fifo
190
-
191
- def createCouplingPortScheduler(self, short_name: str) -> CouplingPortScheduler:
192
- scheduler = CouplingPortScheduler(self, short_name)
193
- self.couplingPortStructuralElements.append(scheduler)
194
- return scheduler
195
-
196
- def createEthernetPriorityRegeneration(self, short_name: str) -> EthernetPriorityRegeneration:
197
- regeneration = EthernetPriorityRegeneration(self, short_name)
198
- self.ethernetPriorityRegenerations.append(regeneration)
199
- return regeneration
200
-
201
- def getDefaultTrafficClass(self):
202
- return self.defaultTrafficClass
203
-
204
- def setDefaultTrafficClass(self, value):
205
- if value is not None:
206
- self.defaultTrafficClass = value
207
- return self
208
-
209
- def getEthernetPriorityRegenerations(self):
210
- return self.ethernetPriorityRegenerations
211
-
212
- def setEthernetPriorityRegenerations(self, value):
213
- if value is not None:
214
- self.ethernetPriorityRegenerations = value
215
- return self
216
-
217
- def getEthernetTrafficClassAssignments(self):
218
- return self.ethernetTrafficClassAssignments
219
-
220
- def setEthernetTrafficClassAssignments(self, value):
221
- if value is not None:
222
- self.ethernetTrafficClassAssignments = value
223
- return self
224
-
225
- def getFramePreemptionSupport(self):
226
- return self.framePreemptionSupport
227
-
228
- def setFramePreemptionSupport(self, value):
229
- if value is not None:
230
- self.framePreemptionSupport = value
231
- return self
232
-
233
- def getGlobalTimeProps(self):
234
- return self.globalTimeProps
235
-
236
- def setGlobalTimeProps(self, value):
237
- if value is not None:
238
- self.globalTimeProps = value
239
- return self
240
-
241
- def getLastEgressSchedulerRef(self):
242
- return self.lastEgressSchedulerRef
243
-
244
- def setLastEgressSchedulerRef(self, value):
245
- if value is not None:
246
- self.lastEgressSchedulerRef = value
247
- return self
248
-
249
- def getRatePolicies(self):
250
- return self.ratePolicies
251
-
252
- def setRatePolicies(self, value):
253
- if value is not None:
254
- self.ratePolicies = value
255
- return self
256
-
257
- def getVlanTranslationTables(self):
258
- return self.vlanTranslationTables
259
-
260
- def setVlanTranslationTables(self, value):
261
- if value is not None:
262
- self.vlanTranslationTables = value
263
- return self
264
-
265
-
266
- class VlanMembership(ARObject):
267
- def __init__(self):
268
- super().__init__()
269
-
270
- self.defaultPriority = None # type: PositiveInteger
271
- self.dhcpAddressAssignment = None # type: DhcpServerConfiguration
272
- self.sendActivity = None # type: EthernetSwitchVlanEgressTaggingEnum
273
- self.vlanRef = None # type: RefType
274
-
275
- def getDefaultPriority(self):
276
- return self.defaultPriority
277
-
278
- def setDefaultPriority(self, value):
279
- if value is not None:
280
- self.defaultPriority = value
281
- return self
282
-
283
- def getDhcpAddressAssignment(self):
284
- return self.dhcpAddressAssignment
285
-
286
- def setDhcpAddressAssignment(self, value):
287
- if value is not None:
288
- self.dhcpAddressAssignment = value
289
- return self
290
-
291
- def getSendActivity(self):
292
- return self.sendActivity
293
-
294
- def setSendActivity(self, value):
295
- if value is not None:
296
- self.sendActivity = value
297
- return self
298
-
299
- def getVlanRef(self):
300
- return self.vlanRef
301
-
302
- def setVlanRef(self, value):
303
- if value is not None:
304
- self.vlanRef = value
305
- return self
306
-
307
-
308
- class CouplingPort(Identifiable):
309
- def __init__(self, parent, short_name):
310
- super().__init__(parent, short_name)
311
-
312
- self.connectionNegotiationBehavior = None # type: EthernetConnectionNegotiationEnum
313
- self.couplingPortDetails = None # type: CouplingPortDetails
314
- self.couplingPortRole = None # type: CouplingPortRoleEnum
315
- self.defaultVlanRef = None # type: RefType
316
- self.macAddressVlanAssignments = [] # type: List[MacAddressVlanMembership]
317
- self.macLayerType = None # type: EthernetMacLayerTypeEnum
318
- self.macMulticastAddressRefs = [] # type: List[RefType]
319
- self.macSecProps = [] # type: List[MacSecProps]
320
- self.physicalLayerType = None # type: EthernetPhysicalLayerTypeEnum
321
- self.plcaProps = None # type: PlcaProps
322
- self.pncMappingRefs = [] # type: List[RefType]
323
- self.receiveActivity = None # type: EthernetSwitchVlanIngressTagEnum
324
- self.vlanMemberships = [] # type: List[VlanMembership]
325
- self.wakeupSleepOnDatalineConfigRef = None # type: RefType
326
-
327
- def getConnectionNegotiationBehavior(self):
328
- return self.connectionNegotiationBehavior
329
-
330
- def setConnectionNegotiationBehavior(self, value):
331
- if value is not None:
332
- self.connectionNegotiationBehavior = value
333
- return self
334
-
335
- def getCouplingPortDetails(self):
336
- return self.couplingPortDetails
337
-
338
- def setCouplingPortDetails(self, value):
339
- if value is not None:
340
- self.couplingPortDetails = value
341
- return self
342
-
343
- def getCouplingPortRole(self):
344
- return self.couplingPortRole
345
-
346
- def setCouplingPortRole(self, value):
347
- if value is not None:
348
- self.couplingPortRole = value
349
- return self
350
-
351
- def getDefaultVlanRef(self):
352
- return self.defaultVlanRef
353
-
354
- def setDefaultVlanRef(self, value):
355
- if value is not None:
356
- self.defaultVlanRef = value
357
- return self
358
-
359
- def getMacAddressVlanAssignments(self):
360
- return self.macAddressVlanAssignments
361
-
362
- def setMacAddressVlanAssignments(self, value):
363
- if value is not None:
364
- self.macAddressVlanAssignments = value
365
- return self
366
-
367
- def getMacLayerType(self):
368
- return self.macLayerType
369
-
370
- def setMacLayerType(self, value):
371
- if value is not None:
372
- self.macLayerType = value
373
- return self
374
-
375
- def getMacMulticastAddressRefs(self):
376
- return self.macMulticastAddressRefs
377
-
378
- def setMacMulticastAddressRefs(self, value):
379
- if value is not None:
380
- self.macMulticastAddressRefs = value
381
- return self
382
-
383
- def getMacSecProps(self):
384
- return self.macSecProps
385
-
386
- def setMacSecProps(self, value):
387
- if value is not None:
388
- self.macSecProps = value
389
- return self
390
-
391
- def getPhysicalLayerType(self):
392
- return self.physicalLayerType
393
-
394
- def setPhysicalLayerType(self, value):
395
- if value is not None:
396
- self.physicalLayerType = value
397
- return self
398
-
399
- def getPlcaProps(self):
400
- return self.plcaProps
401
-
402
- def setPlcaProps(self, value):
403
- if value is not None:
404
- self.plcaProps = value
405
- return self
406
-
407
- def getPncMappingRefs(self):
408
- return self.pncMappingRefs
409
-
410
- def setPncMappingRefs(self, value):
411
- if value is not None:
412
- self.pncMappingRefs = value
413
- return self
414
-
415
- def getReceiveActivity(self):
416
- return self.receiveActivity
417
-
418
- def setReceiveActivity(self, value):
419
- if value is not None:
420
- self.receiveActivity = value
421
- return self
422
-
423
- def getVlanMemberships(self):
424
- return self.vlanMemberships
425
-
426
- def addVlanMembership(self, value):
427
- if value is not None:
428
- self.vlanMemberships.append(value)
429
- return self
430
-
431
- def getWakeupSleepOnDatalineConfigRef(self):
432
- return self.wakeupSleepOnDatalineConfigRef
433
-
434
- def setWakeupSleepOnDatalineConfigRef(self, value):
435
- if value is not None:
436
- self.wakeupSleepOnDatalineConfigRef = value
437
- return self
438
-
439
-
440
- class EthernetCommunicationController(CommunicationController):
441
- def __init__(self, parent: ARObject, short_name: str):
442
- super().__init__(parent, short_name)
443
-
444
- self.canXlConfigRef = None # type: RefType
445
- self.couplingPorts = [] # type: List[CouplingPort]
446
- self.macLayerType = None # type: EthernetMacLayerTypeEnum
447
- self.macUnicastAddress = None # type: MacAddressString
448
- self.maximumReceiveBufferLength = None # type: Integer
449
- self.maximumTransmitBufferLength = None # type: Integer
450
- self.slaveActAsPassiveCommunicationSlave = None # type: Boolean
451
- self.slaveQualifiedUnexpectedLinkDownTime = None # type: TimeValue
452
-
453
- def getCanXlConfigRef(self):
454
- return self.canXlConfigRef
455
-
456
- def setCanXlConfigRef(self, value):
457
- self.canXlConfigRef = value
458
- return self
459
-
460
- def getCouplingPorts(self):
461
- return self.couplingPorts
462
-
463
- def createCouplingPort(self, short_name: str) -> CouplingPort:
464
- if (short_name not in self.elements):
465
- group = CouplingPort(self, short_name)
466
- self.addElement(group)
467
- self.couplingPorts.append(group)
468
- return self.getElement(short_name)
469
-
470
- def getMacLayerType(self):
471
- return self.macLayerType
472
-
473
- def setMacLayerType(self, value):
474
- self.macLayerType = value
475
- return self
476
-
477
- def getMacUnicastAddress(self):
478
- return self.macUnicastAddress
479
-
480
- def setMacUnicastAddress(self, value):
481
- self.macUnicastAddress = value
482
- return self
483
-
484
- def getMaximumReceiveBufferLength(self):
485
- return self.maximumReceiveBufferLength
486
-
487
- def setMaximumReceiveBufferLength(self, value):
488
- self.maximumReceiveBufferLength = value
489
- return self
490
-
491
- def getMaximumTransmitBufferLength(self):
492
- return self.maximumTransmitBufferLength
493
-
494
- def setMaximumTransmitBufferLength(self, value):
495
- self.maximumTransmitBufferLength = value
496
- return self
497
-
498
- def getSlaveActAsPassiveCommunicationSlave(self):
499
- return self.slaveActAsPassiveCommunicationSlave
500
-
501
- def setSlaveActAsPassiveCommunicationSlave(self, value):
502
- self.slaveActAsPassiveCommunicationSlave = value
503
- return self
504
-
505
- def getSlaveQualifiedUnexpectedLinkDownTime(self):
506
- return self.slaveQualifiedUnexpectedLinkDownTime
507
-
508
- def setSlaveQualifiedUnexpectedLinkDownTime(self, value):
509
- self.slaveQualifiedUnexpectedLinkDownTime = value
510
- return self
511
-
512
-
513
- class EthernetCommunicationConnector(CommunicationConnector):
514
- def __init__(self, parent: ARObject, short_name: str):
515
- super().__init__(parent, short_name)
516
-
517
- self.ethIpPropsRef = None # type: RefType
518
- self.maximumTransmissionUnit = None # type: PositiveInteger
519
- self.neighborCacheSize = None # type: PositiveInteger
520
- self.networkEndpointRefs = [] # type: List[RefType] ## 4.3.1 Version
521
- self.pathMtuEnabled = None # type: Boolean
522
- self.pathMtuTimeout = None # type: TimeValue
523
-
524
- def getEthIpPropsRef(self):
525
- return self.ethIpPropsRef
526
-
527
- def setEthIpPropsRef(self, value):
528
- self.ethIpPropsRef = value
529
- return self
530
-
531
- def getMaximumTransmissionUnit(self):
532
- return self.maximumTransmissionUnit
533
-
534
- def setMaximumTransmissionUnit(self, value):
535
- self.maximumTransmissionUnit = value
536
- return self
537
-
538
- def getNeighborCacheSize(self):
539
- return self.neighborCacheSize
540
-
541
- def setNeighborCacheSize(self, value):
542
- self.neighborCacheSize = value
543
- return self
544
-
545
- def getNetworkEndpointRefs(self):
546
- return self.networkEndpointRefs
547
-
548
- def addNetworkEndpointRef(self, value):
549
- if value is not None:
550
- self.networkEndpointRefs.append(value)
551
- return self
552
-
553
- def getPathMtuEnabled(self):
554
- return self.pathMtuEnabled
555
-
556
- def setPathMtuEnabled(self, value):
557
- self.pathMtuEnabled = value
558
- return self
559
-
560
- def getPathMtuTimeout(self):
561
- return self.pathMtuTimeout
562
-
563
- def setPathMtuTimeout(self, value):
564
- self.pathMtuTimeout = value
565
- return self
566
-
567
-
568
- class RequestResponseDelay(ARObject):
569
- def __init__(self):
570
- super().__init__()
571
-
572
- self.maxValue = None # type: TimeValue
573
- self.minValue = None # type: TimeValue
574
-
575
- def getMaxValue(self):
576
- return self.maxValue
577
-
578
- def setMaxValue(self, value):
579
- if value is not None:
580
- self.maxValue = value
581
- return self
582
-
583
- def getMinValue(self):
584
- return self.minValue
585
-
586
- def setMinValue(self, value):
587
- if value is not None:
588
- self.minValue = value
589
- return self
590
-
591
-
592
- class InitialSdDelayConfig(ARObject):
593
- def __init__(self):
594
- super().__init__()
595
-
596
- self.initialDelayMaxValue = None # type: TimeValue
597
- self.initialDelayMinValue = None # type: TimeValue
598
- self.initialRepetitionsBaseDelay = None # type: TimeValue
599
- self.initialRepetitionsMax = None # type: PositiveInteger
600
-
601
- def getInitialDelayMaxValue(self):
602
- return self.initialDelayMaxValue
603
-
604
- def setInitialDelayMaxValue(self, value):
605
- if value is not None:
606
- self.initialDelayMaxValue = value
607
- return self
608
-
609
- def getInitialDelayMinValue(self):
610
- return self.initialDelayMinValue
611
-
612
- def setInitialDelayMinValue(self, value):
613
- if value is not None:
614
- self.initialDelayMinValue = value
615
- return self
616
-
617
- def getInitialRepetitionsBaseDelay(self):
618
- return self.initialRepetitionsBaseDelay
619
-
620
- def setInitialRepetitionsBaseDelay(self, value):
621
- if value is not None:
622
- self.initialRepetitionsBaseDelay = value
623
- return self
624
-
625
- def getInitialRepetitionsMax(self):
626
- return self.initialRepetitionsMax
627
-
628
- def setInitialRepetitionsMax(self, value):
629
- if value is not None:
630
- self.initialRepetitionsMax = value
631
- return self
632
-
633
-
634
- class SdClientConfig(ARObject):
635
- def __init__(self):
636
- super().__init__()
637
-
638
- self.capabilityRecord = None # type: TagWithOptionalValue
639
- self.clientServiceMajorVersion = None # type: PositiveInteger
640
- self.clientServiceMinorVersion = None # type: PositiveInteger
641
- self.initialFindBehavior = None # type: InitialSdDelayConfig
642
- self.requestResponseDelay = None # type: RequestResponseDelay
643
- self.ttl = None # type: PositiveInteger
644
-
645
- def getClientServiceMajorVersion(self):
646
- return self.clientServiceMajorVersion
647
-
648
- def setClientServiceMajorVersion(self, value):
649
- if value is not None:
650
- self.clientServiceMajorVersion = value
651
- return self
652
-
653
- def getClientServiceMinorVersion(self):
654
- return self.clientServiceMinorVersion
655
-
656
- def setClientServiceMinorVersion(self, value):
657
- if value is not None:
658
- self.clientServiceMinorVersion = value
659
- return self
660
-
661
- def getInitialFindBehavior(self):
662
- return self.initialFindBehavior
663
-
664
- def setInitialFindBehavior(self, value):
665
- if value is not None:
666
- self.initialFindBehavior = value
667
- return self
668
-
669
- def getRequestResponseDelay(self):
670
- return self.requestResponseDelay
671
-
672
- def setRequestResponseDelay(self, value):
673
- if value is not None:
674
- self.requestResponseDelay = value
675
- return self
676
-
677
- def getTtl(self):
678
- return self.ttl
679
-
680
- def setTtl(self, value):
681
- if value is not None:
682
- self.ttl = value
683
- return self
684
-
685
-
1
+ from abc import ABC
2
+
3
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
4
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector
6
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationController
7
+
8
+
9
+ class MacMulticastGroup(Identifiable):
10
+ """
11
+ Represents a MAC multicast group used in Ethernet communication,
12
+ defining multicast addresses that can be used for group-based
13
+ communication in the network topology.
14
+ """
15
+ def __init__(self, parent, short_name):
16
+ super().__init__(parent, short_name)
17
+
18
+ self.macMulticastAddress = None # type: MacAddressString
19
+
20
+ def getMacMulticastAddress(self):
21
+ return self.macMulticastAddress
22
+
23
+ def setMacMulticastAddress(self, value):
24
+ if value is not None:
25
+ self.macMulticastAddress = value
26
+ return self
27
+
28
+
29
+ class EthernetCluster(CommunicationCluster):
30
+ """
31
+ Defines an Ethernet communication cluster in the system topology,
32
+ specifying properties for Ethernet network communication including
33
+ coupling ports, startup timing, and multicast group configurations.
34
+ """
35
+ def __init__(self, parent: ARObject, short_name: str):
36
+ super().__init__(parent, short_name)
37
+
38
+ self.couplingPorts = [] # type: List[CouplingPortConnection]
39
+ self.couplingPortStartupActiveTime = None # type: TimeValue
40
+ self.couplingPortSwitchoffDelay = None # type: TimeValue
41
+ self.macMulticastGroups = [] # type: List[MacMulticastGroup]
42
+
43
+ def getCouplingPorts(self):
44
+ return self.couplingPorts
45
+
46
+ def addCouplingPort(self, value):
47
+ if value is not None:
48
+ self.couplingPorts.append(value)
49
+ return self
50
+
51
+ def getCouplingPortStartupActiveTime(self):
52
+ return self.couplingPortStartupActiveTime
53
+
54
+ def setCouplingPortStartupActiveTime(self, value):
55
+ if value is not None:
56
+ self.couplingPortStartupActiveTime = value
57
+ return self
58
+
59
+ def getCouplingPortSwitchoffDelay(self):
60
+ return self.couplingPortSwitchoffDelay
61
+
62
+ def setCouplingPortSwitchoffDelay(self, value):
63
+ if value is not None:
64
+ self.couplingPortSwitchoffDelay = value
65
+ return self
66
+
67
+ def getMacMulticastGroups(self):
68
+ return self.macMulticastGroups
69
+
70
+ def createMacMulticastGroup(self, short_name: str) -> MacMulticastGroup:
71
+ if (short_name not in self.elements):
72
+ group = MacMulticastGroup(self, short_name)
73
+ self.addElement(group)
74
+ self.macMulticastGroups.append(group)
75
+ return self.getElement(short_name)
76
+
77
+
78
+ class CouplingPortStructuralElement(Identifiable, ABC):
79
+ """
80
+ Abstract base class for coupling port structural elements in Ethernet
81
+ switches and bridges, defining common properties and behavior for
82
+ various types of coupling port components.
83
+ """
84
+ def __init__(self, parent: ARObject, short_name: str):
85
+ if type(self) is CouplingPortStructuralElement:
86
+ raise TypeError("CouplingPortStructuralElement is an abstract class.")
87
+
88
+ super().__init__(parent, short_name)
89
+
90
+
91
+ class CouplingPortFifo(CouplingPortStructuralElement):
92
+ """
93
+ Defines a FIFO (First In, First Out) buffer for coupling ports in
94
+ Ethernet switches, specifying traffic class assignments, minimum
95
+ buffer lengths, and preemption support properties.
96
+ """
97
+ def __init__(self, parent: ARObject, short_name: str):
98
+ super().__init__(parent, short_name)
99
+
100
+ self.assignedTrafficClasses = [] # type: List[PositiveInteger]
101
+ self.minimumFifoLength = None # type: PositiveInteger
102
+ self.shaper = None # type: CouplingPortAbstractShaper
103
+ self.trafficClassPreemptionSupport = None # type: EthernetCouplingPortPreemptionEnum
104
+
105
+ def getAssignedTrafficClasses(self):
106
+ return self.assignedTrafficClasses
107
+
108
+ def addAssignedTrafficClass(self, value):
109
+ if value is not None:
110
+ self.assignedTrafficClasses.append(value)
111
+ return self
112
+
113
+ def getMinimumFifoLength(self):
114
+ return self.minimumFifoLength
115
+
116
+ def setMinimumFifoLength(self, value):
117
+ if value is not None:
118
+ self.minimumFifoLength = value
119
+ return self
120
+
121
+ def getShaper(self):
122
+ return self.shaper
123
+
124
+ def setShaper(self, value):
125
+ if value is not None:
126
+ self.shaper = value
127
+ return self
128
+
129
+ def getTrafficClassPreemptionSupport(self):
130
+ return self.trafficClassPreemptionSupport
131
+
132
+ def setTrafficClassPreemptionSupport(self, value):
133
+ if value is not None:
134
+ self.trafficClassPreemptionSupport = value
135
+ return self
136
+
137
+
138
+ class CouplingPortScheduler(CouplingPortStructuralElement):
139
+ """
140
+ Defines a scheduler for coupling ports in Ethernet switches,
141
+ specifying scheduling algorithms and predecessor relationships
142
+ for managing traffic flow through the coupling ports.
143
+ """
144
+ def __init__(self, parent, short_name):
145
+ super().__init__(parent, short_name)
146
+
147
+ self.portScheduler = None # type: EthernetCouplingPortSchedulerEnum
148
+ self.predecessorRefs = [] # type: List[RefType]
149
+
150
+ def getPortScheduler(self):
151
+ return self.portScheduler
152
+
153
+ def setPortScheduler(self, value):
154
+ if value is not None:
155
+ self.portScheduler = value
156
+ return self
157
+
158
+ def getPredecessorRefs(self):
159
+ return self.predecessorRefs
160
+
161
+ def addPredecessorRef(self, value):
162
+ if value is not None:
163
+ self.predecessorRefs.append(value)
164
+ return self
165
+
166
+
167
+ class EthernetPriorityRegeneration(Referrable):
168
+ """
169
+ Defines priority regeneration rules for Ethernet traffic,
170
+ specifying how ingress priorities are mapped to regenerated
171
+ priorities for traffic management in the network.
172
+ """
173
+ def __init__(self, parent, short_name):
174
+ super().__init__(parent, short_name)
175
+
176
+ self.ingressPriority = None # type: PositiveInteger
177
+ self.regeneratedPriority = None # type: PositiveInteger
178
+
179
+ def getIngressPriority(self):
180
+ return self.ingressPriority
181
+
182
+ def setIngressPriority(self, value):
183
+ if value is not None:
184
+ self.ingressPriority = value
185
+ return self
186
+
187
+ def getRegeneratedPriority(self):
188
+ return self.regeneratedPriority
189
+
190
+ def setRegeneratedPriority(self, value):
191
+ if value is not None:
192
+ self.regeneratedPriority = value
193
+ return self
194
+
195
+
196
+ class CouplingPortDetails(ARObject):
197
+ """
198
+ Contains detailed configuration information for coupling ports
199
+ in Ethernet switches, including traffic class assignments, frame
200
+ preemption support, and VLAN translation tables.
201
+ """
202
+ def __init__(self):
203
+ super().__init__()
204
+
205
+ self.couplingPortStructuralElements = [] # type: List[CouplingPortStructuralElement]
206
+ self.defaultTrafficClass = None # type: PositiveInteger
207
+ self.ethernetPriorityRegenerations = [] # type: List[EthernetPriorityRegeneration]
208
+ self.ethernetTrafficClassAssignments = [] # type: List[CouplingPortTrafficClassAssignment]
209
+ self.framePreemptionSupport = None # type: Boolean
210
+ self.globalTimeProps = None # type: GlobalTimeCouplingPortProps
211
+ self.lastEgressSchedulerRef = None # type: RefType
212
+ self.ratePolicies = [] # type: List[CouplingPortRatePolicy]
213
+ self.vlanTranslationTables = [] # type: List[EthernetVlanTranslationTable]
214
+
215
+ def getCouplingPortStructuralElements(self):
216
+ return self.couplingPortStructuralElements
217
+
218
+ def createCouplingPortFifo(self, short_name: str) -> CouplingPortFifo:
219
+ fifo = CouplingPortFifo(self, short_name)
220
+ self.couplingPortStructuralElements.append(fifo)
221
+ return fifo
222
+
223
+ def createCouplingPortScheduler(self, short_name: str) -> CouplingPortScheduler:
224
+ scheduler = CouplingPortScheduler(self, short_name)
225
+ self.couplingPortStructuralElements.append(scheduler)
226
+ return scheduler
227
+
228
+ def createEthernetPriorityRegeneration(self, short_name: str) -> EthernetPriorityRegeneration:
229
+ regeneration = EthernetPriorityRegeneration(self, short_name)
230
+ self.ethernetPriorityRegenerations.append(regeneration)
231
+ return regeneration
232
+
233
+ def getDefaultTrafficClass(self):
234
+ return self.defaultTrafficClass
235
+
236
+ def setDefaultTrafficClass(self, value):
237
+ if value is not None:
238
+ self.defaultTrafficClass = value
239
+ return self
240
+
241
+ def getEthernetPriorityRegenerations(self):
242
+ return self.ethernetPriorityRegenerations
243
+
244
+ def setEthernetPriorityRegenerations(self, value):
245
+ if value is not None:
246
+ self.ethernetPriorityRegenerations = value
247
+ return self
248
+
249
+ def getEthernetTrafficClassAssignments(self):
250
+ return self.ethernetTrafficClassAssignments
251
+
252
+ def setEthernetTrafficClassAssignments(self, value):
253
+ if value is not None:
254
+ self.ethernetTrafficClassAssignments = value
255
+ return self
256
+
257
+ def getFramePreemptionSupport(self):
258
+ return self.framePreemptionSupport
259
+
260
+ def setFramePreemptionSupport(self, value):
261
+ if value is not None:
262
+ self.framePreemptionSupport = value
263
+ return self
264
+
265
+ def getGlobalTimeProps(self):
266
+ return self.globalTimeProps
267
+
268
+ def setGlobalTimeProps(self, value):
269
+ if value is not None:
270
+ self.globalTimeProps = value
271
+ return self
272
+
273
+ def getLastEgressSchedulerRef(self):
274
+ return self.lastEgressSchedulerRef
275
+
276
+ def setLastEgressSchedulerRef(self, value):
277
+ if value is not None:
278
+ self.lastEgressSchedulerRef = value
279
+ return self
280
+
281
+ def getRatePolicies(self):
282
+ return self.ratePolicies
283
+
284
+ def setRatePolicies(self, value):
285
+ if value is not None:
286
+ self.ratePolicies = value
287
+ return self
288
+
289
+ def getVlanTranslationTables(self):
290
+ return self.vlanTranslationTables
291
+
292
+ def setVlanTranslationTables(self, value):
293
+ if value is not None:
294
+ self.vlanTranslationTables = value
295
+ return self
296
+
297
+
298
+ class VlanMembership(ARObject):
299
+ """
300
+ Defines VLAN membership properties for network interfaces,
301
+ specifying default priorities, DHCP configurations, and VLAN
302
+ tagging behaviors for Ethernet communication.
303
+ """
304
+ def __init__(self):
305
+ super().__init__()
306
+
307
+ self.defaultPriority = None # type: PositiveInteger
308
+ self.dhcpAddressAssignment = None # type: DhcpServerConfiguration
309
+ self.sendActivity = None # type: EthernetSwitchVlanEgressTaggingEnum
310
+ self.vlanRef = None # type: RefType
311
+
312
+ def getDefaultPriority(self):
313
+ return self.defaultPriority
314
+
315
+ def setDefaultPriority(self, value):
316
+ if value is not None:
317
+ self.defaultPriority = value
318
+ return self
319
+
320
+ def getDhcpAddressAssignment(self):
321
+ return self.dhcpAddressAssignment
322
+
323
+ def setDhcpAddressAssignment(self, value):
324
+ if value is not None:
325
+ self.dhcpAddressAssignment = value
326
+ return self
327
+
328
+ def getSendActivity(self):
329
+ return self.sendActivity
330
+
331
+ def setSendActivity(self, value):
332
+ if value is not None:
333
+ self.sendActivity = value
334
+ return self
335
+
336
+ def getVlanRef(self):
337
+ return self.vlanRef
338
+
339
+ def setVlanRef(self, value):
340
+ if value is not None:
341
+ self.vlanRef = value
342
+ return self
343
+
344
+
345
+ class CouplingPort(Identifiable):
346
+ """
347
+ Defines a coupling port in an Ethernet switch or bridge,
348
+ specifying connection negotiation behavior, MAC layer type,
349
+ physical layer type, and VLAN membership configurations.
350
+ """
351
+ def __init__(self, parent, short_name):
352
+ super().__init__(parent, short_name)
353
+
354
+ self.connectionNegotiationBehavior = None # type: EthernetConnectionNegotiationEnum
355
+ self.couplingPortDetails = None # type: CouplingPortDetails
356
+ self.couplingPortRole = None # type: CouplingPortRoleEnum
357
+ self.defaultVlanRef = None # type: RefType
358
+ self.macAddressVlanAssignments = [] # type: List[MacAddressVlanMembership]
359
+ self.macLayerType = None # type: EthernetMacLayerTypeEnum
360
+ self.macMulticastAddressRefs = [] # type: List[RefType]
361
+ self.macSecProps = [] # type: List[MacSecProps]
362
+ self.physicalLayerType = None # type: EthernetPhysicalLayerTypeEnum
363
+ self.plcaProps = None # type: PlcaProps
364
+ self.pncMappingRefs = [] # type: List[RefType]
365
+ self.receiveActivity = None # type: EthernetSwitchVlanIngressTagEnum
366
+ self.vlanMemberships = [] # type: List[VlanMembership]
367
+ self.wakeupSleepOnDatalineConfigRef = None # type: RefType
368
+
369
+ def getConnectionNegotiationBehavior(self):
370
+ return self.connectionNegotiationBehavior
371
+
372
+ def setConnectionNegotiationBehavior(self, value):
373
+ if value is not None:
374
+ self.connectionNegotiationBehavior = value
375
+ return self
376
+
377
+ def getCouplingPortDetails(self):
378
+ return self.couplingPortDetails
379
+
380
+ def setCouplingPortDetails(self, value):
381
+ if value is not None:
382
+ self.couplingPortDetails = value
383
+ return self
384
+
385
+ def getCouplingPortRole(self):
386
+ return self.couplingPortRole
387
+
388
+ def setCouplingPortRole(self, value):
389
+ if value is not None:
390
+ self.couplingPortRole = value
391
+ return self
392
+
393
+ def getDefaultVlanRef(self):
394
+ return self.defaultVlanRef
395
+
396
+ def setDefaultVlanRef(self, value):
397
+ if value is not None:
398
+ self.defaultVlanRef = value
399
+ return self
400
+
401
+ def getMacAddressVlanAssignments(self):
402
+ return self.macAddressVlanAssignments
403
+
404
+ def setMacAddressVlanAssignments(self, value):
405
+ if value is not None:
406
+ self.macAddressVlanAssignments = value
407
+ return self
408
+
409
+ def getMacLayerType(self):
410
+ return self.macLayerType
411
+
412
+ def setMacLayerType(self, value):
413
+ if value is not None:
414
+ self.macLayerType = value
415
+ return self
416
+
417
+ def getMacMulticastAddressRefs(self):
418
+ return self.macMulticastAddressRefs
419
+
420
+ def setMacMulticastAddressRefs(self, value):
421
+ if value is not None:
422
+ self.macMulticastAddressRefs = value
423
+ return self
424
+
425
+ def getMacSecProps(self):
426
+ return self.macSecProps
427
+
428
+ def setMacSecProps(self, value):
429
+ if value is not None:
430
+ self.macSecProps = value
431
+ return self
432
+
433
+ def getPhysicalLayerType(self):
434
+ return self.physicalLayerType
435
+
436
+ def setPhysicalLayerType(self, value):
437
+ if value is not None:
438
+ self.physicalLayerType = value
439
+ return self
440
+
441
+ def getPlcaProps(self):
442
+ return self.plcaProps
443
+
444
+ def setPlcaProps(self, value):
445
+ if value is not None:
446
+ self.plcaProps = value
447
+ return self
448
+
449
+ def getPncMappingRefs(self):
450
+ return self.pncMappingRefs
451
+
452
+ def setPncMappingRefs(self, value):
453
+ if value is not None:
454
+ self.pncMappingRefs = value
455
+ return self
456
+
457
+ def getReceiveActivity(self):
458
+ return self.receiveActivity
459
+
460
+ def setReceiveActivity(self, value):
461
+ if value is not None:
462
+ self.receiveActivity = value
463
+ return self
464
+
465
+ def getVlanMemberships(self):
466
+ return self.vlanMemberships
467
+
468
+ def addVlanMembership(self, value):
469
+ if value is not None:
470
+ self.vlanMemberships.append(value)
471
+ return self
472
+
473
+ def getWakeupSleepOnDatalineConfigRef(self):
474
+ return self.wakeupSleepOnDatalineConfigRef
475
+
476
+ def setWakeupSleepOnDatalineConfigRef(self, value):
477
+ if value is not None:
478
+ self.wakeupSleepOnDatalineConfigRef = value
479
+ return self
480
+
481
+
482
+ class EthernetCommunicationController(CommunicationController):
483
+ """
484
+ Represents an Ethernet communication controller in the system,
485
+ defining properties for MAC configuration, coupling ports,
486
+ and communication buffer management for Ethernet networking.
487
+ """
488
+ def __init__(self, parent: ARObject, short_name: str):
489
+ super().__init__(parent, short_name)
490
+
491
+ self.canXlConfigRef = None # type: RefType
492
+ self.couplingPorts = [] # type: List[CouplingPort]
493
+ self.macLayerType = None # type: EthernetMacLayerTypeEnum
494
+ self.macUnicastAddress = None # type: MacAddressString
495
+ self.maximumReceiveBufferLength = None # type: Integer
496
+ self.maximumTransmitBufferLength = None # type: Integer
497
+ self.slaveActAsPassiveCommunicationSlave = None # type: Boolean
498
+ self.slaveQualifiedUnexpectedLinkDownTime = None # type: TimeValue
499
+
500
+ def getCanXlConfigRef(self):
501
+ return self.canXlConfigRef
502
+
503
+ def setCanXlConfigRef(self, value):
504
+ self.canXlConfigRef = value
505
+ return self
506
+
507
+ def getCouplingPorts(self):
508
+ return self.couplingPorts
509
+
510
+ def createCouplingPort(self, short_name: str) -> CouplingPort:
511
+ if (short_name not in self.elements):
512
+ group = CouplingPort(self, short_name)
513
+ self.addElement(group)
514
+ self.couplingPorts.append(group)
515
+ return self.getElement(short_name)
516
+
517
+ def getMacLayerType(self):
518
+ return self.macLayerType
519
+
520
+ def setMacLayerType(self, value):
521
+ self.macLayerType = value
522
+ return self
523
+
524
+ def getMacUnicastAddress(self):
525
+ return self.macUnicastAddress
526
+
527
+ def setMacUnicastAddress(self, value):
528
+ self.macUnicastAddress = value
529
+ return self
530
+
531
+ def getMaximumReceiveBufferLength(self):
532
+ return self.maximumReceiveBufferLength
533
+
534
+ def setMaximumReceiveBufferLength(self, value):
535
+ self.maximumReceiveBufferLength = value
536
+ return self
537
+
538
+ def getMaximumTransmitBufferLength(self):
539
+ return self.maximumTransmitBufferLength
540
+
541
+ def setMaximumTransmitBufferLength(self, value):
542
+ self.maximumTransmitBufferLength = value
543
+ return self
544
+
545
+ def getSlaveActAsPassiveCommunicationSlave(self):
546
+ return self.slaveActAsPassiveCommunicationSlave
547
+
548
+ def setSlaveActAsPassiveCommunicationSlave(self, value):
549
+ self.slaveActAsPassiveCommunicationSlave = value
550
+ return self
551
+
552
+ def getSlaveQualifiedUnexpectedLinkDownTime(self):
553
+ return self.slaveQualifiedUnexpectedLinkDownTime
554
+
555
+ def setSlaveQualifiedUnexpectedLinkDownTime(self, value):
556
+ self.slaveQualifiedUnexpectedLinkDownTime = value
557
+ return self
558
+
559
+
560
+ class EthernetCommunicationConnector(CommunicationConnector):
561
+ """
562
+ Defines an Ethernet communication connector that links Ethernet
563
+ controllers to communication channels, specifying MTU settings,
564
+ network endpoint references, and path MTU configuration properties.
565
+ """
566
+ def __init__(self, parent: ARObject, short_name: str):
567
+ super().__init__(parent, short_name)
568
+
569
+ self.ethIpPropsRef = None # type: RefType
570
+ self.maximumTransmissionUnit = None # type: PositiveInteger
571
+ self.neighborCacheSize = None # type: PositiveInteger
572
+ self.networkEndpointRefs = [] # type: List[RefType] ## 4.3.1 Version
573
+ self.pathMtuEnabled = None # type: Boolean
574
+ self.pathMtuTimeout = None # type: TimeValue
575
+
576
+ def getEthIpPropsRef(self):
577
+ return self.ethIpPropsRef
578
+
579
+ def setEthIpPropsRef(self, value):
580
+ self.ethIpPropsRef = value
581
+ return self
582
+
583
+ def getMaximumTransmissionUnit(self):
584
+ return self.maximumTransmissionUnit
585
+
586
+ def setMaximumTransmissionUnit(self, value):
587
+ self.maximumTransmissionUnit = value
588
+ return self
589
+
590
+ def getNeighborCacheSize(self):
591
+ return self.neighborCacheSize
592
+
593
+ def setNeighborCacheSize(self, value):
594
+ self.neighborCacheSize = value
595
+ return self
596
+
597
+ def getNetworkEndpointRefs(self):
598
+ return self.networkEndpointRefs
599
+
600
+ def addNetworkEndpointRef(self, value):
601
+ if value is not None:
602
+ self.networkEndpointRefs.append(value)
603
+ return self
604
+
605
+ def getPathMtuEnabled(self):
606
+ return self.pathMtuEnabled
607
+
608
+ def setPathMtuEnabled(self, value):
609
+ self.pathMtuEnabled = value
610
+ return self
611
+
612
+ def getPathMtuTimeout(self):
613
+ return self.pathMtuTimeout
614
+
615
+ def setPathMtuTimeout(self, value):
616
+ self.pathMtuTimeout = value
617
+ return self
618
+
619
+
620
+ class RequestResponseDelay(ARObject):
621
+ """
622
+ Defines the delay constraints for request-response communication
623
+ patterns in service-oriented architectures, specifying minimum
624
+ and maximum acceptable response times.
625
+ """
626
+ def __init__(self):
627
+ super().__init__()
628
+
629
+ self.maxValue = None # type: TimeValue
630
+ self.minValue = None # type: TimeValue
631
+
632
+ def getMaxValue(self):
633
+ return self.maxValue
634
+
635
+ def setMaxValue(self, value):
636
+ if value is not None:
637
+ self.maxValue = value
638
+ return self
639
+
640
+ def getMinValue(self):
641
+ return self.minValue
642
+
643
+ def setMinValue(self, value):
644
+ if value is not None:
645
+ self.minValue = value
646
+ return self
647
+
648
+
649
+ class InitialSdDelayConfig(ARObject):
650
+ """
651
+ Configures the initial delay parameters for Service Discovery (SD)
652
+ communication, defining minimum and maximum delay values and
653
+ repetition timing for service announcements and requests.
654
+ """
655
+ def __init__(self):
656
+ super().__init__()
657
+
658
+ self.initialDelayMaxValue = None # type: TimeValue
659
+ self.initialDelayMinValue = None # type: TimeValue
660
+ self.initialRepetitionsBaseDelay = None # type: TimeValue
661
+ self.initialRepetitionsMax = None # type: PositiveInteger
662
+
663
+ def getInitialDelayMaxValue(self):
664
+ return self.initialDelayMaxValue
665
+
666
+ def setInitialDelayMaxValue(self, value):
667
+ if value is not None:
668
+ self.initialDelayMaxValue = value
669
+ return self
670
+
671
+ def getInitialDelayMinValue(self):
672
+ return self.initialDelayMinValue
673
+
674
+ def setInitialDelayMinValue(self, value):
675
+ if value is not None:
676
+ self.initialDelayMinValue = value
677
+ return self
678
+
679
+ def getInitialRepetitionsBaseDelay(self):
680
+ return self.initialRepetitionsBaseDelay
681
+
682
+ def setInitialRepetitionsBaseDelay(self, value):
683
+ if value is not None:
684
+ self.initialRepetitionsBaseDelay = value
685
+ return self
686
+
687
+ def getInitialRepetitionsMax(self):
688
+ return self.initialRepetitionsMax
689
+
690
+ def setInitialRepetitionsMax(self, value):
691
+ if value is not None:
692
+ self.initialRepetitionsMax = value
693
+ return self
694
+
695
+
696
+ class SdClientConfig(ARObject):
697
+ """
698
+ Configures Service Discovery (SD) client properties, including
699
+ service version requirements, delay configurations, and TTL settings
700
+ for service discovery communication in the network.
701
+ """
702
+ def __init__(self):
703
+ super().__init__()
704
+
705
+ self.capabilityRecord = None # type: TagWithOptionalValue
706
+ self.clientServiceMajorVersion = None # type: PositiveInteger
707
+ self.clientServiceMinorVersion = None # type: PositiveInteger
708
+ self.initialFindBehavior = None # type: InitialSdDelayConfig
709
+ self.requestResponseDelay = None # type: RequestResponseDelay
710
+ self.ttl = None # type: PositiveInteger
711
+
712
+ def getClientServiceMajorVersion(self):
713
+ return self.clientServiceMajorVersion
714
+
715
+ def setClientServiceMajorVersion(self, value):
716
+ if value is not None:
717
+ self.clientServiceMajorVersion = value
718
+ return self
719
+
720
+ def getClientServiceMinorVersion(self):
721
+ return self.clientServiceMinorVersion
722
+
723
+ def setClientServiceMinorVersion(self, value):
724
+ if value is not None:
725
+ self.clientServiceMinorVersion = value
726
+ return self
727
+
728
+ def getInitialFindBehavior(self):
729
+ return self.initialFindBehavior
730
+
731
+ def setInitialFindBehavior(self, value):
732
+ if value is not None:
733
+ self.initialFindBehavior = value
734
+ return self
735
+
736
+ def getRequestResponseDelay(self):
737
+ return self.requestResponseDelay
738
+
739
+ def setRequestResponseDelay(self, value):
740
+ if value is not None:
741
+ self.requestResponseDelay = value
742
+ return self
743
+
744
+ def getTtl(self):
745
+ return self.ttl
746
+
747
+ def setTtl(self, value):
748
+ if value is not None:
749
+ self.ttl = value
750
+ return self