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,975 +1,924 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, String, TimeValue
5
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
6
- from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import RequestResponseDelay
8
- from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
9
-
10
- class TransportProtocolConfiguration(ARObject, metaclass = ABCMeta):
11
- def __init__(self):
12
- if type(self) == TransportProtocolConfiguration:
13
- raise NotImplementedError("TransportProtocolConfiguration is an abstract class.")
14
-
15
- super().__init__()
16
-
17
- class GenericTp(TransportProtocolConfiguration):
18
- def __init__(self):
19
- super().__init__()
20
-
21
- self.tpAddress = None # type: String
22
- self.tpTechnology = None # type: String
23
-
24
- def getTpAddress(self):
25
- return self.tpAddress
26
-
27
- def setTpAddress(self, value):
28
- self.tpAddress = value
29
- return self
30
-
31
- def getTpTechnology(self):
32
- return self.tpTechnology
33
-
34
- def setTpTechnology(self, value):
35
- self.tpTechnology = value
36
- return self
37
-
38
-
39
- class TcpUdpConfig(TransportProtocolConfiguration, metaclass = ABCMeta):
40
- def __init__(self):
41
- if type(self) == TcpUdpConfig:
42
- raise NotImplementedError("TcpUdpConfig is an abstract class.")
43
-
44
- super().__init__()
45
-
46
- class TpPort(ARObject):
47
- def __init__(self):
48
- super().__init__()
49
-
50
- self.dynamicallyAssigned = None # type: Boolean
51
- self.portNumber = None # type: PositiveInteger
52
-
53
- def getDynamicallyAssigned(self):
54
- return self.dynamicallyAssigned
55
-
56
- def setDynamicallyAssigned(self, value):
57
- self.dynamicallyAssigned = value
58
- return self
59
-
60
- def getPortNumber(self):
61
- return self.portNumber
62
-
63
- def setPortNumber(self, value):
64
- self.portNumber = value
65
- return self
66
-
67
-
68
- class UdpTp(TcpUdpConfig):
69
- def __init__(self):
70
- super().__init__()
71
-
72
- self.udpTpPort = None # type: TpPort
73
-
74
- def getUdpTpPort(self):
75
- return self.udpTpPort
76
-
77
- def setUdpTpPort(self, value):
78
- self.udpTpPort = value
79
- return self
80
-
81
-
82
- class TcpTp(TcpUdpConfig):
83
- def __init__(self):
84
- super().__init__()
85
-
86
- self.keepAliveInterval = None # type: TimeValue
87
- self.keepAliveProbesMax = None # type: PositiveInteger
88
- self.keepAlives = None # type: Boolean
89
- self.keepAliveTime = None # type: TimeValue
90
- self.naglesAlgorithm = None # type: Boolean
91
- self.receiveWindowMin = None # type: PositiveInteger
92
- self.tcpRetransmissionTimeout = None # type: TimeValue
93
- self.tcpTpPort = None # type: TpPort
94
-
95
- def getKeepAliveInterval(self):
96
- return self.keepAliveInterval
97
-
98
- def setKeepAliveInterval(self, value):
99
- self.keepAliveInterval = value
100
- return self
101
-
102
- def getKeepAliveProbesMax(self):
103
- return self.keepAliveProbesMax
104
-
105
- def setKeepAliveProbesMax(self, value):
106
- self.keepAliveProbesMax = value
107
- return self
108
-
109
- def getKeepAlives(self):
110
- return self.keepAlives
111
-
112
- def setKeepAlives(self, value):
113
- self.keepAlives = value
114
- return self
115
-
116
- def getKeepAliveTime(self):
117
- return self.keepAliveTime
118
-
119
- def setKeepAliveTime(self, value):
120
- self.keepAliveTime = value
121
- return self
122
-
123
- def getNaglesAlgorithm(self):
124
- return self.naglesAlgorithm
125
-
126
- def setNaglesAlgorithm(self, value):
127
- self.naglesAlgorithm = value
128
- return self
129
-
130
- def getReceiveWindowMin(self):
131
- return self.receiveWindowMin
132
-
133
- def setReceiveWindowMin(self, value):
134
- self.receiveWindowMin = value
135
- return self
136
-
137
- def getTcpRetransmissionTimeout(self):
138
- return self.tcpRetransmissionTimeout
139
-
140
- def setTcpRetransmissionTimeout(self, value):
141
- self.tcpRetransmissionTimeout = value
142
- return self
143
-
144
- def getTcpTpPort(self):
145
- return self.tcpTpPort
146
-
147
- def setTcpTpPort(self, value):
148
- self.tcpTpPort = value
149
- return self
150
-
151
- class AbstractServiceInstance(Identifiable, metaclass = ABCMeta):
152
- def __init__(self, parent: ARObject, short_name: str):
153
- if type(self) == AbstractServiceInstance:
154
- raise NotImplementedError("AbstractServiceInstance is an abstract class.")
155
-
156
- super().__init__(parent, short_name)
157
-
158
- # type: List[TagWithOptionalValue]
159
- self.capabilityRecords = []
160
- self.majorVersion = None # type: PositiveInteger
161
- # type: PduActivationRoutingGroup
162
- self.methodActivationRoutingGroup = None
163
- self.routingGroupRefs = [] # type: List[RefType]
164
-
165
- def getCapabilityRecords(self):
166
- return self.capabilityRecords
167
-
168
- def addCapabilityRecord(self, value):
169
- if value is not None:
170
- self.capabilityRecords.append(value)
171
- return self
172
-
173
- def getMajorVersion(self):
174
- return self.majorVersion
175
-
176
- def setMajorVersion(self, value):
177
- if value is not None:
178
- self.majorVersion = value
179
- return self
180
-
181
- def getMethodActivationRoutingGroup(self):
182
- return self.methodActivationRoutingGroup
183
-
184
- def setMethodActivationRoutingGroup(self, value):
185
- if value is not None:
186
- self.methodActivationRoutingGroup = value
187
- return self
188
-
189
- def getRoutingGroupRefs(self):
190
- return self.routingGroupRefs
191
-
192
- def addRoutingGroupRef(self, value):
193
- if value is not None:
194
- self.routingGroupRefs.append(value)
195
- return self
196
-
197
- class ConsumedEventGroup(Identifiable):
198
- def __init__(self, parent, short_name):
199
- super().__init__(parent, short_name)
200
-
201
- self.applicationEndpointRef = None # type: RefType
202
- self.autoRequire = None # type: Boolean
203
- self.eventGroupIdentifier = None # type: PositiveInteger
204
- self.eventMulticastAddressRefs = [] # type: List[RefType]
205
- self.pduActivationRoutingGroups = [] # type: List[PduActivationRoutingGroup]
206
- self.priority = None # type: PositiveInteger
207
- self.routingGroupRefs = [] # type: List[RefType]
208
- self.sdClientConfig = None # type: SdClientConfig
209
- self.sdClientTimerConfigRef = None # type: RefType
210
-
211
- def getApplicationEndpointRef(self):
212
- return self.applicationEndpointRef
213
-
214
- def setApplicationEndpointRef(self, value):
215
- if value is not None:
216
- self.applicationEndpointRef = value
217
- return self
218
-
219
- def getAutoRequire(self):
220
- return self.autoRequire
221
-
222
- def setAutoRequire(self, value):
223
- if value is not None:
224
- self.autoRequire = value
225
- return self
226
-
227
- def getEventGroupIdentifier(self):
228
- return self.eventGroupIdentifier
229
-
230
- def setEventGroupIdentifier(self, value):
231
- if value is not None:
232
- self.eventGroupIdentifier = value
233
- return self
234
-
235
- def getEventMulticastAddressRefs(self):
236
- return self.eventMulticastAddressRefs
237
-
238
- def addEventMulticastAddressRef(self, value):
239
- if value is not None:
240
- self.eventMulticastAddressRefs.append(value)
241
- return self
242
-
243
- def getPduActivationRoutingGroups(self):
244
- return self.pduActivationRoutingGroups
245
-
246
- def setPduActivationRoutingGroups(self, value):
247
- if value is not None:
248
- self.pduActivationRoutingGroups = value
249
- return self
250
-
251
- def getPriority(self):
252
- return self.priority
253
-
254
- def setPriority(self, value):
255
- if value is not None:
256
- self.priority = value
257
- return self
258
-
259
- def getRoutingGroupRefs(self):
260
- return self.routingGroupRefs
261
-
262
- def addRoutingGroupRef(self, value):
263
- if value is not None:
264
- self.routingGroupRefs.append(value)
265
- return self
266
-
267
- def getSdClientConfig(self):
268
- return self.sdClientConfig
269
-
270
- def setSdClientConfig(self, value):
271
- if value is not None:
272
- self.sdClientConfig = value
273
- return self
274
-
275
- def getSdClientTimerConfigRef(self):
276
- return self.sdClientTimerConfigRef
277
-
278
- def setSdClientTimerConfigRef(self, value):
279
- if value is not None:
280
- self.sdClientTimerConfigRef = value
281
- return self
282
-
283
-
284
- class ConsumedServiceInstance(AbstractServiceInstance):
285
- def __init__(self, parent: ARObject, short_name: str):
286
- super().__init__(parent, short_name)
287
-
288
- self.allowedServiceProviderRefs = [] # type: List[RefType]
289
- self.autoRequire = None # type: Boolean
290
- self.blocklistedVersions = [] # type: List[SomeipServiceVersion]
291
- self.consumedEventGroups = [] # type: List[ConsumedEventGroup]
292
- self.eventMulticastSubscriptionAddressRef = None # type: RefType
293
- self.instanceIdentifier = None # type: AnyServiceInstanceId
294
- self.localUnicastAddressRefs = [] # type: List[RefType]
295
- self.minorVersion = None # type: AnyVersionString
296
- self.providedServiceInstanceRef = None # type: RefType
297
- self.remoteUnicastAddressRefs = [] # type: List[RefType]
298
- self.sdClientConfig = None # type: SdClientConfig
299
- self.sdClientTimerConfigRef = None # type: RefType
300
- self.serviceIdentifier = None # type: PositiveInteger
301
- self.versionDrivenFindBehavior = None # type: ServiceVersionAcceptanceKindEnum
302
-
303
- def getAllowedServiceProviderRefs(self):
304
- return self.allowedServiceProviderRefs
305
-
306
- def setAllowedServiceProviderRefs(self, value):
307
- if value is not None:
308
- self.allowedServiceProviderRefs = value
309
- return self
310
-
311
- def getAutoRequire(self):
312
- return self.autoRequire
313
-
314
- def setAutoRequire(self, value):
315
- if value is not None:
316
- self.autoRequire = value
317
- return self
318
-
319
- def getBlocklistedVersions(self):
320
- return self.blocklistedVersions
321
-
322
- def setBlocklistedVersions(self, value):
323
- if value is not None:
324
- self.blocklistedVersions = value
325
- return self
326
-
327
- def getConsumedEventGroups(self):
328
- return self.consumedEventGroups
329
-
330
- def createConsumedEventGroup(self, short_name: str) -> ConsumedEventGroup:
331
- if short_name not in self.elements:
332
- group = ConsumedEventGroup(self, short_name)
333
- self.addElement(group)
334
- self.consumedEventGroups.append(group)
335
- return self.getElement(short_name)
336
-
337
- def getEventMulticastSubscriptionAddressRef(self):
338
- return self.eventMulticastSubscriptionAddressRef
339
-
340
- def setEventMulticastSubscriptionAddressRef(self, value):
341
- if value is not None:
342
- self.eventMulticastSubscriptionAddressRef = value
343
- return self
344
-
345
- def getInstanceIdentifier(self):
346
- return self.instanceIdentifier
347
-
348
- def setInstanceIdentifier(self, value):
349
- if value is not None:
350
- self.instanceIdentifier = value
351
- return self
352
-
353
- def getLocalUnicastAddressRefs(self):
354
- return self.localUnicastAddressRefs
355
-
356
- def setLocalUnicastAddressRefs(self, value):
357
- if value is not None:
358
- self.localUnicastAddressRefs = value
359
- return self
360
-
361
- def getMinorVersion(self):
362
- return self.minorVersion
363
-
364
- def setMinorVersion(self, value):
365
- if value is not None:
366
- self.minorVersion = value
367
- return self
368
-
369
- def getProvidedServiceInstanceRef(self):
370
- return self.providedServiceInstanceRef
371
-
372
- def setProvidedServiceInstanceRef(self, value):
373
- if value is not None:
374
- self.providedServiceInstanceRef = value
375
- return self
376
-
377
- def getRemoteUnicastAddressRefs(self):
378
- return self.remoteUnicastAddressRefs
379
-
380
- def setRemoteUnicastAddressRefs(self, value):
381
- if value is not None:
382
- self.remoteUnicastAddressRefs = value
383
- return self
384
-
385
- def getSdClientConfig(self):
386
- return self.sdClientConfig
387
-
388
- def setSdClientConfig(self, value):
389
- if value is not None:
390
- self.sdClientConfig = value
391
- return self
392
-
393
- def getSdClientTimerConfigRef(self):
394
- return self.sdClientTimerConfigRef
395
-
396
- def setSdClientTimerConfigRef(self, value):
397
- if value is not None:
398
- self.sdClientTimerConfigRef = value
399
- return self
400
-
401
- def getServiceIdentifier(self):
402
- return self.serviceIdentifier
403
-
404
- def setServiceIdentifier(self, value):
405
- if value is not None:
406
- self.serviceIdentifier = value
407
- return self
408
-
409
- def getVersionDrivenFindBehavior(self):
410
- return self.versionDrivenFindBehavior
411
-
412
- def setVersionDrivenFindBehavior(self, value):
413
- if value is not None:
414
- self.versionDrivenFindBehavior = value
415
- return self
416
-
417
- class InitialSdDelayConfig(ARObject):
418
- def __init__(self):
419
- super().__init__()
420
-
421
- self.initialDelayMaxValue = None # type: TimeValue
422
- self.initialDelayMinValue = None # type: TimeValue
423
- self.initialRepetitionsBaseDelay = None # type: TimeValue
424
- self.initialRepetitionsMax = None # type: PositiveInteger
425
-
426
- def getInitialDelayMaxValue(self):
427
- return self.initialDelayMaxValue
428
-
429
- def setInitialDelayMaxValue(self, value):
430
- if value is not None:
431
- self.initialDelayMaxValue = value
432
- return self
433
-
434
- def getInitialDelayMinValue(self):
435
- return self.initialDelayMinValue
436
-
437
- def setInitialDelayMinValue(self, value):
438
- if value is not None:
439
- self.initialDelayMinValue = value
440
- return self
441
-
442
- def getInitialRepetitionsBaseDelay(self):
443
- return self.initialRepetitionsBaseDelay
444
-
445
- def setInitialRepetitionsBaseDelay(self, value):
446
- if value is not None:
447
- self.initialRepetitionsBaseDelay = value
448
- return self
449
-
450
- def getInitialRepetitionsMax(self):
451
- return self.initialRepetitionsMax
452
-
453
- def setInitialRepetitionsMax(self, value):
454
- if value is not None:
455
- self.initialRepetitionsMax = value
456
- return self
457
-
458
-
459
- class SdServerConfig(ARObject):
460
- def __init__(self):
461
- super().__init__()
462
-
463
- self.capabilityRecords = [] # type:List[TagWithOptionalValue]
464
- self.initialOfferBehavior = None # type: InitialSdDelayConfig
465
- self.offerCyclicDelay = None # type: TimeValue
466
- self.requestResponseDelay = None # type: RequestResponseDelay
467
- self.serverServiceMajorVersion = None # type: PositiveInteger
468
- self.serverServiceMinorVersion = None # type: PositiveInteger
469
- self.ttl = None # type: PositiveInteger
470
-
471
- def getCapabilityRecords(self):
472
- return self.capabilityRecords
473
-
474
- def setCapabilityRecords(self, value):
475
- if value is not None:
476
- self.capabilityRecords = value
477
- return self
478
-
479
- def getInitialOfferBehavior(self):
480
- return self.initialOfferBehavior
481
-
482
- def setInitialOfferBehavior(self, value):
483
- if value is not None:
484
- self.initialOfferBehavior = value
485
- return self
486
-
487
- def getOfferCyclicDelay(self):
488
- return self.offerCyclicDelay
489
-
490
- def setOfferCyclicDelay(self, value):
491
- if value is not None:
492
- self.offerCyclicDelay = value
493
- return self
494
-
495
- def getRequestResponseDelay(self):
496
- return self.requestResponseDelay
497
-
498
- def setRequestResponseDelay(self, value):
499
- if value is not None:
500
- self.requestResponseDelay = value
501
- return self
502
-
503
- def getServerServiceMajorVersion(self):
504
- return self.serverServiceMajorVersion
505
-
506
- def setServerServiceMajorVersion(self, value):
507
- if value is not None:
508
- self.serverServiceMajorVersion = value
509
- return self
510
-
511
- def getServerServiceMinorVersion(self):
512
- return self.serverServiceMinorVersion
513
-
514
- def setServerServiceMinorVersion(self, value):
515
- if value is not None:
516
- self.serverServiceMinorVersion = value
517
- return self
518
-
519
- def getTtl(self):
520
- return self.ttl
521
-
522
- def setTtl(self, value):
523
- if value is not None:
524
- self.ttl = value
525
- return self
526
-
527
-
528
- class EventHandler(Identifiable):
529
- def __init__(self, parent: ARObject, short_name: str):
530
- super().__init__(parent, short_name)
531
-
532
- self.applicationEndpointRef = None # type: RefType
533
- self.consumedEventGroupRefs = [] # type: List[RefType]
534
- self.multicastThreshold = None # type: PositiveInteger
535
- self.routingGroupRefs = [] # type: List[RefType]
536
- self.sdServerConfig = None # type: SdServerConfig
537
-
538
- def getApplicationEndpointRef(self):
539
- return self.applicationEndpointRef
540
-
541
- def setApplicationEndpointRef(self, value):
542
- if value is not None:
543
- self.applicationEndpointRef = value
544
- return self
545
-
546
- def getConsumedEventGroupRefs(self):
547
- return self.consumedEventGroupRefs
548
-
549
- def addConsumedEventGroupRef(self, value):
550
- if value is not None:
551
- self.consumedEventGroupRefs.append(value)
552
- return self
553
-
554
- def getMulticastThreshold(self):
555
- return self.multicastThreshold
556
-
557
- def setMulticastThreshold(self, value):
558
- if value is not None:
559
- self.multicastThreshold = value
560
- return self
561
-
562
- def getRoutingGroupRefs(self):
563
- return self.routingGroupRefs
564
-
565
- def addRoutingGroupRef(self, value):
566
- if value is not None:
567
- self.routingGroupRefs.append(value)
568
- return self
569
-
570
- def getSdServerConfig(self):
571
- return self.sdServerConfig
572
-
573
- def setSdServerConfig(self, value):
574
- if value is not None:
575
- self.sdServerConfig = value
576
- return self
577
-
578
-
579
- class ProvidedServiceInstance(AbstractServiceInstance):
580
- def __init__(self, parent: ARObject, short_name: str):
581
- super().__init__(parent, short_name)
582
-
583
- self.eventHandlers = [] # type: List[EventHandler]
584
- self.instanceIdentifier = None # type: PositiveInteger
585
- self.priority = None # type: PositiveInteger
586
- self.sdServerConfig = None # type:SdServerConfig
587
- self.serviceIdentifier = None # type: PositiveInteger
588
-
589
- def getEventHandlers(self):
590
- return self.eventHandlers
591
-
592
- def createEventHandler(self, short_name:str) -> EventHandler:
593
- if short_name not in self.elements:
594
- instance = EventHandler(self, short_name)
595
- self.addElement(instance)
596
- self.eventHandlers.append(instance)
597
- return self.getElement(short_name)
598
-
599
- def getInstanceIdentifier(self):
600
- return self.instanceIdentifier
601
-
602
- def setInstanceIdentifier(self, value):
603
- if value is not None:
604
- self.instanceIdentifier = value
605
- return self
606
-
607
- def getPriority(self):
608
- return self.priority
609
-
610
- def setPriority(self, value):
611
- if value is not None:
612
- self.priority = value
613
- return self
614
-
615
- def getSdServerConfig(self):
616
- return self.sdServerConfig
617
-
618
- def setSdServerConfig(self, value):
619
- if value is not None:
620
- self.sdServerConfig = value
621
- return self
622
-
623
- def getServiceIdentifier(self):
624
- return self.serviceIdentifier
625
-
626
- def setServiceIdentifier(self, value):
627
- if value is not None:
628
- self.serviceIdentifier = value
629
- return self
630
-
631
-
632
- class ApplicationEndpoint(Identifiable):
633
- def __init__(self, parent: ARObject, short_name: str):
634
- super().__init__(parent, short_name)
635
-
636
- self.consumedServiceInstances = [] # type: List[ConsumedServiceInstance]
637
- self.maxNumberOfConnections = None # type: PositiveInteger
638
- self.networkEndpointRef = None # type: RefType
639
- self.priority = None # type: PositiveInteger
640
- self.providedServiceInstances = [] # type: List[ProvidedServiceInstance]
641
- self.tlsCryptoMappingRef = None # type: RefType
642
- self.tpConfiguration = None # type: TransportProtocolConfiguration
643
-
644
- def getConsumedServiceInstances(self):
645
- return self.consumedServiceInstances
646
-
647
- def createConsumedServiceInstance(self, short_name:str) -> ConsumedServiceInstance:
648
- if short_name not in self.elements:
649
- instance = ConsumedServiceInstance(self, short_name)
650
- self.addElement(instance)
651
- self.consumedServiceInstances.append(instance)
652
- return self.getElement(short_name)
653
-
654
- def getMaxNumberOfConnections(self):
655
- return self.maxNumberOfConnections
656
-
657
- def setMaxNumberOfConnections(self, value):
658
- self.maxNumberOfConnections = value
659
- return self
660
-
661
- def getNetworkEndpointRef(self):
662
- return self.networkEndpointRef
663
-
664
- def setNetworkEndpointRef(self, value):
665
- self.networkEndpointRef = value
666
- return self
667
-
668
- def getPriority(self):
669
- return self.priority
670
-
671
- def setPriority(self, value):
672
- self.priority = value
673
- return self
674
-
675
- def getProvidedServiceInstances(self):
676
- return self.providedServiceInstances
677
-
678
- def createProvidedServiceInstance(self, short_name:str) -> ProvidedServiceInstance:
679
- if short_name not in self.elements:
680
- instance = ProvidedServiceInstance(self, short_name)
681
- self.addElement(instance)
682
- self.providedServiceInstances.append(instance)
683
- return self.getElement(short_name)
684
-
685
- def getTlsCryptoMappingRef(self):
686
- return self.tlsCryptoMappingRef
687
-
688
- def setTlsCryptoMappingRef(self, value):
689
- self.tlsCryptoMappingRef = value
690
- return self
691
-
692
- def getTpConfiguration(self):
693
- return self.tpConfiguration
694
-
695
- def setTpConfiguration(self, value):
696
- self.tpConfiguration = value
697
- return self
698
-
699
- class SocketAddress(Identifiable):
700
- def __init__(self, parent: ARObject, short_name: str):
701
- super().__init__(parent, short_name)
702
-
703
- self.allowedIPv6ExtHeadersRef = None # type: RefType
704
- self.allowedTcpOptionsRef = None # type: RefType
705
- self.applicationEndpoint = None # type: ApplicationEndpoint
706
- self.connectorRef = None # type: RefType
707
- self.differentiatedServiceField = None # type: PositiveInteger
708
- self.flowLabel = None # type: PositiveInteger
709
- self.multicastConnectorRefs = [] # type: List[RefType]
710
- self.pathMtuDiscoveryEnabled = None # type: Boolean
711
- self.pduCollectionMaxBufferSize = None # type: PositiveInteger
712
- self.pduCollectionTimeout = None # type: TimeValue
713
- self.portAddress = None # type: PositiveInteger
714
- self.staticSocketConnections = [] # type: List[StaticSocketConnection]
715
- self.udpChecksumHandling = None # type: UdpChecksumCalculationEnum
716
-
717
- def getAllowedIPv6ExtHeadersRef(self):
718
- return self.allowedIPv6ExtHeadersRef
719
-
720
- def setAllowedIPv6ExtHeadersRef(self, value):
721
- self.allowedIPv6ExtHeadersRef = value
722
- return self
723
-
724
- def getAllowedTcpOptionsRef(self):
725
- return self.allowedTcpOptionsRef
726
-
727
- def setAllowedTcpOptionsRef(self, value):
728
- self.allowedTcpOptionsRef = value
729
- return self
730
-
731
- def getApplicationEndpoint(self):
732
- return self.applicationEndpoint
733
-
734
- def createApplicationEndpoint(self, short_name:str) -> ApplicationEndpoint:
735
- end_point = ApplicationEndpoint(self, short_name)
736
- self.applicationEndpoint = end_point
737
- return end_point
738
-
739
- def getConnectorRef(self):
740
- return self.connectorRef
741
-
742
- def setConnectorRef(self, value):
743
- self.connectorRef = value
744
- return self
745
-
746
- def getDifferentiatedServiceField(self):
747
- return self.differentiatedServiceField
748
-
749
- def setDifferentiatedServiceField(self, value):
750
- self.differentiatedServiceField = value
751
- return self
752
-
753
- def getFlowLabel(self):
754
- return self.flowLabel
755
-
756
- def setFlowLabel(self, value):
757
- self.flowLabel = value
758
- return self
759
-
760
- def getMulticastConnectorRefs(self):
761
- return self.multicastConnectorRefs
762
-
763
- def addMulticastConnectorRef(self, value):
764
- self.multicastConnectorRefs.append(value)
765
- return self
766
-
767
- def getPathMtuDiscoveryEnabled(self):
768
- return self.pathMtuDiscoveryEnabled
769
-
770
- def setPathMtuDiscoveryEnabled(self, value):
771
- self.pathMtuDiscoveryEnabled = value
772
- return self
773
-
774
- def getPduCollectionMaxBufferSize(self):
775
- return self.pduCollectionMaxBufferSize
776
-
777
- def setPduCollectionMaxBufferSize(self, value):
778
- self.pduCollectionMaxBufferSize = value
779
- return self
780
-
781
- def getPduCollectionTimeout(self):
782
- return self.pduCollectionTimeout
783
-
784
- def setPduCollectionTimeout(self, value):
785
- self.pduCollectionTimeout = value
786
- return self
787
-
788
- def getPortAddress(self):
789
- return self.portAddress
790
-
791
- def setPortAddress(self, value):
792
- self.portAddress = value
793
- return self
794
-
795
- def getStaticSocketConnections(self):
796
- return self.staticSocketConnections
797
-
798
- def addStaticSocketConnection(self, value):
799
- self.staticSocketConnections.append(value)
800
- return self
801
-
802
- def getUdpChecksumHandling(self):
803
- return self.udpChecksumHandling
804
-
805
- def setUdpChecksumHandling(self, value):
806
- self.udpChecksumHandling = value
807
- return self
808
-
809
- class SoAdConfig(ARObject):
810
- def __init__(self):
811
- super().__init__()
812
-
813
- self.connections = [] # type: List[SocketConnection]
814
- self.connectionBundles = [] # type: List[SocketConnectionBundle]
815
- self.socketAddresses = [] # type: List[SocketAddress]
816
-
817
- def getConnections(self):
818
- return self.connections
819
-
820
- def setConnections(self, value):
821
- self.connections = value
822
- return self
823
-
824
- def getConnectionBundles(self):
825
- return self.connectionBundles
826
-
827
- def createSocketConnectionBundle(self, short_name:str) -> SocketConnectionBundle:
828
- bundle = SocketConnectionBundle(self, short_name)
829
- self.connectionBundles.append(bundle)
830
- return bundle
831
-
832
- def setConnectionBundles(self, value):
833
- self.connectionBundles = value
834
- return self
835
-
836
- def getSocketAddresses(self):
837
- return self.socketAddresses
838
-
839
- def createSocketAddress(self, short_name:str) -> SocketAddress:
840
- address = SocketAddress(self, short_name)
841
- self.socketAddresses.append(address)
842
- return address
843
-
844
- class ProvidedServiceInstance(AbstractServiceInstance):
845
- def __init__(self, parent: ARObject, short_name: str):
846
- super().__init__(parent, short_name)
847
-
848
- self.allowedServiceConsumerRefs = [] # type: List[RefType]
849
- self.ProvidedServiceInstance = None # type: Boolean
850
- self.eventHandlers = [] # type: List[EventHandler]
851
- self.instanceIdentifier = None # type: PositiveInteger
852
- self.loadBalancingPriority = None # type: PositiveInteger
853
- self.loadBalancingWeight = None # type: PositiveInteger
854
- self.localUnicastAddressRefs = [] # type: List[RefType]
855
- self.minorVersion = None # type: PositiveInteger
856
- self.priority = None # type: PositiveInteger
857
- self.remoteMulticastSubscriptionAddressRefs = [] # type: List[RefType]
858
- self.remoteUnicastAddressRefs = [] # type: List[RefType]
859
- self.sdServerConfig = None # type: SdServerConfig
860
- self.sdServerTimerConfigRef = None # type: RefType
861
- self.serviceIdentifier = None # type: PositiveInteger
862
-
863
- def getAllowedServiceConsumerRefs(self):
864
- return self.allowedServiceConsumerRefs
865
-
866
- def setAllowedServiceConsumerRefs(self, value):
867
- if value is not None:
868
- self.allowedServiceConsumerRefs = value
869
- return self
870
-
871
- def getProvidedServiceInstance(self):
872
- return self.ProvidedServiceInstance
873
-
874
- def setProvidedServiceInstance(self, value):
875
- if value is not None:
876
- self.ProvidedServiceInstance = value
877
- return self
878
-
879
- def getEventHandlers(self):
880
- return self.eventHandlers
881
-
882
- def createEventHandler(self, short_name:str) -> EventHandler:
883
- if short_name not in self.elements:
884
- instance = EventHandler(self, short_name)
885
- self.addElement(instance)
886
- self.eventHandlers.append(instance)
887
- return self.getElement(short_name)
888
-
889
- def getInstanceIdentifier(self):
890
- return self.instanceIdentifier
891
-
892
- def setInstanceIdentifier(self, value):
893
- if value is not None:
894
- self.instanceIdentifier = value
895
- return self
896
-
897
- def getLoadBalancingPriority(self):
898
- return self.loadBalancingPriority
899
-
900
- def setLoadBalancingPriority(self, value):
901
- if value is not None:
902
- self.loadBalancingPriority = value
903
- return self
904
-
905
- def getLoadBalancingWeight(self):
906
- return self.loadBalancingWeight
907
-
908
- def setLoadBalancingWeight(self, value):
909
- if value is not None:
910
- self.loadBalancingWeight = value
911
- return self
912
-
913
- def getLocalUnicastAddressRefs(self):
914
- return self.localUnicastAddressRefs
915
-
916
- def setLocalUnicastAddressRefs(self, value):
917
- if value is not None:
918
- self.localUnicastAddressRefs = value
919
- return self
920
-
921
- def getMinorVersion(self):
922
- return self.minorVersion
923
-
924
- def setMinorVersion(self, value):
925
- if value is not None:
926
- self.minorVersion = value
927
- return self
928
-
929
- def getPriority(self):
930
- return self.priority
931
-
932
- def setPriority(self, value):
933
- if value is not None:
934
- self.priority = value
935
- return self
936
-
937
- def getRemoteMulticastSubscriptionAddressRefs(self):
938
- return self.remoteMulticastSubscriptionAddressRefs
939
-
940
- def setRemoteMulticastSubscriptionAddressRefs(self, value):
941
- if value is not None:
942
- self.remoteMulticastSubscriptionAddressRefs = value
943
- return self
944
-
945
- def getRemoteUnicastAddressRefs(self):
946
- return self.remoteUnicastAddressRefs
947
-
948
- def setRemoteUnicastAddressRefs(self, value):
949
- if value is not None:
950
- self.remoteUnicastAddressRefs = value
951
- return self
952
-
953
- def getSdServerConfig(self):
954
- return self.sdServerConfig
955
-
956
- def setSdServerConfig(self, value):
957
- if value is not None:
958
- self.sdServerConfig = value
959
- return self
960
-
961
- def getSdServerTimerConfigRef(self):
962
- return self.sdServerTimerConfigRef
963
-
964
- def setSdServerTimerConfigRef(self, value):
965
- if value is not None:
966
- self.sdServerTimerConfigRef = value
967
- return self
968
-
969
- def getServiceIdentifier(self):
970
- return self.serviceIdentifier
971
-
972
- def setServiceIdentifier(self, value):
973
- if value is not None:
974
- self.serviceIdentifier = value
975
- return self
1
+ # This module contains AUTOSAR System Template classes for service instances
2
+ # It defines consumed and provided service instances, application endpoints, and SOAD configurations
3
+
4
+ from abc import ABC
5
+ from typing import List
6
+
7
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, String, TimeValue
8
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
9
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
10
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import RequestResponseDelay
11
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
12
+
13
+ class TransportProtocolConfiguration(ARObject, ABC):
14
+ """
15
+ Abstract base class for transport protocol configurations,
16
+ defining the common properties and behavior for different
17
+ transport protocols (TCP, UDP, etc.) used in service-oriented
18
+ communication.
19
+ """
20
+ def __init__(self):
21
+ if type(self) == TransportProtocolConfiguration:
22
+ raise TypeError("TransportProtocolConfiguration is an abstract class.")
23
+
24
+ super().__init__()
25
+
26
+ class GenericTp(TransportProtocolConfiguration):
27
+ """
28
+ Defines generic transport protocol configuration properties,
29
+ including address and technology specifications for custom
30
+ transport protocol implementations.
31
+ """
32
+ def __init__(self):
33
+ super().__init__()
34
+
35
+ self.tpAddress: String = None
36
+ self.tpTechnology: String = None
37
+
38
+ def getTpAddress(self):
39
+ return self.tpAddress
40
+
41
+ def setTpAddress(self, value):
42
+ self.tpAddress = value
43
+ return self
44
+
45
+ def getTpTechnology(self):
46
+ return self.tpTechnology
47
+
48
+ def setTpTechnology(self, value):
49
+ self.tpTechnology = value
50
+ return self
51
+
52
+
53
+ class TcpUdpConfig(TransportProtocolConfiguration, ABC):
54
+ """
55
+ Abstract base class for TCP and UDP transport protocol configurations,
56
+ defining common properties for both connection-oriented and
57
+ connectionless transport protocols.
58
+ """
59
+ def __init__(self):
60
+ if type(self) == TcpUdpConfig:
61
+ raise TypeError("TcpUdpConfig is an abstract class.")
62
+
63
+ super().__init__()
64
+
65
+ class TpPort(ARObject):
66
+ """
67
+ Defines properties for a transport protocol port, including
68
+ port number and dynamic assignment capabilities for network
69
+ communication endpoints.
70
+ """
71
+ def __init__(self):
72
+ super().__init__()
73
+
74
+ self.dynamicallyAssigned: Boolean = None
75
+ self.portNumber: PositiveInteger = None
76
+
77
+ def getDynamicallyAssigned(self):
78
+ return self.dynamicallyAssigned
79
+
80
+ def setDynamicallyAssigned(self, value):
81
+ self.dynamicallyAssigned = value
82
+ return self
83
+
84
+ def getPortNumber(self):
85
+ return self.portNumber
86
+
87
+ def setPortNumber(self, value):
88
+ self.portNumber = value
89
+ return self
90
+
91
+
92
+ class UdpTp(TcpUdpConfig):
93
+ """
94
+ Defines UDP (User Datagram Protocol) transport protocol configuration,
95
+ specifying UDP-specific port configuration for unreliable but fast
96
+ datagram-based communication services.
97
+ """
98
+ def __init__(self):
99
+ super().__init__()
100
+
101
+ self.udpTpPort: TpPort = None
102
+
103
+ def getUdpTpPort(self):
104
+ return self.udpTpPort
105
+
106
+ def setUdpTpPort(self, value):
107
+ self.udpTpPort = value
108
+ return self
109
+
110
+
111
+ class TcpTp(TcpUdpConfig):
112
+ """
113
+ Defines TCP (Transmission Control Protocol) transport protocol configuration,
114
+ specifying TCP-specific properties such as keep-alive settings, retransmission
115
+ timeouts, and flow control parameters for reliable connection-oriented communication.
116
+ """
117
+ def __init__(self):
118
+ super().__init__()
119
+
120
+ self.keepAliveInterval: TimeValue = None
121
+ self.keepAliveProbesMax: PositiveInteger = None
122
+ self.keepAlives: Boolean = None
123
+ self.keepAliveTime: TimeValue = None
124
+ self.naglesAlgorithm: Boolean = None
125
+ self.receiveWindowMin: PositiveInteger = None
126
+ self.tcpRetransmissionTimeout: TimeValue = None
127
+ self.tcpTpPort: TpPort = None
128
+
129
+ def getKeepAliveInterval(self):
130
+ return self.keepAliveInterval
131
+
132
+ def setKeepAliveInterval(self, value):
133
+ self.keepAliveInterval = value
134
+ return self
135
+
136
+ def getKeepAliveProbesMax(self):
137
+ return self.keepAliveProbesMax
138
+
139
+ def setKeepAliveProbesMax(self, value):
140
+ self.keepAliveProbesMax = value
141
+ return self
142
+
143
+ def getKeepAlives(self):
144
+ return self.keepAlives
145
+
146
+ def setKeepAlives(self, value):
147
+ self.keepAlives = value
148
+ return self
149
+
150
+ def getKeepAliveTime(self):
151
+ return self.keepAliveTime
152
+
153
+ def setKeepAliveTime(self, value):
154
+ self.keepAliveTime = value
155
+ return self
156
+
157
+ def getNaglesAlgorithm(self):
158
+ return self.naglesAlgorithm
159
+
160
+ def setNaglesAlgorithm(self, value):
161
+ self.naglesAlgorithm = value
162
+ return self
163
+
164
+ def getReceiveWindowMin(self):
165
+ return self.receiveWindowMin
166
+
167
+ def setReceiveWindowMin(self, value):
168
+ self.receiveWindowMin = value
169
+ return self
170
+
171
+ def getTcpRetransmissionTimeout(self):
172
+ return self.tcpRetransmissionTimeout
173
+
174
+ def setTcpRetransmissionTimeout(self, value):
175
+ self.tcpRetransmissionTimeout = value
176
+ return self
177
+
178
+ def getTcpTpPort(self):
179
+ return self.tcpTpPort
180
+
181
+ def setTcpTpPort(self, value):
182
+ self.tcpTpPort = value
183
+ return self
184
+
185
+ class AbstractServiceInstance(Identifiable, ABC):
186
+ """
187
+ Abstract base class for service instances, defining common properties
188
+ for both consumed and provided services in the AUTOSAR service-oriented
189
+ architecture.
190
+ """
191
+ def __init__(self, parent: ARObject, short_name: str):
192
+ if type(self) == AbstractServiceInstance:
193
+ raise TypeError("AbstractServiceInstance is an abstract class.")
194
+
195
+ super().__init__(parent, short_name)
196
+
197
+ self.capabilityRecords: List = [] # type: List[TagWithOptionalValue]
198
+ self.majorVersion: PositiveInteger = None
199
+ self.methodActivationRoutingGroup = None # type: PduActivationRoutingGroup
200
+ self.routingGroupRefs: List[RefType] = [] # type: List[RefType]
201
+
202
+ def getCapabilityRecords(self):
203
+ return self.capabilityRecords
204
+
205
+ def addCapabilityRecord(self, value):
206
+ if value is not None:
207
+ self.capabilityRecords.append(value)
208
+ return self
209
+
210
+ def getMajorVersion(self):
211
+ return self.majorVersion
212
+
213
+ def setMajorVersion(self, value):
214
+ if value is not None:
215
+ self.majorVersion = value
216
+ return self
217
+
218
+ def getMethodActivationRoutingGroup(self):
219
+ return self.methodActivationRoutingGroup
220
+
221
+ def setMethodActivationRoutingGroup(self, value):
222
+ if value is not None:
223
+ self.methodActivationRoutingGroup = value
224
+ return self
225
+
226
+ def getRoutingGroupRefs(self):
227
+ return self.routingGroupRefs
228
+
229
+ def addRoutingGroupRef(self, value):
230
+ if value is not None:
231
+ self.routingGroupRefs.append(value)
232
+ return self
233
+
234
+ class ConsumedEventGroup(Identifiable):
235
+ """
236
+ Defines a consumed event group for service-oriented communication,
237
+ specifying how events are consumed by service clients including
238
+ application endpoint references and event group identifiers.
239
+ """
240
+ def __init__(self, parent, short_name):
241
+ super().__init__(parent, short_name)
242
+
243
+ self.applicationEndpointRef: RefType = None
244
+ self.autoRequire: Boolean = None
245
+ self.eventGroupIdentifier: PositiveInteger = None
246
+ self.eventMulticastAddressRefs: List[RefType] = []
247
+ self.pduActivationRoutingGroups: List = []
248
+ self.priority: PositiveInteger = None
249
+ self.routingGroupRefs: List[RefType] = []
250
+ self.sdClientConfig = None
251
+ self.sdClientTimerConfigRef: RefType = None
252
+
253
+ def getApplicationEndpointRef(self):
254
+ return self.applicationEndpointRef
255
+
256
+ def setApplicationEndpointRef(self, value):
257
+ if value is not None:
258
+ self.applicationEndpointRef = value
259
+ return self
260
+
261
+ def getAutoRequire(self):
262
+ return self.autoRequire
263
+
264
+ def setAutoRequire(self, value):
265
+ if value is not None:
266
+ self.autoRequire = value
267
+ return self
268
+
269
+ def getEventGroupIdentifier(self):
270
+ return self.eventGroupIdentifier
271
+
272
+ def setEventGroupIdentifier(self, value):
273
+ if value is not None:
274
+ self.eventGroupIdentifier = value
275
+ return self
276
+
277
+ def getEventMulticastAddressRefs(self):
278
+ return self.eventMulticastAddressRefs
279
+
280
+ def addEventMulticastAddressRef(self, value):
281
+ if value is not None:
282
+ self.eventMulticastAddressRefs.append(value)
283
+ return self
284
+
285
+ def getPduActivationRoutingGroups(self):
286
+ return self.pduActivationRoutingGroups
287
+
288
+ def setPduActivationRoutingGroups(self, value):
289
+ if value is not None:
290
+ self.pduActivationRoutingGroups = value
291
+ return self
292
+
293
+ def getPriority(self):
294
+ return self.priority
295
+
296
+ def setPriority(self, value):
297
+ if value is not None:
298
+ self.priority = value
299
+ return self
300
+
301
+ def getRoutingGroupRefs(self):
302
+ return self.routingGroupRefs
303
+
304
+ def addRoutingGroupRef(self, value):
305
+ if value is not None:
306
+ self.routingGroupRefs.append(value)
307
+ return self
308
+
309
+ def getSdClientConfig(self):
310
+ return self.sdClientConfig
311
+
312
+ def setSdClientConfig(self, value):
313
+ if value is not None:
314
+ self.sdClientConfig = value
315
+ return self
316
+
317
+ def getSdClientTimerConfigRef(self):
318
+ return self.sdClientTimerConfigRef
319
+
320
+ def setSdClientTimerConfigRef(self, value):
321
+ if value is not None:
322
+ self.sdClientTimerConfigRef = value
323
+ return self
324
+
325
+
326
+ class ConsumedServiceInstance(AbstractServiceInstance):
327
+ """
328
+ Represents a consumed service instance in the AUTOSAR service-oriented
329
+ architecture, defining how services are consumed by clients including
330
+ provider references, service identifiers, and client configuration.
331
+ """
332
+ def __init__(self, parent: ARObject, short_name: str):
333
+ super().__init__(parent, short_name)
334
+
335
+ self.allowedServiceProviderRefs: List[RefType] = []
336
+ self.autoRequire: Boolean = None
337
+ self.blocklistedVersions: List = []
338
+ self.consumedEventGroups: List[ConsumedEventGroup] = []
339
+ self.eventMulticastSubscriptionAddressRef: RefType = None
340
+ self.instanceIdentifier = None
341
+ self.localUnicastAddressRefs: List[RefType] = []
342
+ self.minorVersion = None
343
+ self.providedServiceInstanceRef: RefType = None
344
+ self.remoteUnicastAddressRefs: List[RefType] = []
345
+ self.sdClientConfig = None
346
+ self.sdClientTimerConfigRef: RefType = None
347
+ self.serviceIdentifier: PositiveInteger = None
348
+ self.versionDrivenFindBehavior = None
349
+
350
+ def getAllowedServiceProviderRefs(self):
351
+ return self.allowedServiceProviderRefs
352
+
353
+ def setAllowedServiceProviderRefs(self, value):
354
+ if value is not None:
355
+ self.allowedServiceProviderRefs = value
356
+ return self
357
+
358
+ def getAutoRequire(self):
359
+ return self.autoRequire
360
+
361
+ def setAutoRequire(self, value):
362
+ if value is not None:
363
+ self.autoRequire = value
364
+ return self
365
+
366
+ def getBlocklistedVersions(self):
367
+ return self.blocklistedVersions
368
+
369
+ def setBlocklistedVersions(self, value):
370
+ if value is not None:
371
+ self.blocklistedVersions = value
372
+ return self
373
+
374
+ def getConsumedEventGroups(self):
375
+ return self.consumedEventGroups
376
+
377
+ def createConsumedEventGroup(self, short_name: str) -> ConsumedEventGroup:
378
+ if short_name not in self.elements:
379
+ group = ConsumedEventGroup(self, short_name)
380
+ self.addElement(group)
381
+ self.consumedEventGroups.append(group)
382
+ return self.getElement(short_name)
383
+
384
+ def getEventMulticastSubscriptionAddressRef(self):
385
+ return self.eventMulticastSubscriptionAddressRef
386
+
387
+ def setEventMulticastSubscriptionAddressRef(self, value):
388
+ if value is not None:
389
+ self.eventMulticastSubscriptionAddressRef = value
390
+ return self
391
+
392
+ def getInstanceIdentifier(self):
393
+ return self.instanceIdentifier
394
+
395
+ def setInstanceIdentifier(self, value):
396
+ if value is not None:
397
+ self.instanceIdentifier = value
398
+ return self
399
+
400
+ def getLocalUnicastAddressRefs(self):
401
+ return self.localUnicastAddressRefs
402
+
403
+ def setLocalUnicastAddressRefs(self, value):
404
+ if value is not None:
405
+ self.localUnicastAddressRefs = value
406
+ return self
407
+
408
+ def getMinorVersion(self):
409
+ return self.minorVersion
410
+
411
+ def setMinorVersion(self, value):
412
+ if value is not None:
413
+ self.minorVersion = value
414
+ return self
415
+
416
+ def getProvidedServiceInstanceRef(self):
417
+ return self.providedServiceInstanceRef
418
+
419
+ def setProvidedServiceInstanceRef(self, value):
420
+ if value is not None:
421
+ self.providedServiceInstanceRef = value
422
+ return self
423
+
424
+ def getRemoteUnicastAddressRefs(self):
425
+ return self.remoteUnicastAddressRefs
426
+
427
+ def setRemoteUnicastAddressRefs(self, value):
428
+ if value is not None:
429
+ self.remoteUnicastAddressRefs = value
430
+ return self
431
+
432
+ def getSdClientConfig(self):
433
+ return self.sdClientConfig
434
+
435
+ def setSdClientConfig(self, value):
436
+ if value is not None:
437
+ self.sdClientConfig = value
438
+ return self
439
+
440
+ def getSdClientTimerConfigRef(self):
441
+ return self.sdClientTimerConfigRef
442
+
443
+ def setSdClientTimerConfigRef(self, value):
444
+ if value is not None:
445
+ self.sdClientTimerConfigRef = value
446
+ return self
447
+
448
+ def getServiceIdentifier(self):
449
+ return self.serviceIdentifier
450
+
451
+ def setServiceIdentifier(self, value):
452
+ if value is not None:
453
+ self.serviceIdentifier = value
454
+ return self
455
+
456
+ def getVersionDrivenFindBehavior(self):
457
+ return self.versionDrivenFindBehavior
458
+
459
+ def setVersionDrivenFindBehavior(self, value):
460
+ if value is not None:
461
+ self.versionDrivenFindBehavior = value
462
+ return self
463
+
464
+ class InitialSdDelayConfig(ARObject):
465
+ """
466
+ Configures initial delay parameters for Service Discovery (SD)
467
+ operations, defining the timing behavior for initial service
468
+ discovery attempts and repetitions.
469
+ """
470
+ def __init__(self):
471
+ super().__init__()
472
+
473
+ self.initialDelayMaxValue: TimeValue = None
474
+ self.initialDelayMinValue: TimeValue = None
475
+ self.initialRepetitionsBaseDelay: TimeValue = None
476
+ self.initialRepetitionsMax: PositiveInteger = None
477
+
478
+ def getInitialDelayMaxValue(self):
479
+ return self.initialDelayMaxValue
480
+
481
+ def setInitialDelayMaxValue(self, value):
482
+ if value is not None:
483
+ self.initialDelayMaxValue = value
484
+ return self
485
+
486
+ def getInitialDelayMinValue(self):
487
+ return self.initialDelayMinValue
488
+
489
+ def setInitialDelayMinValue(self, value):
490
+ if value is not None:
491
+ self.initialDelayMinValue = value
492
+ return self
493
+
494
+ def getInitialRepetitionsBaseDelay(self):
495
+ return self.initialRepetitionsBaseDelay
496
+
497
+ def setInitialRepetitionsBaseDelay(self, value):
498
+ if value is not None:
499
+ self.initialRepetitionsBaseDelay = value
500
+ return self
501
+
502
+ def getInitialRepetitionsMax(self):
503
+ return self.initialRepetitionsMax
504
+
505
+ def setInitialRepetitionsMax(self, value):
506
+ if value is not None:
507
+ self.initialRepetitionsMax = value
508
+ return self
509
+
510
+
511
+ class SdServerConfig(ARObject):
512
+ """
513
+ Configures Service Discovery (SD) server properties, specifying
514
+ service advertisement behavior, timing parameters, and version
515
+ information for service providers in the network.
516
+ """
517
+ def __init__(self):
518
+ super().__init__()
519
+
520
+ self.capabilityRecords: List = [] # type: List[TagWithOptionalValue]
521
+ self.initialOfferBehavior: InitialSdDelayConfig = None
522
+ self.offerCyclicDelay: TimeValue = None
523
+ self.requestResponseDelay: RequestResponseDelay = None
524
+ self.serverServiceMajorVersion: PositiveInteger = None
525
+ self.serverServiceMinorVersion: PositiveInteger = None
526
+ self.ttl: PositiveInteger = None
527
+
528
+ def getCapabilityRecords(self):
529
+ return self.capabilityRecords
530
+
531
+ def setCapabilityRecords(self, value):
532
+ if value is not None:
533
+ self.capabilityRecords = value
534
+ return self
535
+
536
+ def getInitialOfferBehavior(self):
537
+ return self.initialOfferBehavior
538
+
539
+ def setInitialOfferBehavior(self, value):
540
+ if value is not None:
541
+ self.initialOfferBehavior = value
542
+ return self
543
+
544
+ def getOfferCyclicDelay(self):
545
+ return self.offerCyclicDelay
546
+
547
+ def setOfferCyclicDelay(self, value):
548
+ if value is not None:
549
+ self.offerCyclicDelay = value
550
+ return self
551
+
552
+ def getRequestResponseDelay(self):
553
+ return self.requestResponseDelay
554
+
555
+ def setRequestResponseDelay(self, value):
556
+ if value is not None:
557
+ self.requestResponseDelay = value
558
+ return self
559
+
560
+ def getServerServiceMajorVersion(self):
561
+ return self.serverServiceMajorVersion
562
+
563
+ def setServerServiceMajorVersion(self, value):
564
+ if value is not None:
565
+ self.serverServiceMajorVersion = value
566
+ return self
567
+
568
+ def getServerServiceMinorVersion(self):
569
+ return self.serverServiceMinorVersion
570
+
571
+ def setServerServiceMinorVersion(self, value):
572
+ if value is not None:
573
+ self.serverServiceMinorVersion = value
574
+ return self
575
+
576
+ def getTtl(self):
577
+ return self.ttl
578
+
579
+ def setTtl(self, value):
580
+ if value is not None:
581
+ self.ttl = value
582
+ return self
583
+
584
+
585
+ class EventHandler(Identifiable):
586
+ """
587
+ Defines an event handler for service-oriented communication,
588
+ specifying how events are processed by service providers including
589
+ application endpoint references and service discovery configuration.
590
+ """
591
+ def __init__(self, parent: ARObject, short_name: str):
592
+ super().__init__(parent, short_name)
593
+
594
+ self.applicationEndpointRef: RefType = None
595
+ self.consumedEventGroupRefs: List[RefType] = []
596
+ self.multicastThreshold: PositiveInteger = None
597
+ self.routingGroupRefs: List[RefType] = []
598
+ self.sdServerConfig = None
599
+
600
+ def getApplicationEndpointRef(self):
601
+ return self.applicationEndpointRef
602
+
603
+ def setApplicationEndpointRef(self, value):
604
+ if value is not None:
605
+ self.applicationEndpointRef = value
606
+ return self
607
+
608
+ def getConsumedEventGroupRefs(self):
609
+ return self.consumedEventGroupRefs
610
+
611
+ def addConsumedEventGroupRef(self, value):
612
+ if value is not None:
613
+ self.consumedEventGroupRefs.append(value)
614
+ return self
615
+
616
+ def getMulticastThreshold(self):
617
+ return self.multicastThreshold
618
+
619
+ def setMulticastThreshold(self, value):
620
+ if value is not None:
621
+ self.multicastThreshold = value
622
+ return self
623
+
624
+ def getRoutingGroupRefs(self):
625
+ return self.routingGroupRefs
626
+
627
+ def addRoutingGroupRef(self, value):
628
+ if value is not None:
629
+ self.routingGroupRefs.append(value)
630
+ return self
631
+
632
+ def getSdServerConfig(self):
633
+ return self.sdServerConfig
634
+
635
+ def setSdServerConfig(self, value):
636
+ if value is not None:
637
+ self.sdServerConfig = value
638
+ return self
639
+
640
+
641
+ class ProvidedServiceInstance(AbstractServiceInstance):
642
+ """
643
+ Represents a provided service instance in the AUTOSAR service-oriented
644
+ architecture, defining how services are provided to clients including
645
+ service identifiers, instance identifiers, and server configuration.
646
+ """
647
+ def __init__(self, parent: ARObject, short_name: str):
648
+ super().__init__(parent, short_name)
649
+
650
+ self.eventHandlers: List[EventHandler] = []
651
+ self.instanceIdentifier: PositiveInteger = None
652
+ self.priority: PositiveInteger = None
653
+ self.sdServerConfig = None
654
+ self.serviceIdentifier: PositiveInteger = None
655
+
656
+ def getEventHandlers(self):
657
+ return self.eventHandlers
658
+
659
+ def createEventHandler(self, short_name:str) -> EventHandler:
660
+ if short_name not in self.elements:
661
+ instance = EventHandler(self, short_name)
662
+ self.addElement(instance)
663
+ self.eventHandlers.append(instance)
664
+ return self.getElement(short_name)
665
+
666
+ def getInstanceIdentifier(self):
667
+ return self.instanceIdentifier
668
+
669
+ def setInstanceIdentifier(self, value):
670
+ if value is not None:
671
+ self.instanceIdentifier = value
672
+ return self
673
+
674
+ def getPriority(self):
675
+ return self.priority
676
+
677
+ def setPriority(self, value):
678
+ if value is not None:
679
+ self.priority = value
680
+ return self
681
+
682
+ def getSdServerConfig(self):
683
+ return self.sdServerConfig
684
+
685
+ def setSdServerConfig(self, value):
686
+ if value is not None:
687
+ self.sdServerConfig = value
688
+ return self
689
+
690
+ def getServiceIdentifier(self):
691
+ return self.serviceIdentifier
692
+
693
+ def setServiceIdentifier(self, value):
694
+ if value is not None:
695
+ self.serviceIdentifier = value
696
+ return self
697
+
698
+
699
+ class ApplicationEndpoint(Identifiable):
700
+ """
701
+ Defines an application endpoint for service-oriented communication,
702
+ specifying the interface between applications and the service
703
+ infrastructure including network endpoint references and service instances.
704
+ """
705
+ def __init__(self, parent: ARObject, short_name: str):
706
+ super().__init__(parent, short_name)
707
+
708
+ self.consumedServiceInstances: List[ConsumedServiceInstance] = []
709
+ self.maxNumberOfConnections: PositiveInteger = None
710
+ self.networkEndpointRef: RefType = None
711
+ self.priority: PositiveInteger = None
712
+ self.providedServiceInstances: List[ProvidedServiceInstance] = []
713
+ self.tlsCryptoMappingRef: RefType = None
714
+ self.tpConfiguration = None
715
+
716
+ def getConsumedServiceInstances(self):
717
+ return self.consumedServiceInstances
718
+
719
+ def createConsumedServiceInstance(self, short_name:str) -> ConsumedServiceInstance:
720
+ if short_name not in self.elements:
721
+ instance = ConsumedServiceInstance(self, short_name)
722
+ self.addElement(instance)
723
+ self.consumedServiceInstances.append(instance)
724
+ return self.getElement(short_name)
725
+
726
+ def getMaxNumberOfConnections(self):
727
+ return self.maxNumberOfConnections
728
+
729
+ def setMaxNumberOfConnections(self, value):
730
+ self.maxNumberOfConnections = value
731
+ return self
732
+
733
+ def getNetworkEndpointRef(self):
734
+ return self.networkEndpointRef
735
+
736
+ def setNetworkEndpointRef(self, value):
737
+ self.networkEndpointRef = value
738
+ return self
739
+
740
+ def getPriority(self):
741
+ return self.priority
742
+
743
+ def setPriority(self, value):
744
+ self.priority = value
745
+ return self
746
+
747
+ def getProvidedServiceInstances(self):
748
+ return self.providedServiceInstances
749
+
750
+ def createProvidedServiceInstance(self, short_name:str) -> ProvidedServiceInstance:
751
+ if short_name not in self.elements:
752
+ instance = ProvidedServiceInstance(self, short_name)
753
+ self.addElement(instance)
754
+ self.providedServiceInstances.append(instance)
755
+ return self.getElement(short_name)
756
+
757
+ def getTlsCryptoMappingRef(self):
758
+ return self.tlsCryptoMappingRef
759
+
760
+ def setTlsCryptoMappingRef(self, value):
761
+ self.tlsCryptoMappingRef = value
762
+ return self
763
+
764
+ def getTpConfiguration(self):
765
+ return self.tpConfiguration
766
+
767
+ def setTpConfiguration(self, value):
768
+ self.tpConfiguration = value
769
+ return self
770
+
771
+ class SocketAddress(Identifiable):
772
+ """
773
+ Defines a socket address for network communication, specifying
774
+ port addresses, connection properties, and socket configuration
775
+ for TCP/IP communication endpoints.
776
+ """
777
+ def __init__(self, parent: ARObject, short_name: str):
778
+ super().__init__(parent, short_name)
779
+
780
+ self.allowedIPv6ExtHeadersRef: RefType = None
781
+ self.allowedTcpOptionsRef: RefType = None
782
+ self.applicationEndpoint: ApplicationEndpoint = None
783
+ self.connectorRef: RefType = None
784
+ self.differentiatedServiceField: PositiveInteger = None
785
+ self.flowLabel: PositiveInteger = None
786
+ self.multicastConnectorRefs: List[RefType] = []
787
+ self.pathMtuDiscoveryEnabled: Boolean = None
788
+ self.pduCollectionMaxBufferSize: PositiveInteger = None
789
+ self.pduCollectionTimeout: TimeValue = None
790
+ self.portAddress: PositiveInteger = None
791
+ self.staticSocketConnections = []
792
+ self.udpChecksumHandling = None
793
+
794
+ def getAllowedIPv6ExtHeadersRef(self):
795
+ return self.allowedIPv6ExtHeadersRef
796
+
797
+ def setAllowedIPv6ExtHeadersRef(self, value):
798
+ self.allowedIPv6ExtHeadersRef = value
799
+ return self
800
+
801
+ def getAllowedTcpOptionsRef(self):
802
+ return self.allowedTcpOptionsRef
803
+
804
+ def setAllowedTcpOptionsRef(self, value):
805
+ self.allowedTcpOptionsRef = value
806
+ return self
807
+
808
+ def getApplicationEndpoint(self):
809
+ return self.applicationEndpoint
810
+
811
+ def createApplicationEndpoint(self, short_name:str) -> ApplicationEndpoint:
812
+ end_point = ApplicationEndpoint(self, short_name)
813
+ self.applicationEndpoint = end_point
814
+ return end_point
815
+
816
+ def getConnectorRef(self):
817
+ return self.connectorRef
818
+
819
+ def setConnectorRef(self, value):
820
+ self.connectorRef = value
821
+ return self
822
+
823
+ def getDifferentiatedServiceField(self):
824
+ return self.differentiatedServiceField
825
+
826
+ def setDifferentiatedServiceField(self, value):
827
+ self.differentiatedServiceField = value
828
+ return self
829
+
830
+ def getFlowLabel(self):
831
+ return self.flowLabel
832
+
833
+ def setFlowLabel(self, value):
834
+ self.flowLabel = value
835
+ return self
836
+
837
+ def getMulticastConnectorRefs(self):
838
+ return self.multicastConnectorRefs
839
+
840
+ def addMulticastConnectorRef(self, value):
841
+ self.multicastConnectorRefs.append(value)
842
+ return self
843
+
844
+ def getPathMtuDiscoveryEnabled(self):
845
+ return self.pathMtuDiscoveryEnabled
846
+
847
+ def setPathMtuDiscoveryEnabled(self, value):
848
+ self.pathMtuDiscoveryEnabled = value
849
+ return self
850
+
851
+ def getPduCollectionMaxBufferSize(self):
852
+ return self.pduCollectionMaxBufferSize
853
+
854
+ def setPduCollectionMaxBufferSize(self, value):
855
+ self.pduCollectionMaxBufferSize = value
856
+ return self
857
+
858
+ def getPduCollectionTimeout(self):
859
+ return self.pduCollectionTimeout
860
+
861
+ def setPduCollectionTimeout(self, value):
862
+ self.pduCollectionTimeout = value
863
+ return self
864
+
865
+ def getPortAddress(self):
866
+ return self.portAddress
867
+
868
+ def setPortAddress(self, value):
869
+ self.portAddress = value
870
+ return self
871
+
872
+ def getStaticSocketConnections(self):
873
+ return self.staticSocketConnections
874
+
875
+ def addStaticSocketConnection(self, value):
876
+ self.staticSocketConnections.append(value)
877
+ return self
878
+
879
+ def getUdpChecksumHandling(self):
880
+ return self.udpChecksumHandling
881
+
882
+ def setUdpChecksumHandling(self, value):
883
+ self.udpChecksumHandling = value
884
+ return self
885
+
886
+ class SoAdConfig(ARObject):
887
+ """
888
+ Defines Socket Adaptor (SoAd) configuration, specifying socket
889
+ connections, connection bundles, and socket address configurations
890
+ for TCP/IP communication management in AUTOSAR systems.
891
+ """
892
+ def __init__(self):
893
+ super().__init__()
894
+
895
+ self.connections: List[SocketConnection] = []
896
+ self.connectionBundles: List[SocketConnectionBundle] = []
897
+ self.socketAddresses: List[SocketAddress] = [] # type: List[SocketAddress]
898
+
899
+ def getConnections(self):
900
+ return self.connections
901
+
902
+ def setConnections(self, value):
903
+ self.connections = value
904
+ return self
905
+
906
+ def getConnectionBundles(self):
907
+ return self.connectionBundles
908
+
909
+ def createSocketConnectionBundle(self, short_name:str) -> SocketConnectionBundle:
910
+ bundle = SocketConnectionBundle(self, short_name)
911
+ self.connectionBundles.append(bundle)
912
+ return bundle
913
+
914
+ def setConnectionBundles(self, value):
915
+ self.connectionBundles = value
916
+ return self
917
+
918
+ def getSocketAddresses(self):
919
+ return self.socketAddresses
920
+
921
+ def createSocketAddress(self, short_name:str) -> SocketAddress:
922
+ address = SocketAddress(self, short_name)
923
+ self.socketAddresses.append(address)
924
+ return address