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,839 +1,2955 @@
1
- from abc import ABCMeta
2
- from typing import List
3
- from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
4
- from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
5
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
7
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType, AREnum, Boolean, ARLiteral
8
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import DiagRequirementIdString, Integer, PositiveInteger
9
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import String, TimeValue
10
-
11
-
12
- class RoleBasedDataAssignment(ARObject):
13
- def __init__(self):
14
- super().__init__()
15
-
16
- self.role = None # type: ARLiteral
17
- self.usedDataElement = None # type: AutosarVariableRef
18
- self.usedParameterElement = None # type: AutosarParameterRef
19
- self.usedPimRef = None # type: RefType
20
-
21
- def getRole(self):
22
- return self.role
23
-
24
- def setRole(self, value):
25
- self.role = value
26
- return self
27
-
28
- def getUsedDataElement(self):
29
- return self.usedDataElement
30
-
31
- def setUsedDataElement(self, value):
32
- self.usedDataElement = value
33
- return self
34
-
35
- def getUsedParameterElement(self):
36
- return self.usedParameterElement
37
-
38
- def setUsedParameterElement(self, value):
39
- self.usedParameterElement = value
40
- return self
41
-
42
- def getUsedPimRef(self):
43
- return self.usedPimRef
44
-
45
- def setUsedPimRef(self, value):
46
- self.usedPimRef = value
47
- return self
48
-
49
-
50
- class ServiceNeeds(Identifiable, metaclass=ABCMeta):
51
- def __init__(self, parent: ARObject, short_name: str):
52
- if type(self) is ServiceNeeds:
53
- raise NotImplementedError("ServiceNeeds is an abstract class.")
54
-
55
- super().__init__(parent, short_name)
56
-
57
-
58
- class RamBlockStatusControlEnum(AREnum):
59
- API = "api"
60
- NV_RAM_MANAGER = "nvRamManager"
61
-
62
- def __init__(self):
63
- super().__init__((
64
- RamBlockStatusControlEnum.API,
65
- RamBlockStatusControlEnum.NV_RAM_MANAGER,
66
- ))
67
-
68
-
69
- class NvBlockNeedsReliabilityEnum(AREnum):
70
- ERROR_CORRECTION = "errorCorrection"
71
- ERROR_DETECTION = "errorDetection"
72
- NO_PROTECTION = "noProtection"
73
-
74
- def __init__(self):
75
- super().__init__((
76
- NvBlockNeedsReliabilityEnum.ERROR_CORRECTION,
77
- NvBlockNeedsReliabilityEnum.ERROR_DETECTION,
78
- NvBlockNeedsReliabilityEnum.NO_PROTECTION,
79
- ))
80
-
81
-
82
- class NvBlockNeedsWritingPriorityEnum(AREnum):
83
- HIGH = "high"
84
- LOW = "low"
85
- MEDIUM = "medium"
86
-
87
- def __init__(self):
88
- super().__init__((
89
- NvBlockNeedsWritingPriorityEnum.HIGH,
90
- NvBlockNeedsWritingPriorityEnum.LOW,
91
- NvBlockNeedsWritingPriorityEnum.MEDIUM,
92
- ))
93
-
94
-
95
- class NvBlockNeeds(ServiceNeeds):
96
- def __init__(self, parent: ARObject, short_name: str):
97
- super().__init__(parent, short_name)
98
-
99
- self.calcRamBlockCrc = None # type: Boolean
100
- self.checkStaticBlockId = None # type: Boolean
101
- self.cyclicWritingPeriod = None # type: TimeValue
102
- self.nDataSets = None # type: PositiveInteger
103
- self.nRomBlocks = None # type: PositiveInteger
104
- self.ramBlockStatusControl = None # type: RamBlockStatusControlEnum
105
- self.readonly = None # type: Boolean
106
- self.reliability = None # type: NvBlockNeedsReliabilityEnum
107
- self.resistantToChangedSw = None # type: Boolean
108
- self.restoreAtStart = None # type: Boolean
109
- self.selectBlockForFirstInitAll = None # type: Boolean
110
- self.storeAtShutdown = None # type: Boolean
111
- self.storeCyclic = None # type: Boolean
112
- self.storeEmergency = None # type: Boolean
113
- self.storeImmediate = None # type: Boolean
114
- self.storeOnChange = None # type: Boolean
115
- self.useAutoValidationAtShutDown = None # type: Boolean
116
- self.useCRCCompMechanism = None # type: Boolean
117
- self.writeOnlyOnce = None # type: Boolean
118
- self.writeVerification = None # type: Boolean
119
- self.writingFrequency = None # type: PositiveInteger
120
- self.writingPriority = None # type: NvBlockNeedsWritingPriorityEnum
121
-
122
- def getCalcRamBlockCrc(self):
123
- return self.calcRamBlockCrc
124
-
125
- def setCalcRamBlockCrc(self, value):
126
- self.calcRamBlockCrc = value
127
- return self
128
-
129
- def getCheckStaticBlockId(self):
130
- return self.checkStaticBlockId
131
-
132
- def setCheckStaticBlockId(self, value):
133
- self.checkStaticBlockId = value
134
- return self
135
-
136
- def getCyclicWritingPeriod(self):
137
- return self.cyclicWritingPeriod
138
-
139
- def setCyclicWritingPeriod(self, value):
140
- self.cyclicWritingPeriod = value
141
- return self
142
-
143
- def getNDataSets(self):
144
- return self.nDataSets
145
-
146
- def setNDataSets(self, value):
147
- self.nDataSets = value
148
- return self
149
-
150
- def getNRomBlocks(self):
151
- return self.nRomBlocks
152
-
153
- def setNRomBlocks(self, value):
154
- self.nRomBlocks = value
155
- return self
156
-
157
- def getRamBlockStatusControl(self):
158
- return self.ramBlockStatusControl
159
-
160
- def setRamBlockStatusControl(self, value):
161
- self.ramBlockStatusControl = value
162
- return self
163
-
164
- def getReadonly(self):
165
- return self.readonly
166
-
167
- def setReadonly(self, value):
168
- self.readonly = value
169
- return self
170
-
171
- def getReliability(self):
172
- return self.reliability
173
-
174
- def setReliability(self, value):
175
- self.reliability = value
176
- return self
177
-
178
- def getResistantToChangedSw(self):
179
- return self.resistantToChangedSw
180
-
181
- def setResistantToChangedSw(self, value):
182
- self.resistantToChangedSw = value
183
- return self
184
-
185
- def getRestoreAtStart(self):
186
- return self.restoreAtStart
187
-
188
- def setRestoreAtStart(self, value):
189
- self.restoreAtStart = value
190
- return self
191
-
192
- def getSelectBlockForFirstInitAll(self):
193
- return self.selectBlockForFirstInitAll
194
-
195
- def setSelectBlockForFirstInitAll(self, value):
196
- self.selectBlockForFirstInitAll = value
197
- return self
198
-
199
- def getStoreAtShutdown(self):
200
- return self.storeAtShutdown
201
-
202
- def setStoreAtShutdown(self, value):
203
- self.storeAtShutdown = value
204
- return self
205
-
206
- def getStoreCyclic(self):
207
- return self.storeCyclic
208
-
209
- def setStoreCyclic(self, value):
210
- self.storeCyclic = value
211
- return self
212
-
213
- def getStoreEmergency(self):
214
- return self.storeEmergency
215
-
216
- def setStoreEmergency(self, value):
217
- self.storeEmergency = value
218
- return self
219
-
220
- def getStoreImmediate(self):
221
- return self.storeImmediate
222
-
223
- def setStoreImmediate(self, value):
224
- self.storeImmediate = value
225
- return self
226
-
227
- def getStoreOnChange(self):
228
- return self.storeOnChange
229
-
230
- def setStoreOnChange(self, value):
231
- self.storeOnChange = value
232
- return self
233
-
234
- def getUseAutoValidationAtShutDown(self):
235
- return self.useAutoValidationAtShutDown
236
-
237
- def setUseAutoValidationAtShutDown(self, value):
238
- self.useAutoValidationAtShutDown = value
239
- return self
240
-
241
- def getUseCRCCompMechanism(self):
242
- return self.useCRCCompMechanism
243
-
244
- def setUseCRCCompMechanism(self, value):
245
- self.useCRCCompMechanism = value
246
- return self
247
-
248
- def getWriteOnlyOnce(self):
249
- return self.writeOnlyOnce
250
-
251
- def setWriteOnlyOnce(self, value):
252
- self.writeOnlyOnce = value
253
- return self
254
-
255
- def getWriteVerification(self):
256
- return self.writeVerification
257
-
258
- def setWriteVerification(self, value):
259
- self.writeVerification = value
260
- return self
261
-
262
- def getWritingFrequency(self):
263
- return self.writingFrequency
264
-
265
- def setWritingFrequency(self, value):
266
- self.writingFrequency = value
267
- return self
268
-
269
- def getWritingPriority(self):
270
- return self.writingPriority
271
-
272
- def setWritingPriority(self, value):
273
- self.writingPriority = value
274
- return self
275
-
276
-
277
- class RoleBasedDataTypeAssignment(ARObject):
278
- def __init__(self):
279
- super().__init__()
280
-
281
- self.role = None # type: Identifier
282
- self.usedImplementationDataTypeRef = None # type: RefType
283
-
284
- def getRole(self):
285
- return self.role
286
-
287
- def setRole(self, value):
288
- self.role = value
289
- return self
290
-
291
- def getUsedImplementationDataTypeRef(self):
292
- return self.usedImplementationDataTypeRef
293
-
294
- def setUsedImplementationDataTypeRef(self, value):
295
- self.usedImplementationDataTypeRef = value
296
- return self
297
-
298
-
299
- class ServiceDiagnosticRelevanceEnum(AREnum):
300
- def __init__(self):
301
- super().__init__([])
302
-
303
-
304
- class ServiceDependency(Identifiable):
305
- def __init__(self, parent: ARObject, short_name: str):
306
- super().__init__(parent, short_name)
307
-
308
- self.assignedDataTypes = [] # type: List[RoleBasedDataTypeAssignment]
309
- self.diagnosticRelevance = None # type: ServiceDiagnosticRelevanceEnum
310
- self.symbolicNameProps = None # type: SymbolicNameProps
311
-
312
- def getAssignedDataTypes(self):
313
- return self.assignedDataTypes
314
-
315
- def addAssignedDataType(self, value):
316
- self.assignedDataTypes.append(value)
317
- return self
318
-
319
- def getDiagnosticRelevance(self):
320
- return self.diagnosticRelevance
321
-
322
- def setDiagnosticRelevance(self, value):
323
- self.diagnosticRelevance = value
324
- return self
325
-
326
- def getSymbolicNameProps(self):
327
- return self.symbolicNameProps
328
-
329
- def setSymbolicNameProps(self, value):
330
- self.symbolicNameProps = value
331
- return self
332
-
333
-
334
- class DiagnosticAudienceEnum(AREnum):
335
- AFTER_MARKET = "aftermarket"
336
- AFTER_SALES = "afterSales"
337
- DEVELOPMENT = "development"
338
- MANUFACTURING = "manufacturing"
339
- SUPPLIER = "supplier"
340
-
341
- def __init__(self):
342
- super().__init__((
343
- DiagnosticAudienceEnum.AFTER_MARKET,
344
- DiagnosticAudienceEnum.AFTER_SALES,
345
- DiagnosticAudienceEnum.DEVELOPMENT,
346
- DiagnosticAudienceEnum.MANUFACTURING,
347
- DiagnosticAudienceEnum.SUPPLIER,
348
- ))
349
-
350
-
351
- class DiagnosticServiceRequestCallbackTypeEnum(AREnum):
352
- REQUEST_CALLBACK_TYPE_MANUFACTURER = "requestCallbackTypeManufacturer"
353
- REQUEST_CALLBACK_TYPE_SUPPLIER = "requestCallbackTypeSupplier"
354
-
355
- def __init__(self):
356
- super().__init__((
357
- DiagnosticServiceRequestCallbackTypeEnum.REQUEST_CALLBACK_TYPE_MANUFACTURER,
358
- DiagnosticServiceRequestCallbackTypeEnum.REQUEST_CALLBACK_TYPE_SUPPLIER,
359
- ))
360
-
361
-
362
- class DiagnosticCapabilityElement(ServiceNeeds, metaclass=ABCMeta):
363
- def __init__(self, parent: ARObject, short_name: str):
364
- if type(self) is DiagnosticCapabilityElement:
365
- raise NotImplementedError("DiagnosticCapabilityElement is an abstract class.")
366
-
367
- super().__init__(parent, short_name)
368
-
369
- self.audiences = [] # type: List[DiagnosticAudienceEnum]
370
- self.diagRequirement = None # type: DiagRequirementIdString
371
- self.securityAccessLevel = None # type: PositiveInteger
372
-
373
- def getAudiences(self):
374
- return self.audiences
375
-
376
- def addAudience(self, value):
377
- self.audiences.append(value)
378
- return self
379
-
380
- def getDiagRequirement(self):
381
- return self.diagRequirement
382
-
383
- def setDiagRequirement(self, value):
384
- self.diagRequirement = value
385
- return self
386
-
387
- def getSecurityAccessLevel(self):
388
- return self.securityAccessLevel
389
-
390
- def setSecurityAccessLevel(self, value):
391
- self.securityAccessLevel = value
392
- return self
393
-
394
-
395
- class DiagnosticRoutineTypeEnum(AREnum):
396
- ASYNCHRONOUS = "asynchronous"
397
- SYNCHRONOUS = "synchronous"
398
-
399
- def __init__(self):
400
- super().__init__((
401
- DiagnosticRoutineTypeEnum.ASYNCHRONOUS,
402
- DiagnosticRoutineTypeEnum.SYNCHRONOUS,
403
- ))
404
-
405
-
406
- class DiagnosticCommunicationManagerNeeds(DiagnosticCapabilityElement):
407
- def __init__(self, parent: ARObject, short_name: str):
408
- super().__init__(parent, short_name)
409
-
410
- self.serviceRequestCallbackType = None # type: DiagnosticServiceRequestCallbackTypeEnum
411
-
412
- def getServiceRequestCallbackType(self):
413
- return self.serviceRequestCallbackType
414
-
415
- def setServiceRequestCallbackType(self, value):
416
- self.serviceRequestCallbackType = value
417
- return self
418
-
419
-
420
- class DiagnosticRoutineNeeds(DiagnosticCapabilityElement):
421
- def __init__(self, parent: ARObject, short_name: str):
422
- super().__init__(parent, short_name)
423
-
424
- self.diagRoutineType = None # type: DiagnosticRoutineTypeEnum
425
- self.RidNumber = None # type: PositiveInteger
426
-
427
- def getDiagRoutineType(self):
428
- return self.diagRoutineType
429
-
430
- def setDiagRoutineType(self, value):
431
- self.diagRoutineType = value
432
- return self
433
-
434
- def getRidNumber(self):
435
- return self.RidNumber
436
-
437
- def setRidNumber(self, value):
438
- self.RidNumber = value
439
- return self
440
-
441
-
442
- class DiagnosticValueAccessEnum(AREnum):
443
- READ_ONLY = "readOnly"
444
- READ_WRITE = "readWrite"
445
- WRITE_ONLY = "writeOnly"
446
-
447
- def __init__(self):
448
- super().__init__((
449
- DiagnosticValueAccessEnum.READ_ONLY,
450
- DiagnosticValueAccessEnum.READ_WRITE,
451
- DiagnosticValueAccessEnum.WRITE_ONLY,
452
- ))
453
-
454
-
455
- class DiagnosticProcessingStyleEnum(AREnum):
456
- PROCESSING_STYLE_ASYNCHRONOUS = "processingStyleAsynchronous"
457
- PROCESSING_STYLE_ASYNCHRONOUS_WITH_ERROR = "processingStyleAsynchronousWithError"
458
- PROCESSING_STYLE_SYNCHRONOUS = "processingStyleSynchronous"
459
-
460
- def __init__(self):
461
- super().__init__((
462
- DiagnosticProcessingStyleEnum.PROCESSING_STYLE_ASYNCHRONOUS,
463
- DiagnosticProcessingStyleEnum.PROCESSING_STYLE_ASYNCHRONOUS_WITH_ERROR,
464
- DiagnosticProcessingStyleEnum.PROCESSING_STYLE_SYNCHRONOUS,
465
- ))
466
-
467
-
468
- class DiagnosticValueNeeds(DiagnosticCapabilityElement):
469
- def __init__(self, parent: ARObject, short_name: str):
470
- super().__init__(parent, short_name)
471
-
472
- self.dataLength = None # type: PositiveInteger
473
- self.diagnosticValueAccess = None # type: DiagnosticValueAccessEnum
474
- self.DidNumber = None # type: Integer
475
- self.fixedLength = None # type: Boolean
476
- self.processingStyle = None # type: DiagnosticProcessingStyleEnum
477
-
478
- def getDataLength(self):
479
- return self.dataLength
480
-
481
- def setDataLength(self, value):
482
- self.dataLength = value
483
- return self
484
-
485
- def getDiagnosticValueAccess(self):
486
- return self.diagnosticValueAccess
487
-
488
- def setDiagnosticValueAccess(self, value):
489
- self.diagnosticValueAccess = value
490
- return self
491
-
492
- def getDidNumber(self):
493
- return self.DidNumber
494
-
495
- def setDidNumber(self, value):
496
- self.DidNumber = value
497
- return self
498
-
499
- def getFixedLength(self):
500
- return self.fixedLength
501
-
502
- def setFixedLength(self, value):
503
- self.fixedLength = value
504
- return self
505
-
506
- def getProcessingStyle(self):
507
- return self.processingStyle
508
-
509
- def setProcessingStyle(self, value):
510
- self.processingStyle = value
511
- return self
512
-
513
-
514
- class DiagEventDebounceAlgorithm(Identifiable, metaclass=ABCMeta):
515
- def __init__(self, parent: ARObject, short_name: str):
516
- if type(self) is DiagEventDebounceAlgorithm:
517
- raise NotImplementedError("DiagEventDebounceAlgorithm is an abstract class.")
518
-
519
- super().__init__(parent, short_name)
520
-
521
-
522
- class DiagEventDebounceCounterBased(DiagEventDebounceAlgorithm):
523
- def __init__(self, parent: ARObject, short_name: str):
524
- super().__init__(parent, short_name)
525
-
526
- self.counterBasedFdcThresholdStorageValue = None # type: Integer
527
- self.counterDecrementStepSize = None # type: Integer
528
- self.counterFailedThreshold = None # type: Integer
529
- self.counterIncrementStepSize = None # type: Integer
530
- self.counterJumpDown = None # type: Integer
531
- self.counterJumpDownValue = None # type: Integer
532
- self.counterJumpUp = None # type: Integer
533
- self.counterJumpUpValue = None # type: Integer
534
- self.counterPassedThreshold = None # type: Integer
535
-
536
- def getCounterBasedFdcThresholdStorageValue(self):
537
- return self.counterBasedFdcThresholdStorageValue
538
-
539
- def setCounterBasedFdcThresholdStorageValue(self, value):
540
- self.counterBasedFdcThresholdStorageValue = value
541
- return self
542
-
543
- def getCounterDecrementStepSize(self):
544
- return self.counterDecrementStepSize
545
-
546
- def setCounterDecrementStepSize(self, value):
547
- self.counterDecrementStepSize = value
548
- return self
549
-
550
- def getCounterFailedThreshold(self):
551
- return self.counterFailedThreshold
552
-
553
- def setCounterFailedThreshold(self, value):
554
- self.counterFailedThreshold = value
555
- return self
556
-
557
- def getCounterIncrementStepSize(self):
558
- return self.counterIncrementStepSize
559
-
560
- def setCounterIncrementStepSize(self, value):
561
- self.counterIncrementStepSize = value
562
- return self
563
-
564
- def getCounterJumpDown(self):
565
- return self.counterJumpDown
566
-
567
- def setCounterJumpDown(self, value):
568
- self.counterJumpDown = value
569
- return self
570
-
571
- def getCounterJumpDownValue(self):
572
- return self.counterJumpDownValue
573
-
574
- def setCounterJumpDownValue(self, value):
575
- self.counterJumpDownValue = value
576
- return self
577
-
578
- def getCounterJumpUp(self):
579
- return self.counterJumpUp
580
-
581
- def setCounterJumpUp(self, value):
582
- self.counterJumpUp = value
583
- return self
584
-
585
- def getCounterJumpUpValue(self):
586
- return self.counterJumpUpValue
587
-
588
- def setCounterJumpUpValue(self, value):
589
- self.counterJumpUpValue = value
590
- return self
591
-
592
- def getCounterPassedThreshold(self):
593
- return self.counterPassedThreshold
594
-
595
- def setCounterPassedThreshold(self, value):
596
- self.counterPassedThreshold = value
597
- return self
598
-
599
-
600
- class DiagEventDebounceMonitorInternal(DiagEventDebounceAlgorithm):
601
- def __init__(self, parent: ARObject, short_name: str):
602
- super().__init__(parent, short_name)
603
-
604
-
605
- class DiagEventDebounceTimeBased(DiagEventDebounceAlgorithm):
606
- def __init__(self, parent: ARObject, short_name: str):
607
- super().__init__(parent, short_name)
608
-
609
- self.timeBasedFdcThresholdStorageValue = None # type: TimeValue
610
- self.timeFailedThreshold = None # type: TimeValue
611
- self.timePassedThreshold = None # type: TimeValue
612
-
613
- def getTimeBasedFdcThresholdStorageValue(self):
614
- return self.timeBasedFdcThresholdStorageValue
615
-
616
- def setTimeBasedFdcThresholdStorageValue(self, value):
617
- self.timeBasedFdcThresholdStorageValue = value
618
- return self
619
-
620
- def getTimeFailedThreshold(self):
621
- return self.timeFailedThreshold
622
-
623
- def setTimeFailedThreshold(self, value):
624
- self.timeFailedThreshold = value
625
- return self
626
-
627
- def getTimePassedThreshold(self):
628
- return self.timePassedThreshold
629
-
630
- def setTimePassedThreshold(self, value):
631
- self.timePassedThreshold = value
632
- return self
633
-
634
-
635
- class DtcKindEnum(AREnum):
636
- def __init__(self):
637
- super().__init__([])
638
-
639
-
640
- class DiagnosticEventInfoNeeds(DiagnosticCapabilityElement):
641
- def __init__(self, parent: ARObject, short_name: str):
642
- super().__init__(parent, short_name)
643
-
644
- self.dtcKind = None # type: DtcKindEnum
645
- self.obdDtcNumber = None # type: PositiveInteger
646
- self.udsDtcNumber = None # type: PositiveInteger
647
-
648
- def getDtcKind(self):
649
- return self.dtcKind
650
-
651
- def setDtcKind(self, value):
652
- if value is not None:
653
- self.dtcKind = value
654
- return self
655
-
656
- def getObdDtcNumber(self):
657
- return self.obdDtcNumber
658
-
659
- def setObdDtcNumber(self, value):
660
- if value is not None:
661
- self.obdDtcNumber = value
662
- return self
663
-
664
- def getUdsDtcNumber(self):
665
- return self.udsDtcNumber
666
-
667
- def setUdsDtcNumber(self, value):
668
- if value is not None:
669
- self.udsDtcNumber = value
670
- return self
671
-
672
-
673
- class DiagnosticClearDtcNotificationEnum(AREnum):
674
- def __init__(self):
675
- super().__init__([])
676
-
677
-
678
- class DtcFormatTypeEnum(AREnum):
679
- def __init__(self):
680
- super().__init__([])
681
-
682
-
683
- class DtcStatusChangeNotificationNeeds(DiagnosticCapabilityElement):
684
- def __init__(self, parent, short_name):
685
- super().__init__(parent, short_name)
686
-
687
- self.dtcFormatType = None # type: DtcFormatTypeEnum # AUTOSAR 4.3.1
688
- self.notificationTime = None # type: DiagnosticClearDtcNotificationEnum
689
-
690
- def getDtcFormatType(self):
691
- return self.dtcFormatType
692
-
693
- def setDtcFormatType(self, value):
694
- if value is not None:
695
- self.dtcFormatType = value
696
- return self
697
-
698
- def getNotificationTime(self):
699
- return self.notificationTime
700
-
701
- def setNotificationTime(self, value):
702
- if value is not None:
703
- self.notificationTime = value
704
- return self
705
-
706
-
707
- class DiagnosticEventNeeds(DiagnosticCapabilityElement):
708
- def __init__(self, parent: ARObject, short_name: str):
709
- super().__init__(parent, short_name)
710
-
711
- self.deferringFidRefs = [] # type: List[RefType]
712
- self.diagEventDebounceAlgorithm = None # type: DiagEventDebounceAlgorithm
713
- self.inhibitingFidRef = None # type: RefType
714
- self.inhibitingSecondaryFidRef = None # type: RefType
715
- self.prestoredFreezeframeStoredInNvm = None # type: Boolean
716
- self.usesMonitorData = None # type: Boolean
717
- self.dtcKind = None # type: ARLiteral
718
- self.udsDtcNumber = None # type: Integer
719
-
720
- def getDeferringFidRefs(self):
721
- return self.deferringFidRefs
722
-
723
- def addDeferringFidRef(self, value):
724
- self.deferringFidRefs.append(value)
725
- return self
726
-
727
- def getDiagEventDebounceAlgorithm(self):
728
- return self.diagEventDebounceAlgorithm
729
-
730
- def createDiagEventDebounceCounterBased(self, short_name: str):
731
- if (short_name not in self.elements):
732
- algorithm = DiagEventDebounceCounterBased(self, short_name)
733
- self.addElement(algorithm)
734
- self.diagEventDebounceAlgorithm = algorithm
735
- return self.getElement(short_name)
736
-
737
- def createDiagEventDebounceMonitorInternal(self, short_name: str):
738
- if (short_name not in self.elements):
739
- algorithm = DiagEventDebounceMonitorInternal(self, short_name)
740
- self.addElement(algorithm)
741
- self.diagEventDebounceAlgorithm = algorithm
742
- return self.getElement(short_name)
743
-
744
- def createDiagEventDebounceTimeBased(self, short_name: str):
745
- if (short_name not in self.elements):
746
- algorithm = DiagEventDebounceTimeBased(self, short_name)
747
- self.addElement(algorithm)
748
- self.diagEventDebounceAlgorithm = algorithm
749
- return self.getElement(short_name)
750
-
751
- def getInhibitingFidRef(self):
752
- return self.inhibitingFidRef
753
-
754
- def setInhibitingFidRef(self, value):
755
- self.inhibitingFidRef = value
756
- return self
757
-
758
- def getInhibitingSecondaryFidRef(self):
759
- return self.inhibitingSecondaryFidRef
760
-
761
- def setInhibitingSecondaryFidRef(self, value):
762
- self.inhibitingSecondaryFidRef = value
763
- return self
764
-
765
- def getPrestoredFreezeframeStoredInNvm(self):
766
- return self.prestoredFreezeframeStoredInNvm
767
-
768
- def setPrestoredFreezeframeStoredInNvm(self, value):
769
- self.prestoredFreezeframeStoredInNvm = value
770
- return self
771
-
772
- def getUsesMonitorData(self):
773
- return self.usesMonitorData
774
-
775
- def setUsesMonitorData(self, value):
776
- self.usesMonitorData = value
777
- return self
778
-
779
- def getDtcKind(self):
780
- return self.dtcKind
781
-
782
- def setDtcKind(self, value):
783
- self.dtcKind = value
784
- return self
785
-
786
- def getUdsDtcNumber(self):
787
- return self.udsDtcNumber
788
-
789
- def setUdsDtcNumber(self, value):
790
- self.udsDtcNumber = value
791
- return self
792
-
793
-
794
- class CryptoServiceNeeds(ServiceNeeds):
795
- def __init__(self, parent: ARObject, short_name: str):
796
- super().__init__(parent, short_name)
797
-
798
- self.algorithmFamily = None # type: String
799
- self.algorithmMode = None # type: String
800
- self.cryptoKeyDescription = None # type: String
801
- self.maximumKeyLength = None # type: PositiveInteger
802
-
803
- def getAlgorithmFamily(self):
804
- return self.algorithmFamily
805
-
806
- def setAlgorithmFamily(self, value):
807
- self.algorithmFamily = value
808
- return self
809
-
810
- def getAlgorithmMode(self):
811
- return self.algorithmMode
812
-
813
- def setAlgorithmMode(self, value):
814
- self.algorithmMode = value
815
- return self
816
-
817
- def getCryptoKeyDescription(self):
818
- return self.cryptoKeyDescription
819
-
820
- def setCryptoKeyDescription(self, value):
821
- self.cryptoKeyDescription = value
822
- return self
823
-
824
- def getMaximumKeyLength(self):
825
- return self.maximumKeyLength
826
-
827
- def setMaximumKeyLength(self, value):
828
- self.maximumKeyLength = value
829
- return self
830
-
831
-
832
- class EcuStateMgrUserNeeds(ServiceNeeds):
833
- def __init__(self, parent: ARObject, short_name: str):
834
- super().__init__(parent, short_name)
835
-
836
-
837
- class DltUserNeeds(ServiceNeeds):
838
- def __init__(self, parent: ARObject, short_name: str):
839
- super().__init__(parent, short_name)
1
+ """
2
+ This module contains classes for representing AUTOSAR service needs structures
3
+ in the CommonStructure module. Service needs define requirements for various
4
+ services such as NV block management, diagnostic services, cryptographic services, etc.
5
+ """
6
+
7
+ from abc import ABC
8
+ from typing import List
9
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
10
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
11
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
13
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType, AREnum, Boolean, ARLiteral
14
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import DiagRequirementIdString, Integer, PositiveInteger
15
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import String, TimeValue
16
+
17
+
18
+ class RoleBasedDataAssignment(ARObject):
19
+ """
20
+ Represents a role-based data assignment in AUTOSAR models.
21
+ This class defines how data elements are assigned based on their role in service interactions.
22
+ """
23
+
24
+ def __init__(self):
25
+ """
26
+ Initializes the RoleBasedDataAssignment with default values.
27
+ """
28
+ super().__init__()
29
+
30
+ # Role identifier for this data assignment
31
+ self.role: ARLiteral = None
32
+ # Used data element reference for this assignment
33
+ self.usedDataElement: AutosarVariableRef = None
34
+ # Used parameter element reference for this assignment
35
+ self.usedParameterElement: AutosarParameterRef = None
36
+ # Reference to the PIM (Port Interface Mapping) for this assignment
37
+ self.usedPimRef: RefType = None
38
+
39
+ def getRole(self):
40
+ """
41
+ Gets the role identifier for this data assignment.
42
+
43
+ Returns:
44
+ ARLiteral: The role identifier
45
+ """
46
+ return self.role
47
+
48
+ def setRole(self, value):
49
+ """
50
+ Sets the role identifier for this data assignment.
51
+ Only sets the value if it is not None.
52
+
53
+ Args:
54
+ value: The role identifier to set
55
+
56
+ Returns:
57
+ self for method chaining
58
+ """
59
+ self.role = value
60
+ return self
61
+
62
+ def getUsedDataElement(self):
63
+ """
64
+ Gets the used data element reference for this assignment.
65
+
66
+ Returns:
67
+ AutosarVariableRef: The used data element reference
68
+ """
69
+ return self.usedDataElement
70
+
71
+ def setUsedDataElement(self, value):
72
+ """
73
+ Sets the used data element reference for this assignment.
74
+ Only sets the value if it is not None.
75
+
76
+ Args:
77
+ value: The used data element reference to set
78
+
79
+ Returns:
80
+ self for method chaining
81
+ """
82
+ self.usedDataElement = value
83
+ return self
84
+
85
+ def getUsedParameterElement(self):
86
+ """
87
+ Gets the used parameter element reference for this assignment.
88
+
89
+ Returns:
90
+ AutosarParameterRef: The used parameter element reference
91
+ """
92
+ return self.usedParameterElement
93
+
94
+ def setUsedParameterElement(self, value):
95
+ """
96
+ Sets the used parameter element reference for this assignment.
97
+ Only sets the value if it is not None.
98
+
99
+ Args:
100
+ value: The used parameter element reference to set
101
+
102
+ Returns:
103
+ self for method chaining
104
+ """
105
+ self.usedParameterElement = value
106
+ return self
107
+
108
+ def getUsedPimRef(self):
109
+ """
110
+ Gets the reference to the PIM (Port Interface Mapping) for this assignment.
111
+
112
+ Returns:
113
+ RefType: The PIM reference
114
+ """
115
+ return self.usedPimRef
116
+
117
+ def setUsedPimRef(self, value):
118
+ """
119
+ Sets the reference to the PIM (Port Interface Mapping) for this assignment.
120
+ Only sets the value if it is not None.
121
+
122
+ Args:
123
+ value: The PIM reference to set
124
+
125
+ Returns:
126
+ self for method chaining
127
+ """
128
+ self.usedPimRef = value
129
+ return self
130
+
131
+
132
+ class ServiceNeeds(Identifiable, ABC):
133
+ """
134
+ Abstract base class for service needs in AUTOSAR models.
135
+ Service needs define requirements for various services such as NV block management, diagnostic services, etc.
136
+ """
137
+
138
+ def __init__(self, parent: ARObject, short_name: str):
139
+ """
140
+ Initializes the ServiceNeeds with a parent and short name.
141
+ Raises TypeError if this abstract class is instantiated directly.
142
+
143
+ Args:
144
+ parent: The parent ARObject that contains this service needs
145
+ short_name: The unique short name of this service needs
146
+ """
147
+ if type(self) is ServiceNeeds:
148
+ raise TypeError("ServiceNeeds is an abstract class.")
149
+
150
+ super().__init__(parent, short_name)
151
+
152
+
153
+ class RamBlockStatusControlEnum(AREnum):
154
+ """
155
+ Enumeration for RAM block status control methods in AUTOSAR NV block needs.
156
+ Defines how the status of RAM blocks is controlled in NV block management.
157
+ """
158
+ # Status control through API calls
159
+ API = "api"
160
+ # Status control through NV RAM manager
161
+ NV_RAM_MANAGER = "nvRamManager"
162
+
163
+ def __init__(self):
164
+ """
165
+ Initializes the RamBlockStatusControlEnum with all possible values.
166
+ """
167
+ super().__init__((
168
+ RamBlockStatusControlEnum.API,
169
+ RamBlockStatusControlEnum.NV_RAM_MANAGER,
170
+ ))
171
+
172
+
173
+ class NvBlockNeedsReliabilityEnum(AREnum):
174
+ """
175
+ Enumeration for NV block needs reliability levels in AUTOSAR models.
176
+ Defines the type of error protection used for NV block management.
177
+ """
178
+ # Error correction protection for NV blocks
179
+ ERROR_CORRECTION = "errorCorrection"
180
+ # Error detection protection for NV blocks
181
+ ERROR_DETECTION = "errorDetection"
182
+ # No protection for NV blocks
183
+ NO_PROTECTION = "noProtection"
184
+
185
+ def __init__(self):
186
+ """
187
+ Initializes the NvBlockNeedsReliabilityEnum with all possible values.
188
+ """
189
+ super().__init__((
190
+ NvBlockNeedsReliabilityEnum.ERROR_CORRECTION,
191
+ NvBlockNeedsReliabilityEnum.ERROR_DETECTION,
192
+ NvBlockNeedsReliabilityEnum.NO_PROTECTION,
193
+ ))
194
+
195
+
196
+ class NvBlockNeedsWritingPriorityEnum(AREnum):
197
+ """
198
+ Enumeration for NV block needs writing priorities in AUTOSAR models.
199
+ Defines the priority level for writing operations to NV blocks.
200
+ """
201
+ # High priority for NV block writing
202
+ HIGH = "high"
203
+ # Low priority for NV block writing
204
+ LOW = "low"
205
+ # Medium priority for NV block writing
206
+ MEDIUM = "medium"
207
+
208
+ def __init__(self):
209
+ """
210
+ Initializes the NvBlockNeedsWritingPriorityEnum with all possible values.
211
+ """
212
+ super().__init__((
213
+ NvBlockNeedsWritingPriorityEnum.HIGH,
214
+ NvBlockNeedsWritingPriorityEnum.LOW,
215
+ NvBlockNeedsWritingPriorityEnum.MEDIUM,
216
+ ))
217
+
218
+
219
+ class NvBlockNeeds(ServiceNeeds):
220
+ """
221
+ Represents NV (Non-Volatile) block needs in AUTOSAR models.
222
+ This class defines requirements for managing non-volatile memory blocks including
223
+ CRC calculation, write protection, and various storage strategies.
224
+ """
225
+
226
+ def __init__(self, parent: ARObject, short_name: str):
227
+ """
228
+ Initializes the NvBlockNeeds with a parent and short name.
229
+
230
+ Args:
231
+ parent: The parent ARObject that contains this NV block needs
232
+ short_name: The unique short name of this NV block needs
233
+ """
234
+ super().__init__(parent, short_name)
235
+
236
+ # Flag indicating whether to calculate CRC for RAM blocks
237
+ self.calcRamBlockCrc: Boolean = None
238
+ # Flag indicating whether to check static block ID
239
+ self.checkStaticBlockId: Boolean = None
240
+ # Period for cyclic writing operations
241
+ self.cyclicWritingPeriod: TimeValue = None
242
+ # Number of data sets for this NV block
243
+ self.nDataSets: PositiveInteger = None
244
+ # Number of ROM blocks for this NV block
245
+ self.nRomBlocks: PositiveInteger = None
246
+ # Method for controlling RAM block status
247
+ self.ramBlockStatusControl: RamBlockStatusControlEnum = None
248
+ # Flag indicating if this block is read-only
249
+ self.readonly: Boolean = None
250
+ # Reliability level for this NV block
251
+ self.reliability: NvBlockNeedsReliabilityEnum = None
252
+ # Flag indicating resistance to changed software
253
+ self.resistantToChangedSw: Boolean = None
254
+ # Flag indicating whether to restore at start
255
+ self.restoreAtStart: Boolean = None
256
+ # Flag indicating whether to select block for first init all
257
+ self.selectBlockForFirstInitAll: Boolean = None
258
+ # Flag indicating whether to store at shutdown
259
+ self.storeAtShutdown: Boolean = None
260
+ # Flag indicating whether to store cyclically
261
+ self.storeCyclic: Boolean = None
262
+ # Flag indicating whether to store in emergency situations
263
+ self.storeEmergency: Boolean = None
264
+ # Flag indicating whether to store immediately
265
+ self.storeImmediate: Boolean = None
266
+ # Flag indicating whether to store on change
267
+ self.storeOnChange: Boolean = None
268
+ # Flag indicating whether to use auto-validation at shutdown
269
+ self.useAutoValidationAtShutDown: Boolean = None
270
+ # Flag indicating whether to use CRC comparison mechanism
271
+ self.useCRCCompMechanism: Boolean = None
272
+ # Flag indicating whether to write only once
273
+ self.writeOnlyOnce: Boolean = None
274
+ # Flag indicating whether to verify writes
275
+ self.writeVerification: Boolean = None
276
+ # Frequency for writing operations
277
+ self.writingFrequency: PositiveInteger = None
278
+ # Priority for writing operations
279
+ self.writingPriority: NvBlockNeedsWritingPriorityEnum = None
280
+
281
+ def getCalcRamBlockCrc(self):
282
+ return self.calcRamBlockCrc
283
+
284
+ def setCalcRamBlockCrc(self, value):
285
+ self.calcRamBlockCrc = value
286
+ return self
287
+
288
+ def getCheckStaticBlockId(self):
289
+ return self.checkStaticBlockId
290
+
291
+ def setCheckStaticBlockId(self, value):
292
+ self.checkStaticBlockId = value
293
+ return self
294
+
295
+ def getCyclicWritingPeriod(self):
296
+ return self.cyclicWritingPeriod
297
+
298
+ def setCyclicWritingPeriod(self, value):
299
+ self.cyclicWritingPeriod = value
300
+ return self
301
+
302
+ def getNDataSets(self):
303
+ return self.nDataSets
304
+
305
+ def setNDataSets(self, value):
306
+ self.nDataSets = value
307
+ return self
308
+
309
+ def getNRomBlocks(self):
310
+ return self.nRomBlocks
311
+
312
+ def setNRomBlocks(self, value):
313
+ self.nRomBlocks = value
314
+ return self
315
+
316
+ def getRamBlockStatusControl(self):
317
+ return self.ramBlockStatusControl
318
+
319
+ def setRamBlockStatusControl(self, value):
320
+ self.ramBlockStatusControl = value
321
+ return self
322
+
323
+ def getReadonly(self):
324
+ return self.readonly
325
+
326
+ def setReadonly(self, value):
327
+ self.readonly = value
328
+ return self
329
+
330
+ def getReliability(self):
331
+ return self.reliability
332
+
333
+ def setReliability(self, value):
334
+ self.reliability = value
335
+ return self
336
+
337
+ def getResistantToChangedSw(self):
338
+ return self.resistantToChangedSw
339
+
340
+ def setResistantToChangedSw(self, value):
341
+ self.resistantToChangedSw = value
342
+ return self
343
+
344
+ def getRestoreAtStart(self):
345
+ return self.restoreAtStart
346
+
347
+ def setRestoreAtStart(self, value):
348
+ self.restoreAtStart = value
349
+ return self
350
+
351
+ def getSelectBlockForFirstInitAll(self):
352
+ return self.selectBlockForFirstInitAll
353
+
354
+ def setSelectBlockForFirstInitAll(self, value):
355
+ self.selectBlockForFirstInitAll = value
356
+ return self
357
+
358
+ def getStoreAtShutdown(self):
359
+ return self.storeAtShutdown
360
+
361
+ def setStoreAtShutdown(self, value):
362
+ self.storeAtShutdown = value
363
+ return self
364
+
365
+ def getStoreCyclic(self):
366
+ return self.storeCyclic
367
+
368
+ def setStoreCyclic(self, value):
369
+ self.storeCyclic = value
370
+ return self
371
+
372
+ def getStoreEmergency(self):
373
+ return self.storeEmergency
374
+
375
+ def setStoreEmergency(self, value):
376
+ self.storeEmergency = value
377
+ return self
378
+
379
+ def getStoreImmediate(self):
380
+ return self.storeImmediate
381
+
382
+ def setStoreImmediate(self, value):
383
+ self.storeImmediate = value
384
+ return self
385
+
386
+ def getStoreOnChange(self):
387
+ return self.storeOnChange
388
+
389
+ def setStoreOnChange(self, value):
390
+ self.storeOnChange = value
391
+ return self
392
+
393
+ def getUseAutoValidationAtShutDown(self):
394
+ return self.useAutoValidationAtShutDown
395
+
396
+ def setUseAutoValidationAtShutDown(self, value):
397
+ self.useAutoValidationAtShutDown = value
398
+ return self
399
+
400
+ def getUseCRCCompMechanism(self):
401
+ return self.useCRCCompMechanism
402
+
403
+ def setUseCRCCompMechanism(self, value):
404
+ self.useCRCCompMechanism = value
405
+ return self
406
+
407
+ def getWriteOnlyOnce(self):
408
+ return self.writeOnlyOnce
409
+
410
+ def setWriteOnlyOnce(self, value):
411
+ self.writeOnlyOnce = value
412
+ return self
413
+
414
+ def getWriteVerification(self):
415
+ return self.writeVerification
416
+
417
+ def setWriteVerification(self, value):
418
+ self.writeVerification = value
419
+ return self
420
+
421
+ def getWritingFrequency(self):
422
+ return self.writingFrequency
423
+
424
+ def setWritingFrequency(self, value):
425
+ self.writingFrequency = value
426
+ return self
427
+
428
+ def getWritingPriority(self):
429
+ return self.writingPriority
430
+
431
+ def setWritingPriority(self, value):
432
+ self.writingPriority = value
433
+ return self
434
+
435
+
436
+ class RoleBasedDataTypeAssignment(ARObject):
437
+ """
438
+ Represents a role-based data type assignment in AUTOSAR models.
439
+ This class defines how implementation data types are assigned based on their role in service interactions.
440
+ """
441
+
442
+ def __init__(self):
443
+ """
444
+ Initializes the RoleBasedDataTypeAssignment with default values.
445
+ """
446
+ super().__init__()
447
+
448
+ # Role identifier for this data type assignment
449
+ self.role: Identifier = None
450
+ # Reference to the used implementation data type
451
+ self.usedImplementationDataTypeRef: RefType = None
452
+
453
+ def getRole(self):
454
+ """
455
+ Gets the role identifier for this data type assignment.
456
+
457
+ Returns:
458
+ Identifier: The role identifier
459
+ """
460
+ return self.role
461
+
462
+ def setRole(self, value):
463
+ """
464
+ Sets the role identifier for this data type assignment.
465
+ Only sets the value if it is not None.
466
+
467
+ Args:
468
+ value: The role identifier to set
469
+
470
+ Returns:
471
+ self for method chaining
472
+ """
473
+ self.role = value
474
+ return self
475
+
476
+ def getUsedImplementationDataTypeRef(self):
477
+ """
478
+ Gets the reference to the used implementation data type.
479
+
480
+ Returns:
481
+ RefType: The implementation data type reference
482
+ """
483
+ return self.usedImplementationDataTypeRef
484
+
485
+ def setUsedImplementationDataTypeRef(self, value):
486
+ """
487
+ Sets the reference to the used implementation data type.
488
+ Only sets the value if it is not None.
489
+
490
+ Args:
491
+ value: The implementation data type reference to set
492
+
493
+ Returns:
494
+ self for method chaining
495
+ """
496
+ self.usedImplementationDataTypeRef = value
497
+ return self
498
+
499
+
500
+ class ServiceDiagnosticRelevanceEnum(AREnum):
501
+ """
502
+ Enumeration for service diagnostic relevance in AUTOSAR models.
503
+ Defines the diagnostic relevance of services (currently empty as per specification).
504
+ """
505
+
506
+ def __init__(self):
507
+ """
508
+ Initializes the ServiceDiagnosticRelevanceEnum with empty values list.
509
+ """
510
+ super().__init__([])
511
+
512
+
513
+ class ServiceDependency(Identifiable, ABC):
514
+ """
515
+ Represents a service dependency in AUTOSAR models.
516
+ This class defines dependencies on services along with their data type assignments and diagnostic relevance.
517
+ """
518
+
519
+ def __init__(self, parent: ARObject, short_name: str):
520
+ """
521
+ Initializes the ServiceDependency with a parent and short name.
522
+ Raises TypeError if this abstract class is instantiated directly.
523
+
524
+ Args:
525
+ parent: The parent ARObject that contains this service dependency
526
+ short_name: The unique short name of this service dependency
527
+ """
528
+ if type(self) is ServiceDependency:
529
+ raise TypeError("ServiceDependency is an abstract class.")
530
+ super().__init__(parent, short_name)
531
+
532
+ # List of role-based data type assignments for this service dependency
533
+ self.assignedDataTypes: List[RoleBasedDataTypeAssignment] = []
534
+ # Diagnostic relevance of this service dependency
535
+ self.diagnosticRelevance: ServiceDiagnosticRelevanceEnum = None
536
+ # Symbolic name properties for this service dependency
537
+ self.symbolicNameProps = None
538
+
539
+ def getAssignedDataTypes(self):
540
+ """
541
+ Gets the list of role-based data type assignments for this service dependency.
542
+
543
+ Returns:
544
+ List of RoleBasedDataTypeAssignment instances
545
+ """
546
+ return self.assignedDataTypes
547
+
548
+ def addAssignedDataType(self, value):
549
+ """
550
+ Adds a role-based data type assignment to this service dependency.
551
+
552
+ Args:
553
+ value: The data type assignment to add
554
+
555
+ Returns:
556
+ self for method chaining
557
+ """
558
+ self.assignedDataTypes.append(value)
559
+ return self
560
+
561
+ def getDiagnosticRelevance(self):
562
+ """
563
+ Gets the diagnostic relevance of this service dependency.
564
+
565
+ Returns:
566
+ ServiceDiagnosticRelevanceEnum: The diagnostic relevance
567
+ """
568
+ return self.diagnosticRelevance
569
+
570
+ def setDiagnosticRelevance(self, value):
571
+ """
572
+ Sets the diagnostic relevance of this service dependency.
573
+ Only sets the value if it is not None.
574
+
575
+ Args:
576
+ value: The diagnostic relevance to set
577
+
578
+ Returns:
579
+ self for method chaining
580
+ """
581
+ self.diagnosticRelevance = value
582
+ return self
583
+
584
+ def getSymbolicNameProps(self):
585
+ """
586
+ Gets the symbolic name properties for this service dependency.
587
+
588
+ Returns:
589
+ SymbolicNameProps: The symbolic name properties
590
+ """
591
+ return self.symbolicNameProps
592
+
593
+ def setSymbolicNameProps(self, value):
594
+ """
595
+ Sets the symbolic name properties for this service dependency.
596
+ Only sets the value if it is not None.
597
+
598
+ Args:
599
+ value: The symbolic name properties to set
600
+
601
+ Returns:
602
+ self for method chaining
603
+ """
604
+ self.symbolicNameProps = value
605
+ return self
606
+
607
+
608
+ class DiagnosticAudienceEnum(AREnum):
609
+ """
610
+ Enumeration for diagnostic audiences in AUTOSAR models.
611
+ Defines the target audience for diagnostic information and services.
612
+ """
613
+ # Diagnostic information for aftermarket use
614
+ AFTER_MARKET = "aftermarket"
615
+ # Diagnostic information for after-sales use
616
+ AFTER_SALES = "afterSales"
617
+ # Diagnostic information for development use
618
+ DEVELOPMENT = "development"
619
+ # Diagnostic information for manufacturing use
620
+ MANUFACTURING = "manufacturing"
621
+ # Diagnostic information for supplier use
622
+ SUPPLIER = "supplier"
623
+
624
+ def __init__(self):
625
+ """
626
+ Initializes the DiagnosticAudienceEnum with all possible values.
627
+ """
628
+ super().__init__((
629
+ DiagnosticAudienceEnum.AFTER_MARKET,
630
+ DiagnosticAudienceEnum.AFTER_SALES,
631
+ DiagnosticAudienceEnum.DEVELOPMENT,
632
+ DiagnosticAudienceEnum.MANUFACTURING,
633
+ DiagnosticAudienceEnum.SUPPLIER,
634
+ ))
635
+
636
+
637
+ class DiagnosticServiceRequestCallbackTypeEnum(AREnum):
638
+ """
639
+ Enumeration for diagnostic service request callback types in AUTOSAR models.
640
+ Defines who handles diagnostic service request callbacks (manufacturer or supplier).
641
+ """
642
+ # Callback type handled by manufacturer
643
+ REQUEST_CALLBACK_TYPE_MANUFACTURER = "requestCallbackTypeManufacturer"
644
+ # Callback type handled by supplier
645
+ REQUEST_CALLBACK_TYPE_SUPPLIER = "requestCallbackTypeSupplier"
646
+
647
+ def __init__(self):
648
+ """
649
+ Initializes the DiagnosticServiceRequestCallbackTypeEnum with all possible values.
650
+ """
651
+ super().__init__((
652
+ DiagnosticServiceRequestCallbackTypeEnum.REQUEST_CALLBACK_TYPE_MANUFACTURER,
653
+ DiagnosticServiceRequestCallbackTypeEnum.REQUEST_CALLBACK_TYPE_SUPPLIER,
654
+ ))
655
+
656
+
657
+ class DiagnosticCapabilityElement(ServiceNeeds, ABC):
658
+ """
659
+ Abstract base class for diagnostic capability elements in AUTOSAR models.
660
+ This class defines common properties for diagnostic capabilities including audiences, requirements, and security access levels.
661
+ """
662
+
663
+ def __init__(self, parent: ARObject, short_name: str):
664
+ """
665
+ Initializes the DiagnosticCapabilityElement with a parent and short name.
666
+ Raises TypeError if this abstract class is instantiated directly.
667
+
668
+ Args:
669
+ parent: The parent ARObject that contains this diagnostic capability element
670
+ short_name: The unique short name of this diagnostic capability element
671
+ """
672
+ if type(self) is DiagnosticCapabilityElement:
673
+ raise TypeError("DiagnosticCapabilityElement is an abstract class.")
674
+
675
+ super().__init__(parent, short_name)
676
+
677
+ # List of audiences for this diagnostic capability
678
+ self.audiences: List[DiagnosticAudienceEnum] = []
679
+ # Diagnostic requirement ID string for this capability
680
+ self.diagRequirement: DiagRequirementIdString = None
681
+ # Security access level for this diagnostic capability
682
+ self.securityAccessLevel: PositiveInteger = None
683
+
684
+ def getAudiences(self):
685
+ """
686
+ Gets the list of audiences for this diagnostic capability.
687
+
688
+ Returns:
689
+ List of DiagnosticAudienceEnum instances
690
+ """
691
+ return self.audiences
692
+
693
+ def addAudience(self, value):
694
+ """
695
+ Adds an audience to this diagnostic capability.
696
+
697
+ Args:
698
+ value: The diagnostic audience to add
699
+
700
+ Returns:
701
+ self for method chaining
702
+ """
703
+ self.audiences.append(value)
704
+ return self
705
+
706
+ def getDiagRequirement(self):
707
+ """
708
+ Gets the diagnostic requirement ID string for this capability.
709
+
710
+ Returns:
711
+ DiagRequirementIdString: The diagnostic requirement
712
+ """
713
+ return self.diagRequirement
714
+
715
+ def setDiagRequirement(self, value):
716
+ """
717
+ Sets the diagnostic requirement ID string for this capability.
718
+ Only sets the value if it is not None.
719
+
720
+ Args:
721
+ value: The diagnostic requirement to set
722
+
723
+ Returns:
724
+ self for method chaining
725
+ """
726
+ self.diagRequirement = value
727
+ return self
728
+
729
+ def getSecurityAccessLevel(self):
730
+ """
731
+ Gets the security access level for this diagnostic capability.
732
+
733
+ Returns:
734
+ PositiveInteger: The security access level
735
+ """
736
+ return self.securityAccessLevel
737
+
738
+ def setSecurityAccessLevel(self, value):
739
+ """
740
+ Sets the security access level for this diagnostic capability.
741
+ Only sets the value if it is not None.
742
+
743
+ Args:
744
+ value: The security access level to set
745
+
746
+ Returns:
747
+ self for method chaining
748
+ """
749
+ self.securityAccessLevel = value
750
+ return self
751
+
752
+
753
+ class DiagnosticRoutineTypeEnum(AREnum):
754
+ """
755
+ Enumeration for diagnostic routine types in AUTOSAR models.
756
+ Defines whether diagnostic routines are executed synchronously or asynchronously.
757
+ """
758
+ # Asynchronous diagnostic routine
759
+ ASYNCHRONOUS = "asynchronous"
760
+ # Synchronous diagnostic routine
761
+ SYNCHRONOUS = "synchronous"
762
+
763
+ def __init__(self):
764
+ """
765
+ Initializes the DiagnosticRoutineTypeEnum with all possible values.
766
+ """
767
+ super().__init__((
768
+ DiagnosticRoutineTypeEnum.ASYNCHRONOUS,
769
+ DiagnosticRoutineTypeEnum.SYNCHRONOUS,
770
+ ))
771
+
772
+
773
+ class DiagnosticCommunicationManagerNeeds(DiagnosticCapabilityElement):
774
+ """
775
+ Represents diagnostic communication manager needs in AUTOSAR models.
776
+ This class defines requirements for the diagnostic communication manager including callback types.
777
+ """
778
+
779
+ def __init__(self, parent: ARObject, short_name: str):
780
+ """
781
+ Initializes the DiagnosticCommunicationManagerNeeds with a parent and short name.
782
+
783
+ Args:
784
+ parent: The parent ARObject that contains this diagnostic communication manager needs
785
+ short_name: The unique short name of this diagnostic communication manager needs
786
+ """
787
+ super().__init__(parent, short_name)
788
+
789
+ # Type of service request callback for this diagnostic communication manager
790
+ self.serviceRequestCallbackType: DiagnosticServiceRequestCallbackTypeEnum = None
791
+
792
+ def getServiceRequestCallbackType(self):
793
+ """
794
+ Gets the type of service request callback for this diagnostic communication manager.
795
+
796
+ Returns:
797
+ DiagnosticServiceRequestCallbackTypeEnum: The service request callback type
798
+ """
799
+ return self.serviceRequestCallbackType
800
+
801
+ def setServiceRequestCallbackType(self, value):
802
+ """
803
+ Sets the type of service request callback for this diagnostic communication manager.
804
+ Only sets the value if it is not None.
805
+
806
+ Args:
807
+ value: The service request callback type to set
808
+
809
+ Returns:
810
+ self for method chaining
811
+ """
812
+ self.serviceRequestCallbackType = value
813
+ return self
814
+
815
+
816
+ class DiagnosticRoutineNeeds(DiagnosticCapabilityElement):
817
+ """
818
+ Represents diagnostic routine needs in AUTOSAR models.
819
+ This class defines requirements for diagnostic routines including their execution type and RID number.
820
+ """
821
+
822
+ def __init__(self, parent: ARObject, short_name: str):
823
+ """
824
+ Initializes the DiagnosticRoutineNeeds with a parent and short name.
825
+
826
+ Args:
827
+ parent: The parent ARObject that contains this diagnostic routine needs
828
+ short_name: The unique short name of this diagnostic routine needs
829
+ """
830
+ super().__init__(parent, short_name)
831
+
832
+ # Type of diagnostic routine (synchronous or asynchronous)
833
+ self.diagRoutineType: DiagnosticRoutineTypeEnum = None
834
+ # RID (Routine ID) number for this diagnostic routine
835
+ self.RidNumber: PositiveInteger = None
836
+
837
+ def getDiagRoutineType(self):
838
+ """
839
+ Gets the type of diagnostic routine (synchronous or asynchronous).
840
+
841
+ Returns:
842
+ DiagnosticRoutineTypeEnum: The diagnostic routine type
843
+ """
844
+ return self.diagRoutineType
845
+
846
+ def setDiagRoutineType(self, value):
847
+ """
848
+ Sets the type of diagnostic routine (synchronous or asynchronous).
849
+ Only sets the value if it is not None.
850
+
851
+ Args:
852
+ value: The diagnostic routine type to set
853
+
854
+ Returns:
855
+ self for method chaining
856
+ """
857
+ self.diagRoutineType = value
858
+ return self
859
+
860
+ def getRidNumber(self):
861
+ """
862
+ Gets the RID (Routine ID) number for this diagnostic routine.
863
+
864
+ Returns:
865
+ PositiveInteger: The RID number
866
+ """
867
+ return self.RidNumber
868
+
869
+ def setRidNumber(self, value):
870
+ """
871
+ Sets the RID (Routine ID) number for this diagnostic routine.
872
+ Only sets the value if it is not None.
873
+
874
+ Args:
875
+ value: The RID number to set
876
+
877
+ Returns:
878
+ self for method chaining
879
+ """
880
+ self.RidNumber = value
881
+ return self
882
+
883
+
884
+ class DiagnosticValueAccessEnum(AREnum):
885
+ """
886
+ Enumeration for diagnostic value access types in AUTOSAR models.
887
+ Defines the access permissions for diagnostic values (read, write, or read-write).
888
+ """
889
+ # Read-only access for diagnostic values
890
+ READ_ONLY = "readOnly"
891
+ # Read-write access for diagnostic values
892
+ READ_WRITE = "readWrite"
893
+ # Write-only access for diagnostic values
894
+ WRITE_ONLY = "writeOnly"
895
+
896
+ def __init__(self):
897
+ """
898
+ Initializes the DiagnosticValueAccessEnum with all possible values.
899
+ """
900
+ super().__init__((
901
+ DiagnosticValueAccessEnum.READ_ONLY,
902
+ DiagnosticValueAccessEnum.READ_WRITE,
903
+ DiagnosticValueAccessEnum.WRITE_ONLY,
904
+ ))
905
+
906
+
907
+ class DiagnosticProcessingStyleEnum(AREnum):
908
+ """
909
+ Enumeration for diagnostic processing styles in AUTOSAR models.
910
+ Defines how diagnostic processing is handled (synchronously, asynchronously, etc.).
911
+ """
912
+ # Asynchronous processing style for diagnostics
913
+ PROCESSING_STYLE_ASYNCHRONOUS = "processingStyleAsynchronous"
914
+ # Asynchronous processing style with error handling for diagnostics
915
+ PROCESSING_STYLE_ASYNCHRONOUS_WITH_ERROR = "processingStyleAsynchronousWithError"
916
+ # Synchronous processing style for diagnostics
917
+ PROCESSING_STYLE_SYNCHRONOUS = "processingStyleSynchronous"
918
+
919
+ def __init__(self):
920
+ """
921
+ Initializes the DiagnosticProcessingStyleEnum with all possible values.
922
+ """
923
+ super().__init__((
924
+ DiagnosticProcessingStyleEnum.PROCESSING_STYLE_ASYNCHRONOUS,
925
+ DiagnosticProcessingStyleEnum.PROCESSING_STYLE_ASYNCHRONOUS_WITH_ERROR,
926
+ DiagnosticProcessingStyleEnum.PROCESSING_STYLE_SYNCHRONOUS,
927
+ ))
928
+
929
+
930
+ class DiagnosticValueNeeds(DiagnosticCapabilityElement):
931
+ """
932
+ Represents diagnostic value needs in AUTOSAR models.
933
+ This class defines requirements for diagnostic values including access permissions, length, and processing style.
934
+ """
935
+
936
+ def __init__(self, parent: ARObject, short_name: str):
937
+ """
938
+ Initializes the DiagnosticValueNeeds with a parent and short name.
939
+
940
+ Args:
941
+ parent: The parent ARObject that contains this diagnostic value needs
942
+ short_name: The unique short name of this diagnostic value needs
943
+ """
944
+ super().__init__(parent, short_name)
945
+
946
+ # Data length for this diagnostic value
947
+ self.dataLength: PositiveInteger = None
948
+ # Access permissions for this diagnostic value
949
+ self.diagnosticValueAccess: DiagnosticValueAccessEnum = None
950
+ # DID (Data ID) number for this diagnostic value
951
+ self.DidNumber: Integer = None
952
+ # Flag indicating if this diagnostic value has fixed length
953
+ self.fixedLength: Boolean = None
954
+ # Processing style for this diagnostic value
955
+ self.processingStyle: DiagnosticProcessingStyleEnum = None
956
+
957
+ def getDataLength(self):
958
+ """
959
+ Gets the data length for this diagnostic value.
960
+
961
+ Returns:
962
+ PositiveInteger: The data length
963
+ """
964
+ return self.dataLength
965
+
966
+ def setDataLength(self, value):
967
+ """
968
+ Sets the data length for this diagnostic value.
969
+ Only sets the value if it is not None.
970
+
971
+ Args:
972
+ value: The data length to set
973
+
974
+ Returns:
975
+ self for method chaining
976
+ """
977
+ self.dataLength = value
978
+ return self
979
+
980
+ def getDiagnosticValueAccess(self):
981
+ """
982
+ Gets the access permissions for this diagnostic value.
983
+
984
+ Returns:
985
+ DiagnosticValueAccessEnum: The diagnostic value access permissions
986
+ """
987
+ return self.diagnosticValueAccess
988
+
989
+ def setDiagnosticValueAccess(self, value):
990
+ """
991
+ Sets the access permissions for this diagnostic value.
992
+ Only sets the value if it is not None.
993
+
994
+ Args:
995
+ value: The diagnostic value access permissions to set
996
+
997
+ Returns:
998
+ self for method chaining
999
+ """
1000
+ self.diagnosticValueAccess = value
1001
+ return self
1002
+
1003
+ def getDidNumber(self):
1004
+ """
1005
+ Gets the DID (Data ID) number for this diagnostic value.
1006
+
1007
+ Returns:
1008
+ Integer: The DID number
1009
+ """
1010
+ return self.DidNumber
1011
+
1012
+ def setDidNumber(self, value):
1013
+ """
1014
+ Sets the DID (Data ID) number for this diagnostic value.
1015
+ Only sets the value if it is not None.
1016
+
1017
+ Args:
1018
+ value: The DID number to set
1019
+
1020
+ Returns:
1021
+ self for method chaining
1022
+ """
1023
+ self.DidNumber = value
1024
+ return self
1025
+
1026
+ def getFixedLength(self):
1027
+ """
1028
+ Gets the flag indicating if this diagnostic value has fixed length.
1029
+
1030
+ Returns:
1031
+ Boolean: The fixed length flag
1032
+ """
1033
+ return self.fixedLength
1034
+
1035
+ def setFixedLength(self, value):
1036
+ """
1037
+ Sets the flag indicating if this diagnostic value has fixed length.
1038
+ Only sets the value if it is not None.
1039
+
1040
+ Args:
1041
+ value: The fixed length flag to set
1042
+
1043
+ Returns:
1044
+ self for method chaining
1045
+ """
1046
+ self.fixedLength = value
1047
+ return self
1048
+
1049
+ def getProcessingStyle(self):
1050
+ """
1051
+ Gets the processing style for this diagnostic value.
1052
+
1053
+ Returns:
1054
+ DiagnosticProcessingStyleEnum: The processing style
1055
+ """
1056
+ return self.processingStyle
1057
+
1058
+ def setProcessingStyle(self, value):
1059
+ """
1060
+ Sets the processing style for this diagnostic value.
1061
+ Only sets the value if it is not None.
1062
+
1063
+ Args:
1064
+ value: The processing style to set
1065
+
1066
+ Returns:
1067
+ self for method chaining
1068
+ """
1069
+ self.processingStyle = value
1070
+ return self
1071
+
1072
+
1073
+ class DiagEventDebounceAlgorithm(Identifiable, ABC):
1074
+ """
1075
+ Abstract base class for diagnostic event debounce algorithms in AUTOSAR models.
1076
+ This class defines the base structure for algorithms that debounce diagnostic events to prevent false triggers.
1077
+ """
1078
+
1079
+ def __init__(self, parent: ARObject, short_name: str):
1080
+ """
1081
+ Initializes the DiagEventDebounceAlgorithm with a parent and short name.
1082
+ Raises TypeError if this abstract class is instantiated directly.
1083
+
1084
+ Args:
1085
+ parent: The parent ARObject that contains this diagnostic event debounce algorithm
1086
+ short_name: The unique short name of this diagnostic event debounce algorithm
1087
+ """
1088
+ if type(self) is DiagEventDebounceAlgorithm:
1089
+ raise TypeError("DiagEventDebounceAlgorithm is an abstract class.")
1090
+
1091
+ super().__init__(parent, short_name)
1092
+
1093
+
1094
+ class DiagEventDebounceCounterBased(DiagEventDebounceAlgorithm):
1095
+ """
1096
+ Represents a counter-based diagnostic event debounce algorithm in AUTOSAR models.
1097
+ This class defines debounce algorithms based on counters that increment/decrement to detect fault conditions.
1098
+ """
1099
+
1100
+ def __init__(self, parent: ARObject, short_name: str):
1101
+ """
1102
+ Initializes the DiagEventDebounceCounterBased with a parent and short name.
1103
+
1104
+ Args:
1105
+ parent: The parent ARObject that contains this counter-based debounce algorithm
1106
+ short_name: The unique short name of this counter-based debounce algorithm
1107
+ """
1108
+ super().__init__(parent, short_name)
1109
+
1110
+ # Counter-based FDC (Fault Detection Counter) threshold storage value
1111
+ self.counterBasedFdcThresholdStorageValue: Integer = None
1112
+ # Counter decrement step size for this debounce algorithm
1113
+ self.counterDecrementStepSize: Integer = None
1114
+ # Counter threshold for failed state detection
1115
+ self.counterFailedThreshold: Integer = None
1116
+ # Counter increment step size for this debounce algorithm
1117
+ self.counterIncrementStepSize: Integer = None
1118
+ # Counter value to jump down to when conditions are met
1119
+ self.counterJumpDown: Integer = None
1120
+ # Value to set counter to when jumping down
1121
+ self.counterJumpDownValue: Integer = None
1122
+ # Counter value to jump up to when conditions are met
1123
+ self.counterJumpUp: Integer = None
1124
+ # Value to set counter to when jumping up
1125
+ self.counterJumpUpValue: Integer = None
1126
+ # Counter threshold for passed state detection
1127
+ self.counterPassedThreshold: Integer = None
1128
+
1129
+ def getCounterBasedFdcThresholdStorageValue(self):
1130
+ return self.counterBasedFdcThresholdStorageValue
1131
+
1132
+ def setCounterBasedFdcThresholdStorageValue(self, value):
1133
+ self.counterBasedFdcThresholdStorageValue = value
1134
+ return self
1135
+
1136
+ def getCounterDecrementStepSize(self):
1137
+ return self.counterDecrementStepSize
1138
+
1139
+ def setCounterDecrementStepSize(self, value):
1140
+ self.counterDecrementStepSize = value
1141
+ return self
1142
+
1143
+ def getCounterFailedThreshold(self):
1144
+ return self.counterFailedThreshold
1145
+
1146
+ def setCounterFailedThreshold(self, value):
1147
+ self.counterFailedThreshold = value
1148
+ return self
1149
+
1150
+ def getCounterIncrementStepSize(self):
1151
+ return self.counterIncrementStepSize
1152
+
1153
+ def setCounterIncrementStepSize(self, value):
1154
+ self.counterIncrementStepSize = value
1155
+ return self
1156
+
1157
+ def getCounterJumpDown(self):
1158
+ return self.counterJumpDown
1159
+
1160
+ def setCounterJumpDown(self, value):
1161
+ self.counterJumpDown = value
1162
+ return self
1163
+
1164
+ def getCounterJumpDownValue(self):
1165
+ return self.counterJumpDownValue
1166
+
1167
+ def setCounterJumpDownValue(self, value):
1168
+ self.counterJumpDownValue = value
1169
+ return self
1170
+
1171
+ def getCounterJumpUp(self):
1172
+ return self.counterJumpUp
1173
+
1174
+ def setCounterJumpUp(self, value):
1175
+ self.counterJumpUp = value
1176
+ return self
1177
+
1178
+ def getCounterJumpUpValue(self):
1179
+ return self.counterJumpUpValue
1180
+
1181
+ def setCounterJumpUpValue(self, value):
1182
+ self.counterJumpUpValue = value
1183
+ return self
1184
+
1185
+ def getCounterPassedThreshold(self):
1186
+ return self.counterPassedThreshold
1187
+
1188
+ def setCounterPassedThreshold(self, value):
1189
+ self.counterPassedThreshold = value
1190
+ return self
1191
+
1192
+
1193
+ class DiagEventDebounceMonitorInternal(DiagEventDebounceAlgorithm):
1194
+ """
1195
+ Represents an internal monitor-based diagnostic event debounce algorithm in AUTOSAR models.
1196
+ This class defines debounce algorithms based on internal monitoring mechanisms rather than counters or time thresholds.
1197
+ """
1198
+
1199
+ def __init__(self, parent: ARObject, short_name: str):
1200
+ """
1201
+ Initializes the DiagEventDebounceMonitorInternal with a parent and short name.
1202
+
1203
+ Args:
1204
+ parent: The parent ARObject that contains this internal monitor debounce algorithm
1205
+ short_name: The unique short name of this internal monitor debounce algorithm
1206
+ """
1207
+ super().__init__(parent, short_name)
1208
+
1209
+
1210
+ class DiagEventDebounceTimeBased(DiagEventDebounceAlgorithm):
1211
+ """
1212
+ Represents a time-based diagnostic event debounce algorithm in AUTOSAR models.
1213
+ This class defines debounce algorithms based on time thresholds to detect and handle diagnostic events.
1214
+ """
1215
+
1216
+ def __init__(self, parent: ARObject, short_name: str):
1217
+ """
1218
+ Initializes the DiagEventDebounceTimeBased with a parent and short name.
1219
+
1220
+ Args:
1221
+ parent: The parent ARObject that contains this time-based debounce algorithm
1222
+ short_name: The unique short name of this time-based debounce algorithm
1223
+ """
1224
+ super().__init__(parent, short_name)
1225
+
1226
+ # Time-based FDC (Fault Detection Counter) threshold storage value
1227
+ self.timeBasedFdcThresholdStorageValue: TimeValue = None
1228
+ # Time threshold for failed state detection
1229
+ self.timeFailedThreshold: TimeValue = None
1230
+ # Time threshold for passed state detection
1231
+ self.timePassedThreshold: TimeValue = None
1232
+
1233
+ def getTimeBasedFdcThresholdStorageValue(self):
1234
+ return self.timeBasedFdcThresholdStorageValue
1235
+
1236
+ def setTimeBasedFdcThresholdStorageValue(self, value):
1237
+ self.timeBasedFdcThresholdStorageValue = value
1238
+ return self
1239
+
1240
+ def getTimeFailedThreshold(self):
1241
+ return self.timeFailedThreshold
1242
+
1243
+ def setTimeFailedThreshold(self, value):
1244
+ self.timeFailedThreshold = value
1245
+ return self
1246
+
1247
+ def getTimePassedThreshold(self):
1248
+ return self.timePassedThreshold
1249
+
1250
+ def setTimePassedThreshold(self, value):
1251
+ self.timePassedThreshold = value
1252
+ return self
1253
+
1254
+
1255
+ class DtcKindEnum(AREnum):
1256
+ """
1257
+ Enumeration for DTC (Diagnostic Trouble Code) kinds in AUTOSAR models.
1258
+ Defines the type of diagnostic trouble codes used (currently empty as per specification).
1259
+ """
1260
+
1261
+ def __init__(self):
1262
+ """
1263
+ Initializes the DtcKindEnum with empty values list.
1264
+ """
1265
+ super().__init__([])
1266
+
1267
+
1268
+ class DiagnosticEventInfoNeeds(DiagnosticCapabilityElement):
1269
+ """
1270
+ Represents diagnostic event information needs in AUTOSAR models.
1271
+ This class defines requirements for diagnostic events including DTC information and numbering schemes.
1272
+ """
1273
+
1274
+ def __init__(self, parent: ARObject, short_name: str):
1275
+ """
1276
+ Initializes the DiagnosticEventInfoNeeds with a parent and short name.
1277
+
1278
+ Args:
1279
+ parent: The parent ARObject that contains this diagnostic event information needs
1280
+ short_name: The unique short name of this diagnostic event information needs
1281
+ """
1282
+ super().__init__(parent, short_name)
1283
+
1284
+ # Type of diagnostic trouble code (DTC) for this event
1285
+ self.dtcKind: DtcKindEnum = None
1286
+ # OBD (On-Board Diagnostics) DTC number for this event
1287
+ self.obdDtcNumber: PositiveInteger = None
1288
+ # UDS (Unified Diagnostic Services) DTC number for this event
1289
+ self.udsDtcNumber: PositiveInteger = None
1290
+
1291
+ def getDtcKind(self):
1292
+ """
1293
+ Gets the type of diagnostic trouble code (DTC) for this event.
1294
+
1295
+ Returns:
1296
+ DtcKindEnum: The DTC kind
1297
+ """
1298
+ return self.dtcKind
1299
+
1300
+ def setDtcKind(self, value):
1301
+ """
1302
+ Sets the type of diagnostic trouble code (DTC) for this event.
1303
+ Only sets the value if it is not None.
1304
+
1305
+ Args:
1306
+ value: The DTC kind to set
1307
+
1308
+ Returns:
1309
+ self for method chaining
1310
+ """
1311
+ if value is not None:
1312
+ self.dtcKind = value
1313
+ return self
1314
+
1315
+ def getObdDtcNumber(self):
1316
+ """
1317
+ Gets the OBD (On-Board Diagnostics) DTC number for this event.
1318
+
1319
+ Returns:
1320
+ PositiveInteger: The OBD DTC number
1321
+ """
1322
+ return self.obdDtcNumber
1323
+
1324
+ def setObdDtcNumber(self, value):
1325
+ """
1326
+ Sets the OBD (On-Board Diagnostics) DTC number for this event.
1327
+ Only sets the value if it is not None.
1328
+
1329
+ Args:
1330
+ value: The OBD DTC number to set
1331
+
1332
+ Returns:
1333
+ self for method chaining
1334
+ """
1335
+ if value is not None:
1336
+ self.obdDtcNumber = value
1337
+ return self
1338
+
1339
+ def getUdsDtcNumber(self):
1340
+ """
1341
+ Gets the UDS (Unified Diagnostic Services) DTC number for this event.
1342
+
1343
+ Returns:
1344
+ PositiveInteger: The UDS DTC number
1345
+ """
1346
+ return self.udsDtcNumber
1347
+
1348
+ def setUdsDtcNumber(self, value):
1349
+ """
1350
+ Sets the UDS (Unified Diagnostic Services) DTC number for this event.
1351
+ Only sets the value if it is not None.
1352
+
1353
+ Args:
1354
+ value: The UDS DTC number to set
1355
+
1356
+ Returns:
1357
+ self for method chaining
1358
+ """
1359
+ if value is not None:
1360
+ self.udsDtcNumber = value
1361
+ return self
1362
+
1363
+
1364
+ class DiagnosticClearDtcNotificationEnum(AREnum):
1365
+ """
1366
+ Enumeration for diagnostic clear DTC notification types in AUTOSAR models.
1367
+ Defines the timing for notification when DTCs are cleared (currently empty as per specification).
1368
+ """
1369
+
1370
+ def __init__(self):
1371
+ """
1372
+ Initializes the DiagnosticClearDtcNotificationEnum with empty values list.
1373
+ """
1374
+ super().__init__([])
1375
+
1376
+
1377
+ class DtcFormatTypeEnum(AREnum):
1378
+ """
1379
+ Enumeration for DTC format types in AUTOSAR models.
1380
+ Defines the format used for diagnostic trouble codes (currently empty as per specification).
1381
+ """
1382
+
1383
+ def __init__(self):
1384
+ """
1385
+ Initializes the DtcFormatTypeEnum with empty values list.
1386
+ """
1387
+ super().__init__([])
1388
+
1389
+
1390
+ class DtcStatusChangeNotificationNeeds(DiagnosticCapabilityElement):
1391
+ """
1392
+ Represents DTC status change notification needs in AUTOSAR models.
1393
+ This class defines requirements for notifications when DTC status changes occur.
1394
+ """
1395
+
1396
+ def __init__(self, parent, short_name):
1397
+ """
1398
+ Initializes the DtcStatusChangeNotificationNeeds with a parent and short name.
1399
+ Note: This is an extension for AUTOSAR 4.3.1.
1400
+
1401
+ Args:
1402
+ parent: The parent ARObject that contains this DTC status change notification needs
1403
+ short_name: The unique short name of this DTC status change notification needs
1404
+ """
1405
+ super().__init__(parent, short_name)
1406
+
1407
+ # Format type for DTC used in notifications
1408
+ self.dtcFormatType: DtcFormatTypeEnum = None
1409
+ # Notification timing for when DTCs are cleared
1410
+ self.notificationTime: DiagnosticClearDtcNotificationEnum = None
1411
+
1412
+ def getDtcFormatType(self):
1413
+ """
1414
+ Gets the format type for DTC used in notifications.
1415
+
1416
+ Returns:
1417
+ DtcFormatTypeEnum: The DTC format type
1418
+ """
1419
+ return self.dtcFormatType
1420
+
1421
+ def setDtcFormatType(self, value):
1422
+ """
1423
+ Sets the format type for DTC used in notifications.
1424
+ Only sets the value if it is not None.
1425
+
1426
+ Args:
1427
+ value: The DTC format type to set
1428
+
1429
+ Returns:
1430
+ self for method chaining
1431
+ """
1432
+ if value is not None:
1433
+ self.dtcFormatType = value
1434
+ return self
1435
+
1436
+ def getNotificationTime(self):
1437
+ """
1438
+ Gets the notification timing for when DTCs are cleared.
1439
+
1440
+ Returns:
1441
+ DiagnosticClearDtcNotificationEnum: The notification timing
1442
+ """
1443
+ return self.notificationTime
1444
+
1445
+ def setNotificationTime(self, value):
1446
+ """
1447
+ Sets the notification timing for when DTCs are cleared.
1448
+ Only sets the value if it is not None.
1449
+
1450
+ Args:
1451
+ value: The notification timing to set
1452
+
1453
+ Returns:
1454
+ self for method chaining
1455
+ """
1456
+ if value is not None:
1457
+ self.notificationTime = value
1458
+ return self
1459
+
1460
+
1461
+ class DiagnosticEventNeeds(DiagnosticCapabilityElement):
1462
+ """
1463
+ Represents diagnostic event needs in AUTOSAR models.
1464
+ This class defines requirements for diagnostic events including debounce algorithms, FID references, and DTC information.
1465
+ """
1466
+
1467
+ def __init__(self, parent: ARObject, short_name: str):
1468
+ """
1469
+ Initializes the DiagnosticEventNeeds with a parent and short name.
1470
+
1471
+ Args:
1472
+ parent: The parent ARObject that contains this diagnostic event needs
1473
+ short_name: The unique short name of this diagnostic event needs
1474
+ """
1475
+ super().__init__(parent, short_name)
1476
+
1477
+ # List of FID (Function Identifier) references for deferring this diagnostic event
1478
+ self.deferringFidRefs: List[RefType] = []
1479
+ # Debounce algorithm for this diagnostic event
1480
+ self.diagEventDebounceAlgorithm: DiagEventDebounceAlgorithm = None
1481
+ # FID reference for inhibiting this diagnostic event
1482
+ self.inhibitingFidRef: RefType = None
1483
+ # Secondary FID reference for inhibiting this diagnostic event
1484
+ self.inhibitingSecondaryFidRef: RefType = None
1485
+ # Flag indicating if prestored freeze frame is stored in NVM
1486
+ self.prestoredFreezeframeStoredInNvm: Boolean = None
1487
+ # Flag indicating if this event uses monitor data
1488
+ self.usesMonitorData: Boolean = None
1489
+ # Type of diagnostic trouble code (DTC) for this event (as ARLiteral)
1490
+ self.dtcKind: ARLiteral = None
1491
+ # UDS (Unified Diagnostic Services) DTC number for this event
1492
+ self.udsDtcNumber: Integer = None
1493
+
1494
+ def getDeferringFidRefs(self):
1495
+ """
1496
+ Gets the list of FID (Function Identifier) references for deferring this diagnostic event.
1497
+
1498
+ Returns:
1499
+ List of RefType instances
1500
+ """
1501
+ return self.deferringFidRefs
1502
+
1503
+ def addDeferringFidRef(self, value):
1504
+ """
1505
+ Adds a FID (Function Identifier) reference for deferring this diagnostic event.
1506
+
1507
+ Args:
1508
+ value: The FID reference to add
1509
+
1510
+ Returns:
1511
+ self for method chaining
1512
+ """
1513
+ self.deferringFidRefs.append(value)
1514
+ return self
1515
+
1516
+ def getDiagEventDebounceAlgorithm(self):
1517
+ """
1518
+ Gets the debounce algorithm for this diagnostic event.
1519
+
1520
+ Returns:
1521
+ DiagEventDebounceAlgorithm: The debounce algorithm
1522
+ """
1523
+ return self.diagEventDebounceAlgorithm
1524
+
1525
+ def createDiagEventDebounceCounterBased(self, short_name: str):
1526
+ """
1527
+ Creates and adds a counter-based debounce algorithm for this diagnostic event.
1528
+
1529
+ Args:
1530
+ short_name: The short name for the new counter-based debounce algorithm
1531
+
1532
+ Returns:
1533
+ The created DiagEventDebounceCounterBased instance
1534
+ """
1535
+ if (short_name not in self.elements):
1536
+ algorithm = DiagEventDebounceCounterBased(self, short_name)
1537
+ self.addElement(algorithm)
1538
+ self.diagEventDebounceAlgorithm = algorithm
1539
+ return self.getElement(short_name)
1540
+
1541
+ def createDiagEventDebounceMonitorInternal(self, short_name: str):
1542
+ """
1543
+ Creates and adds an internal monitor-based debounce algorithm for this diagnostic event.
1544
+
1545
+ Args:
1546
+ short_name: The short name for the new internal monitor debounce algorithm
1547
+
1548
+ Returns:
1549
+ The created DiagEventDebounceMonitorInternal instance
1550
+ """
1551
+ if (short_name not in self.elements):
1552
+ algorithm = DiagEventDebounceMonitorInternal(self, short_name)
1553
+ self.addElement(algorithm)
1554
+ self.diagEventDebounceAlgorithm = algorithm
1555
+ return self.getElement(short_name)
1556
+
1557
+ def createDiagEventDebounceTimeBased(self, short_name: str):
1558
+ """
1559
+ Creates and adds a time-based debounce algorithm for this diagnostic event.
1560
+
1561
+ Args:
1562
+ short_name: The short name for the new time-based debounce algorithm
1563
+
1564
+ Returns:
1565
+ The created DiagEventDebounceTimeBased instance
1566
+ """
1567
+ if (short_name not in self.elements):
1568
+ algorithm = DiagEventDebounceTimeBased(self, short_name)
1569
+ self.addElement(algorithm)
1570
+ self.diagEventDebounceAlgorithm = algorithm
1571
+ return self.getElement(short_name)
1572
+
1573
+ def getInhibitingFidRef(self):
1574
+ """
1575
+ Gets the FID reference for inhibiting this diagnostic event.
1576
+
1577
+ Returns:
1578
+ RefType: The inhibiting FID reference
1579
+ """
1580
+ return self.inhibitingFidRef
1581
+
1582
+ def setInhibitingFidRef(self, value):
1583
+ """
1584
+ Sets the FID reference for inhibiting this diagnostic event.
1585
+ Only sets the value if it is not None.
1586
+
1587
+ Args:
1588
+ value: The inhibiting FID reference to set
1589
+
1590
+ Returns:
1591
+ self for method chaining
1592
+ """
1593
+ self.inhibitingFidRef = value
1594
+ return self
1595
+
1596
+ def getInhibitingSecondaryFidRef(self):
1597
+ """
1598
+ Gets the secondary FID reference for inhibiting this diagnostic event.
1599
+
1600
+ Returns:
1601
+ RefType: The secondary inhibiting FID reference
1602
+ """
1603
+ return self.inhibitingSecondaryFidRef
1604
+
1605
+ def setInhibitingSecondaryFidRef(self, value):
1606
+ """
1607
+ Sets the secondary FID reference for inhibiting this diagnostic event.
1608
+ Only sets the value if it is not None.
1609
+
1610
+ Args:
1611
+ value: The secondary inhibiting FID reference to set
1612
+
1613
+ Returns:
1614
+ self for method chaining
1615
+ """
1616
+ self.inhibitingSecondaryFidRef = value
1617
+ return self
1618
+
1619
+ def getPrestoredFreezeframeStoredInNvm(self):
1620
+ """
1621
+ Gets the flag indicating if prestored freeze frame is stored in NVM.
1622
+
1623
+ Returns:
1624
+ Boolean: The prestored freeze frame flag
1625
+ """
1626
+ return self.prestoredFreezeframeStoredInNvm
1627
+
1628
+ def setPrestoredFreezeframeStoredInNvm(self, value):
1629
+ """
1630
+ Sets the flag indicating if prestored freeze frame is stored in NVM.
1631
+ Only sets the value if it is not None.
1632
+
1633
+ Args:
1634
+ value: The prestored freeze frame flag to set
1635
+
1636
+ Returns:
1637
+ self for method chaining
1638
+ """
1639
+ self.prestoredFreezeframeStoredInNvm = value
1640
+ return self
1641
+
1642
+ def getUsesMonitorData(self):
1643
+ """
1644
+ Gets the flag indicating if this event uses monitor data.
1645
+
1646
+ Returns:
1647
+ Boolean: The use monitor data flag
1648
+ """
1649
+ return self.usesMonitorData
1650
+
1651
+ def setUsesMonitorData(self, value):
1652
+ """
1653
+ Sets the flag indicating if this event uses monitor data.
1654
+ Only sets the value if it is not None.
1655
+
1656
+ Args:
1657
+ value: The use monitor data flag to set
1658
+
1659
+ Returns:
1660
+ self for method chaining
1661
+ """
1662
+ self.usesMonitorData = value
1663
+ return self
1664
+
1665
+ def getDtcKind(self):
1666
+ """
1667
+ Gets the type of diagnostic trouble code (DTC) for this event (as ARLiteral).
1668
+
1669
+ Returns:
1670
+ ARLiteral: The DTC kind
1671
+ """
1672
+ return self.dtcKind
1673
+
1674
+ def setDtcKind(self, value):
1675
+ """
1676
+ Sets the type of diagnostic trouble code (DTC) for this event (as ARLiteral).
1677
+ Only sets the value if it is not None.
1678
+
1679
+ Args:
1680
+ value: The DTC kind to set
1681
+
1682
+ Returns:
1683
+ self for method chaining
1684
+ """
1685
+ self.dtcKind = value
1686
+ return self
1687
+
1688
+ def getUdsDtcNumber(self):
1689
+ """
1690
+ Gets the UDS (Unified Diagnostic Services) DTC number for this event.
1691
+
1692
+ Returns:
1693
+ Integer: The UDS DTC number
1694
+ """
1695
+ return self.udsDtcNumber
1696
+
1697
+ def setUdsDtcNumber(self, value):
1698
+ """
1699
+ Sets the UDS (Unified Diagnostic Services) DTC number for this event.
1700
+ Only sets the value if it is not None.
1701
+
1702
+ Args:
1703
+ value: The UDS DTC number to set
1704
+
1705
+ Returns:
1706
+ self for method chaining
1707
+ """
1708
+ self.udsDtcNumber = value
1709
+ return self
1710
+
1711
+
1712
+ class CryptoServiceNeeds(ServiceNeeds):
1713
+ """
1714
+ Represents cryptographic service needs in AUTOSAR models.
1715
+ This class defines requirements for cryptographic services including algorithm information and key management.
1716
+ """
1717
+
1718
+ def __init__(self, parent: ARObject, short_name: str):
1719
+ """
1720
+ Initializes the CryptoServiceNeeds with a parent and short name.
1721
+
1722
+ Args:
1723
+ parent: The parent ARObject that contains this cryptographic service needs
1724
+ short_name: The unique short name of this cryptographic service needs
1725
+ """
1726
+ super().__init__(parent, short_name)
1727
+
1728
+ # Algorithm family used by this cryptographic service
1729
+ self.algorithmFamily: String = None
1730
+ # Algorithm mode used by this cryptographic service
1731
+ self.algorithmMode: String = None
1732
+ # Description of the cryptographic key used by this service
1733
+ self.cryptoKeyDescription: String = None
1734
+ # Maximum length of keys supported by this cryptographic service
1735
+ self.maximumKeyLength: PositiveInteger = None
1736
+
1737
+ def getAlgorithmFamily(self):
1738
+ """
1739
+ Gets the algorithm family used by this cryptographic service.
1740
+
1741
+ Returns:
1742
+ String: The algorithm family
1743
+ """
1744
+ return self.algorithmFamily
1745
+
1746
+ def setAlgorithmFamily(self, value):
1747
+ """
1748
+ Sets the algorithm family used by this cryptographic service.
1749
+ Only sets the value if it is not None.
1750
+
1751
+ Args:
1752
+ value: The algorithm family to set
1753
+
1754
+ Returns:
1755
+ self for method chaining
1756
+ """
1757
+ self.algorithmFamily = value
1758
+ return self
1759
+
1760
+ def getAlgorithmMode(self):
1761
+ """
1762
+ Gets the algorithm mode used by this cryptographic service.
1763
+
1764
+ Returns:
1765
+ String: The algorithm mode
1766
+ """
1767
+ return self.algorithmMode
1768
+
1769
+ def setAlgorithmMode(self, value):
1770
+ """
1771
+ Sets the algorithm mode used by this cryptographic service.
1772
+ Only sets the value if it is not None.
1773
+
1774
+ Args:
1775
+ value: The algorithm mode to set
1776
+
1777
+ Returns:
1778
+ self for method chaining
1779
+ """
1780
+ self.algorithmMode = value
1781
+ return self
1782
+
1783
+ def getCryptoKeyDescription(self):
1784
+ """
1785
+ Gets the description of the cryptographic key used by this service.
1786
+
1787
+ Returns:
1788
+ String: The cryptographic key description
1789
+ """
1790
+ return self.cryptoKeyDescription
1791
+
1792
+ def setCryptoKeyDescription(self, value):
1793
+ """
1794
+ Sets the description of the cryptographic key used by this service.
1795
+ Only sets the value if it is not None.
1796
+
1797
+ Args:
1798
+ value: The cryptographic key description to set
1799
+
1800
+ Returns:
1801
+ self for method chaining
1802
+ """
1803
+ self.cryptoKeyDescription = value
1804
+ return self
1805
+
1806
+ def getMaximumKeyLength(self):
1807
+ """
1808
+ Gets the maximum length of keys supported by this cryptographic service.
1809
+
1810
+ Returns:
1811
+ PositiveInteger: The maximum key length
1812
+ """
1813
+ return self.maximumKeyLength
1814
+
1815
+ def setMaximumKeyLength(self, value):
1816
+ """
1817
+ Sets the maximum length of keys supported by this cryptographic service.
1818
+ Only sets the value if it is not None.
1819
+
1820
+ Args:
1821
+ value: The maximum key length to set
1822
+
1823
+ Returns:
1824
+ self for method chaining
1825
+ """
1826
+ self.maximumKeyLength = value
1827
+ return self
1828
+
1829
+
1830
+ class EcuStateMgrUserNeeds(ServiceNeeds):
1831
+ """
1832
+ Represents ECU state manager user needs in AUTOSAR models.
1833
+ This class defines requirements for components that use the ECU state manager service.
1834
+ """
1835
+
1836
+ def __init__(self, parent: ARObject, short_name: str):
1837
+ """
1838
+ Initializes the EcuStateMgrUserNeeds with a parent and short name.
1839
+
1840
+ Args:
1841
+ parent: The parent ARObject that contains this ECU state manager user needs
1842
+ short_name: The unique short name of this ECU state manager user needs
1843
+ """
1844
+ super().__init__(parent, short_name)
1845
+
1846
+
1847
+ class DltUserNeeds(ServiceNeeds):
1848
+ """
1849
+ Represents DLT (Diagnostic Log and Trace) user needs in AUTOSAR models.
1850
+ This class defines requirements for components that use the DLT service for logging and tracing.
1851
+ """
1852
+
1853
+ def __init__(self, parent: ARObject, short_name: str):
1854
+ """
1855
+ Initializes the DltUserNeeds with a parent and short name.
1856
+
1857
+ Args:
1858
+ parent: The parent ARObject that contains this DLT user needs
1859
+ short_name: The unique short name of this DLT user needs
1860
+ """
1861
+ super().__init__(parent, short_name)
1862
+
1863
+
1864
+ class BswMgrNeeds(ServiceNeeds):
1865
+ """
1866
+ Represents BSW Manager needs in AUTOSAR models.
1867
+ This class defines requirements for Basic Software Manager services.
1868
+ """
1869
+
1870
+ def __init__(self, parent: ARObject, short_name: str):
1871
+ """
1872
+ Initializes the BswMgrNeeds with a parent and short name.
1873
+
1874
+ Args:
1875
+ parent: The parent ARObject that contains this BSW manager needs
1876
+ short_name: The unique short name of this BSW manager needs
1877
+ """
1878
+ super().__init__(parent, short_name)
1879
+
1880
+
1881
+ class ComMgrUserNeeds(ServiceNeeds):
1882
+ """
1883
+ Represents Communication Manager user needs in AUTOSAR models.
1884
+ This class defines requirements for Communication Manager services.
1885
+ """
1886
+
1887
+ def __init__(self, parent: ARObject, short_name: str):
1888
+ """
1889
+ Initializes the ComMgrUserNeeds with a parent and short name.
1890
+
1891
+ Args:
1892
+ parent: The parent ARObject that contains this COM manager user needs
1893
+ short_name: The unique short name of this COM manager user needs
1894
+ """
1895
+ super().__init__(parent, short_name)
1896
+
1897
+
1898
+ class CryptoKeyManagementNeeds(ServiceNeeds):
1899
+ """
1900
+ Represents Cryptographic Key Management needs in AUTOSAR models.
1901
+ This class defines requirements for cryptographic key management services.
1902
+ """
1903
+
1904
+ def __init__(self, parent: ARObject, short_name: str):
1905
+ """
1906
+ Initializes the CryptoKeyManagementNeeds with a parent and short name.
1907
+
1908
+ Args:
1909
+ parent: The parent ARObject that contains this crypto key management needs
1910
+ short_name: The unique short name of this crypto key management needs
1911
+ """
1912
+ super().__init__(parent, short_name)
1913
+
1914
+
1915
+ class CryptoServiceJobNeeds(ServiceNeeds):
1916
+ """
1917
+ Represents Cryptographic Service Job needs in AUTOSAR models.
1918
+ This class defines requirements for cryptographic service job operations.
1919
+ """
1920
+
1921
+ def __init__(self, parent: ARObject, short_name: str):
1922
+ """
1923
+ Initializes the CryptoServiceJobNeeds with a parent and short name.
1924
+
1925
+ Args:
1926
+ parent: The parent ARObject that contains this crypto service job needs
1927
+ short_name: The unique short name of this crypto service job needs
1928
+ """
1929
+ super().__init__(parent, short_name)
1930
+
1931
+
1932
+ class DevelopmentError(ARObject):
1933
+ """
1934
+ Represents a development error in AUTOSAR models.
1935
+ This class defines information about development errors for error handling.
1936
+ """
1937
+
1938
+ def __init__(self):
1939
+ """
1940
+ Initializes the DevelopmentError with default values.
1941
+ """
1942
+ super().__init__()
1943
+ self.errorCode: Integer = None
1944
+ self.errorDescription: String = None
1945
+
1946
+ def getErrorCode(self):
1947
+ return self.errorCode
1948
+
1949
+ def setErrorCode(self, value):
1950
+ self.errorCode = value
1951
+ return self
1952
+
1953
+ def getErrorDescription(self):
1954
+ return self.errorDescription
1955
+
1956
+ def setErrorDescription(self, value):
1957
+ self.errorDescription = value
1958
+ return self
1959
+
1960
+
1961
+ class DiagnosticComponentNeeds(ServiceNeeds):
1962
+ """
1963
+ Represents Diagnostic Component needs in AUTOSAR models.
1964
+ This class defines requirements for diagnostic component services.
1965
+ """
1966
+
1967
+ def __init__(self, parent: ARObject, short_name: str):
1968
+ """
1969
+ Initializes the DiagnosticComponentNeeds with a parent and short name.
1970
+
1971
+ Args:
1972
+ parent: The parent ARObject that contains this diagnostic component needs
1973
+ short_name: The unique short name of this diagnostic component needs
1974
+ """
1975
+ super().__init__(parent, short_name)
1976
+
1977
+
1978
+ class DiagnosticControlNeeds(ServiceNeeds):
1979
+ """
1980
+ Represents Diagnostic Control needs in AUTOSAR models.
1981
+ This class defines requirements for diagnostic control services.
1982
+ """
1983
+
1984
+ def __init__(self, parent: ARObject, short_name: str):
1985
+ """
1986
+ Initializes the DiagnosticControlNeeds with a parent and short name.
1987
+
1988
+ Args:
1989
+ parent: The parent ARObject that contains this diagnostic control needs
1990
+ short_name: The unique short name of this diagnostic control needs
1991
+ """
1992
+ super().__init__(parent, short_name)
1993
+
1994
+
1995
+ class DiagnosticDenominatorConditionEnum(AREnum):
1996
+ """
1997
+ Enumeration for diagnostic denominator condition types.
1998
+ """
1999
+
2000
+ DENOMINATOR_OFF = "denominator-off"
2001
+ DENOMINATOR_ON = "denominator-on"
2002
+
2003
+ def __init__(self):
2004
+ super().__init__((
2005
+ DiagnosticDenominatorConditionEnum.DENOMINATOR_OFF,
2006
+ DiagnosticDenominatorConditionEnum.DENOMINATOR_ON,
2007
+ ))
2008
+
2009
+
2010
+ class DiagnosticEnableConditionNeeds(ServiceNeeds):
2011
+ """
2012
+ Represents Diagnostic Enable Condition needs in AUTOSAR models.
2013
+ This class defines requirements for diagnostic enable condition services.
2014
+ """
2015
+
2016
+ def __init__(self, parent: ARObject, short_name: str):
2017
+ """
2018
+ Initializes the DiagnosticEnableConditionNeeds with a parent and short name.
2019
+
2020
+ Args:
2021
+ parent: The parent ARObject that contains this diagnostic enable condition needs
2022
+ short_name: The unique short name of this diagnostic enable condition needs
2023
+ """
2024
+ super().__init__(parent, short_name)
2025
+
2026
+
2027
+ class DiagnosticEventManagerNeeds(ServiceNeeds):
2028
+ """
2029
+ Represents Diagnostic Event Manager needs in AUTOSAR models.
2030
+ This class defines requirements for diagnostic event manager services.
2031
+ """
2032
+
2033
+ def __init__(self, parent: ARObject, short_name: str):
2034
+ """
2035
+ Initializes the DiagnosticEventManagerNeeds with a parent and short name.
2036
+
2037
+ Args:
2038
+ parent: The parent ARObject that contains this diagnostic event manager needs
2039
+ short_name: The unique short name of this diagnostic event manager needs
2040
+ """
2041
+ super().__init__(parent, short_name)
2042
+
2043
+
2044
+ class DiagnosticIoControlNeeds(ServiceNeeds):
2045
+ """
2046
+ Represents Diagnostic I/O Control needs in AUTOSAR models.
2047
+ This class defines requirements for diagnostic input/output control services.
2048
+ """
2049
+
2050
+ def __init__(self, parent: ARObject, short_name: str):
2051
+ """
2052
+ Initializes the DiagnosticIoControlNeeds with a parent and short name.
2053
+
2054
+ Args:
2055
+ parent: The parent ARObject that contains this diagnostic I/O control needs
2056
+ short_name: The unique short name of this diagnostic I/O control needs
2057
+ """
2058
+ super().__init__(parent, short_name)
2059
+
2060
+
2061
+ class DiagnosticMonitorUpdateKindEnum(AREnum):
2062
+ """
2063
+ Enumeration for diagnostic monitor update kinds.
2064
+ """
2065
+
2066
+ IMMEDIATE = "immediate"
2067
+ ON_REQUEST = "on-request"
2068
+
2069
+ def __init__(self):
2070
+ super().__init__((
2071
+ DiagnosticMonitorUpdateKindEnum.IMMEDIATE,
2072
+ DiagnosticMonitorUpdateKindEnum.ON_REQUEST,
2073
+ ))
2074
+
2075
+
2076
+ class DiagnosticOperationCycleNeeds(ServiceNeeds):
2077
+ """
2078
+ Represents Diagnostic Operation Cycle needs in AUTOSAR models.
2079
+ This class defines requirements for diagnostic operation cycle services.
2080
+ """
2081
+
2082
+ def __init__(self, parent: ARObject, short_name: str):
2083
+ """
2084
+ Initializes the DiagnosticOperationCycleNeeds with a parent and short name.
2085
+
2086
+ Args:
2087
+ parent: The parent ARObject that contains this diagnostic operation cycle needs
2088
+ short_name: The unique short name of this diagnostic operation cycle needs
2089
+ """
2090
+ super().__init__(parent, short_name)
2091
+
2092
+
2093
+ class DiagnosticRequestFileTransferNeeds(ServiceNeeds):
2094
+ """
2095
+ Represents Diagnostic Request File Transfer needs in AUTOSAR models.
2096
+ This class defines requirements for diagnostic file transfer services.
2097
+ """
2098
+
2099
+ def __init__(self, parent: ARObject, short_name: str):
2100
+ """
2101
+ Initializes the DiagnosticRequestFileTransferNeeds with a parent and short name.
2102
+
2103
+ Args:
2104
+ parent: The parent ARObject that contains this diagnostic request file transfer needs
2105
+ short_name: The unique short name of this diagnostic request file transfer needs
2106
+ """
2107
+ super().__init__(parent, short_name)
2108
+
2109
+
2110
+ class DiagnosticStorageConditionNeeds(ServiceNeeds):
2111
+ """
2112
+ Represents Diagnostic Storage Condition needs in AUTOSAR models.
2113
+ This class defines requirements for diagnostic storage condition services.
2114
+ """
2115
+
2116
+ def __init__(self, parent: ARObject, short_name: str):
2117
+ """
2118
+ Initializes the DiagnosticStorageConditionNeeds with a parent and short name.
2119
+
2120
+ Args:
2121
+ parent: The parent ARObject that contains this diagnostic storage condition needs
2122
+ short_name: The unique short name of this diagnostic storage condition needs
2123
+ """
2124
+ super().__init__(parent, short_name)
2125
+
2126
+
2127
+ class DiagnosticUploadDownloadNeeds(ServiceNeeds):
2128
+ """
2129
+ Represents Diagnostic Upload/Download needs in AUTOSAR models.
2130
+ This class defines requirements for diagnostic upload and download services.
2131
+ """
2132
+
2133
+ def __init__(self, parent: ARObject, short_name: str):
2134
+ """
2135
+ Initializes the DiagnosticUploadDownloadNeeds with a parent and short name.
2136
+
2137
+ Args:
2138
+ parent: The parent ARObject that contains this diagnostic upload/download needs
2139
+ short_name: The unique short name of this diagnostic upload/download needs
2140
+ """
2141
+ super().__init__(parent, short_name)
2142
+
2143
+
2144
+ class DiagnosticsCommunicationSecurityNeeds(ServiceNeeds):
2145
+ """
2146
+ Represents Diagnostics Communication Security needs in AUTOSAR models.
2147
+ This class defines requirements for secure diagnostic communication services.
2148
+ """
2149
+
2150
+ def __init__(self, parent: ARObject, short_name: str):
2151
+ """
2152
+ Initializes the DiagnosticsCommunicationSecurityNeeds with a parent and short name.
2153
+
2154
+ Args:
2155
+ parent: The parent ARObject that contains this diagnostics communication security needs
2156
+ short_name: The unique short name of this diagnostics communication security needs
2157
+ """
2158
+ super().__init__(parent, short_name)
2159
+
2160
+
2161
+ class DoIpActivationLineNeeds(ServiceNeeds):
2162
+ """
2163
+ Represents DoIP Activation Line needs in AUTOSAR models.
2164
+ This class defines requirements for DoIP (Diagnostics over IP) activation line services.
2165
+ """
2166
+
2167
+ def __init__(self, parent: ARObject, short_name: str):
2168
+ """
2169
+ Initializes the DoIpActivationLineNeeds with a parent and short name.
2170
+
2171
+ Args:
2172
+ parent: The parent ARObject that contains this DoIP activation line needs
2173
+ short_name: The unique short name of this DoIP activation line needs
2174
+ """
2175
+ super().__init__(parent, short_name)
2176
+
2177
+
2178
+ class DoIpGidNeeds(ServiceNeeds):
2179
+ """
2180
+ Represents DoIP GID needs in AUTOSAR models.
2181
+ This class defines requirements for DoIP (Diagnostics over IP) GID services.
2182
+ """
2183
+
2184
+ def __init__(self, parent: ARObject, short_name: str):
2185
+ """
2186
+ Initializes the DoIpGidNeeds with a parent and short name.
2187
+
2188
+ Args:
2189
+ parent: The parent ARObject that contains this DoIP GID needs
2190
+ short_name: The unique short name of this DoIP GID needs
2191
+ """
2192
+ super().__init__(parent, short_name)
2193
+
2194
+
2195
+ class DoIpGidSynchronizationNeeds(ServiceNeeds):
2196
+ """
2197
+ Represents DoIP GID Synchronization needs in AUTOSAR models.
2198
+ This class defines requirements for DoIP (Diagnostics over IP) GID synchronization services.
2199
+ """
2200
+
2201
+ def __init__(self, parent: ARObject, short_name: str):
2202
+ """
2203
+ Initializes the DoIpGidSynchronizationNeeds with a parent and short name.
2204
+
2205
+ Args:
2206
+ parent: The parent ARObject that contains this DoIP GID synchronization needs
2207
+ short_name: The unique short name of this DoIP GID synchronization needs
2208
+ """
2209
+ super().__init__(parent, short_name)
2210
+
2211
+
2212
+ class DoIpPowerModeStatusNeeds(ServiceNeeds):
2213
+ """
2214
+ Represents DoIP Power Mode Status needs in AUTOSAR models.
2215
+ This class defines requirements for DoIP (Diagnostics over IP) power mode status services.
2216
+ """
2217
+
2218
+ def __init__(self, parent: ARObject, short_name: str):
2219
+ """
2220
+ Initializes the DoIpPowerModeStatusNeeds with a parent and short name.
2221
+
2222
+ Args:
2223
+ parent: The parent ARObject that contains this DoIP power mode status needs
2224
+ short_name: The unique short name of this DoIP power mode status needs
2225
+ """
2226
+ super().__init__(parent, short_name)
2227
+
2228
+
2229
+ class DoIpRoutingActivationAuthenticationNeeds(ServiceNeeds):
2230
+ """
2231
+ Represents DoIP Routing Activation Authentication needs in AUTOSAR models.
2232
+ This class defines requirements for DoIP (Diagnostics over IP) routing activation authentication services.
2233
+ """
2234
+
2235
+ def __init__(self, parent: ARObject, short_name: str):
2236
+ """
2237
+ Initializes the DoIpRoutingActivationAuthenticationNeeds with a parent and short name.
2238
+
2239
+ Args:
2240
+ parent: The parent ARObject that contains this DoIP routing activation authentication needs
2241
+ short_name: The unique short name of this DoIP routing activation authentication needs
2242
+ """
2243
+ super().__init__(parent, short_name)
2244
+
2245
+
2246
+ class DoIpRoutingActivationConfirmationNeeds(ServiceNeeds):
2247
+ """
2248
+ Represents DoIP Routing Activation Confirmation needs in AUTOSAR models.
2249
+ This class defines requirements for DoIP (Diagnostics over IP) routing activation confirmation services.
2250
+ """
2251
+
2252
+ def __init__(self, parent: ARObject, short_name: str):
2253
+ """
2254
+ Initializes the DoIpRoutingActivationConfirmationNeeds with a parent and short name.
2255
+
2256
+ Args:
2257
+ parent: The parent ARObject that contains this DoIP routing activation confirmation needs
2258
+ short_name: The unique short name of this DoIP routing activation confirmation needs
2259
+ """
2260
+ super().__init__(parent, short_name)
2261
+
2262
+
2263
+ class DoIpServiceNeeds(ServiceNeeds):
2264
+ """
2265
+ Represents DoIP Service needs in AUTOSAR models.
2266
+ This class defines requirements for DoIP (Diagnostics over IP) services.
2267
+ """
2268
+
2269
+ def __init__(self, parent: ARObject, short_name: str):
2270
+ """
2271
+ Initializes the DoIpServiceNeeds with a parent and short name.
2272
+
2273
+ Args:
2274
+ parent: The parent ARObject that contains this DoIP service needs
2275
+ short_name: The unique short name of this DoIP service needs
2276
+ """
2277
+ super().__init__(parent, short_name)
2278
+
2279
+
2280
+ class ErrorTracerNeeds(ServiceNeeds):
2281
+ """
2282
+ Represents Error Tracer needs in AUTOSAR models.
2283
+ This class defines requirements for error tracing services.
2284
+ """
2285
+
2286
+ def __init__(self, parent: ARObject, short_name: str):
2287
+ """
2288
+ Initializes the ErrorTracerNeeds with a parent and short name.
2289
+
2290
+ Args:
2291
+ parent: The parent ARObject that contains this error tracer needs
2292
+ short_name: The unique short name of this error tracer needs
2293
+ """
2294
+ super().__init__(parent, short_name)
2295
+
2296
+
2297
+ class EventAcceptanceStatusEnum(AREnum):
2298
+ """
2299
+ Enumeration for event acceptance status types.
2300
+ """
2301
+
2302
+ ACCEPTED = "accepted"
2303
+ REJECTED = "rejected"
2304
+
2305
+ def __init__(self):
2306
+ super().__init__((
2307
+ EventAcceptanceStatusEnum.ACCEPTED,
2308
+ EventAcceptanceStatusEnum.REJECTED,
2309
+ ))
2310
+
2311
+
2312
+ class FunctionInhibitionAvailabilityNeeds(ServiceNeeds):
2313
+ """
2314
+ Represents Function Inhibition Availability needs in AUTOSAR models.
2315
+ This class defines requirements for function inhibition availability services.
2316
+ """
2317
+
2318
+ def __init__(self, parent: ARObject, short_name: str):
2319
+ """
2320
+ Initializes the FunctionInhibitionAvailabilityNeeds with a parent and short name.
2321
+
2322
+ Args:
2323
+ parent: The parent ARObject that contains this function inhibition availability needs
2324
+ short_name: The unique short name of this function inhibition availability needs
2325
+ """
2326
+ super().__init__(parent, short_name)
2327
+
2328
+
2329
+ class FunctionInhibitionNeeds(ServiceNeeds):
2330
+ """
2331
+ Represents Function Inhibition needs in AUTOSAR models.
2332
+ This class defines requirements for function inhibition services.
2333
+ """
2334
+
2335
+ def __init__(self, parent: ARObject, short_name: str):
2336
+ """
2337
+ Initializes the FunctionInhibitionNeeds with a parent and short name.
2338
+
2339
+ Args:
2340
+ parent: The parent ARObject that contains this function inhibition needs
2341
+ short_name: The unique short name of this function inhibition needs
2342
+ """
2343
+ super().__init__(parent, short_name)
2344
+
2345
+
2346
+ class FurtherActionByteNeeds(ServiceNeeds):
2347
+ """
2348
+ Represents Further Action Byte needs in AUTOSAR models.
2349
+ This class defines requirements for further action byte services.
2350
+ """
2351
+
2352
+ def __init__(self, parent: ARObject, short_name: str):
2353
+ """
2354
+ Initializes the FurtherActionByteNeeds with a parent and short name.
2355
+
2356
+ Args:
2357
+ parent: The parent ARObject that contains this further action byte needs
2358
+ short_name: The unique short name of this further action byte needs
2359
+ """
2360
+ super().__init__(parent, short_name)
2361
+
2362
+
2363
+ class GlobalSupervisionNeeds(ServiceNeeds):
2364
+ """
2365
+ Represents Global Supervision needs in AUTOSAR models.
2366
+ This class defines requirements for global supervision services.
2367
+ """
2368
+
2369
+ def __init__(self, parent: ARObject, short_name: str):
2370
+ """
2371
+ Initializes the GlobalSupervisionNeeds with a parent and short name.
2372
+
2373
+ Args:
2374
+ parent: The parent ARObject that contains this global supervision needs
2375
+ short_name: The unique short name of this global supervision needs
2376
+ """
2377
+ super().__init__(parent, short_name)
2378
+
2379
+
2380
+ class HardwareTestNeeds(ServiceNeeds):
2381
+ """
2382
+ Represents Hardware Test needs in AUTOSAR models.
2383
+ This class defines requirements for hardware test services.
2384
+ """
2385
+
2386
+ def __init__(self, parent: ARObject, short_name: str):
2387
+ """
2388
+ Initializes the HardwareTestNeeds with a parent and short name.
2389
+
2390
+ Args:
2391
+ parent: The parent ARObject that contains this hardware test needs
2392
+ short_name: The unique short name of this hardware test needs
2393
+ """
2394
+ super().__init__(parent, short_name)
2395
+
2396
+
2397
+ class IdsMgrCustomTimestampNeeds(ServiceNeeds):
2398
+ """
2399
+ Represents IDS Manager Custom Timestamp needs in AUTOSAR models.
2400
+ This class defines requirements for IDS (Intrusion Detection System) manager custom timestamp services.
2401
+ """
2402
+
2403
+ def __init__(self, parent: ARObject, short_name: str):
2404
+ """
2405
+ Initializes the IdsMgrCustomTimestampNeeds with a parent and short name.
2406
+
2407
+ Args:
2408
+ parent: The parent ARObject that contains this IDS manager custom timestamp needs
2409
+ short_name: The unique short name of this IDS manager custom timestamp needs
2410
+ """
2411
+ super().__init__(parent, short_name)
2412
+
2413
+
2414
+ class IdsMgrNeeds(ServiceNeeds):
2415
+ """
2416
+ Represents IDS Manager needs in AUTOSAR models.
2417
+ This class defines requirements for IDS (Intrusion Detection System) manager services.
2418
+ """
2419
+
2420
+ def __init__(self, parent: ARObject, short_name: str):
2421
+ """
2422
+ Initializes the IdsMgrNeeds with a parent and short name.
2423
+
2424
+ Args:
2425
+ parent: The parent ARObject that contains this IDS manager needs
2426
+ short_name: The unique short name of this IDS manager needs
2427
+ """
2428
+ super().__init__(parent, short_name)
2429
+
2430
+
2431
+ class IndicatorStatusNeeds(ServiceNeeds):
2432
+ """
2433
+ Represents Indicator Status needs in AUTOSAR models.
2434
+ This class defines requirements for indicator status services.
2435
+ """
2436
+
2437
+ def __init__(self, parent: ARObject, short_name: str):
2438
+ """
2439
+ Initializes the IndicatorStatusNeeds with a parent and short name.
2440
+
2441
+ Args:
2442
+ parent: The parent ARObject that contains this indicator status needs
2443
+ short_name: The unique short name of this indicator status needs
2444
+ """
2445
+ super().__init__(parent, short_name)
2446
+
2447
+
2448
+ class J1939DcmDm19Support(ServiceNeeds):
2449
+ """
2450
+ Represents J1939 DCM DM19 Support needs in AUTOSAR models.
2451
+ This class defines requirements for J1939 diagnostic communication manager DM19 support.
2452
+ """
2453
+
2454
+ def __init__(self, parent: ARObject, short_name: str):
2455
+ """
2456
+ Initializes the J1939DcmDm19Support with a parent and short name.
2457
+
2458
+ Args:
2459
+ parent: The parent ARObject that contains this J1939 DCM DM19 support
2460
+ short_name: The unique short name of this J1939 DCM DM19 support
2461
+ """
2462
+ super().__init__(parent, short_name)
2463
+
2464
+
2465
+ class J1939RmIncomingRequestServiceNeeds(ServiceNeeds):
2466
+ """
2467
+ Represents J1939 RM Incoming Request Service needs in AUTOSAR models.
2468
+ This class defines requirements for J1939 request manager incoming request services.
2469
+ """
2470
+
2471
+ def __init__(self, parent: ARObject, short_name: str):
2472
+ """
2473
+ Initializes the J1939RmIncomingRequestServiceNeeds with a parent and short name.
2474
+
2475
+ Args:
2476
+ parent: The parent ARObject that contains this J1939 RM incoming request service needs
2477
+ short_name: The unique short name of this J1939 RM incoming request service needs
2478
+ """
2479
+ super().__init__(parent, short_name)
2480
+
2481
+
2482
+ class J1939RmOutgoingRequestServiceNeeds(ServiceNeeds):
2483
+ """
2484
+ Represents J1939 RM Outgoing Request Service needs in AUTOSAR models.
2485
+ This class defines requirements for J1939 request manager outgoing request services.
2486
+ """
2487
+
2488
+ def __init__(self, parent: ARObject, short_name: str):
2489
+ """
2490
+ Initializes the J1939RmOutgoingRequestServiceNeeds with a parent and short name.
2491
+
2492
+ Args:
2493
+ parent: The parent ARObject that contains this J1939 RM outgoing request service needs
2494
+ short_name: The unique short name of this J1939 RM outgoing request service needs
2495
+ """
2496
+ super().__init__(parent, short_name)
2497
+
2498
+
2499
+ class MaxCommModeEnum(AREnum):
2500
+ """
2501
+ Enumeration for maximum communication mode types.
2502
+ """
2503
+
2504
+ FULL_COMMUNICATION = "full-communication"
2505
+ NO_COMMUNICATION = "no-communication"
2506
+ SILENT_COMMUNICATION = "silent-communication"
2507
+
2508
+ def __init__(self):
2509
+ super().__init__((
2510
+ MaxCommModeEnum.FULL_COMMUNICATION,
2511
+ MaxCommModeEnum.NO_COMMUNICATION,
2512
+ MaxCommModeEnum.SILENT_COMMUNICATION,
2513
+ ))
2514
+
2515
+
2516
+ class ObdControlServiceNeeds(ServiceNeeds):
2517
+ """
2518
+ Represents OBD Control Service needs in AUTOSAR models.
2519
+ This class defines requirements for On-Board Diagnostics control services.
2520
+ """
2521
+
2522
+ def __init__(self, parent: ARObject, short_name: str):
2523
+ """
2524
+ Initializes the ObdControlServiceNeeds with a parent and short name.
2525
+
2526
+ Args:
2527
+ parent: The parent ARObject that contains this OBD control service needs
2528
+ short_name: The unique short name of this OBD control service needs
2529
+ """
2530
+ super().__init__(parent, short_name)
2531
+
2532
+
2533
+ class ObdInfoServiceNeeds(ServiceNeeds):
2534
+ """
2535
+ Represents OBD Info Service needs in AUTOSAR models.
2536
+ This class defines requirements for On-Board Diagnostics information services.
2537
+ """
2538
+
2539
+ def __init__(self, parent: ARObject, short_name: str):
2540
+ """
2541
+ Initializes the ObdInfoServiceNeeds with a parent and short name.
2542
+
2543
+ Args:
2544
+ parent: The parent ARObject that contains this OBD info service needs
2545
+ short_name: The unique short name of this OBD info service needs
2546
+ """
2547
+ super().__init__(parent, short_name)
2548
+
2549
+
2550
+ class ObdMonitorServiceNeeds(ServiceNeeds):
2551
+ """
2552
+ Represents OBD Monitor Service needs in AUTOSAR models.
2553
+ This class defines requirements for On-Board Diagnostics monitor services.
2554
+ """
2555
+
2556
+ def __init__(self, parent: ARObject, short_name: str):
2557
+ """
2558
+ Initializes the ObdMonitorServiceNeeds with a parent and short name.
2559
+
2560
+ Args:
2561
+ parent: The parent ARObject that contains this OBD monitor service needs
2562
+ short_name: The unique short name of this OBD monitor service needs
2563
+ """
2564
+ super().__init__(parent, short_name)
2565
+
2566
+
2567
+ class ObdPidServiceNeeds(ServiceNeeds):
2568
+ """
2569
+ Represents OBD PID Service needs in AUTOSAR models.
2570
+ This class defines requirements for On-Board Diagnostics PID (Parameter ID) services.
2571
+ """
2572
+
2573
+ def __init__(self, parent: ARObject, short_name: str):
2574
+ """
2575
+ Initializes the ObdPidServiceNeeds with a parent and short name.
2576
+
2577
+ Args:
2578
+ parent: The parent ARObject that contains this OBD PID service needs
2579
+ short_name: The unique short name of this OBD PID service needs
2580
+ """
2581
+ super().__init__(parent, short_name)
2582
+
2583
+
2584
+ class ObdRatioConnectionKindEnum(AREnum):
2585
+ """
2586
+ Enumeration for OBD ratio connection kind types.
2587
+ """
2588
+
2589
+ LOGICAL_AND = "logical-and"
2590
+ LOGICAL_OR = "logical-or"
2591
+
2592
+ def __init__(self):
2593
+ super().__init__((
2594
+ ObdRatioConnectionKindEnum.LOGICAL_AND,
2595
+ ObdRatioConnectionKindEnum.LOGICAL_OR,
2596
+ ))
2597
+
2598
+
2599
+ class ObdRatioDenominatorNeeds(ServiceNeeds):
2600
+ """
2601
+ Represents OBD Ratio Denominator needs in AUTOSAR models.
2602
+ This class defines requirements for On-Board Diagnostics ratio denominator services.
2603
+ """
2604
+
2605
+ def __init__(self, parent: ARObject, short_name: str):
2606
+ """
2607
+ Initializes the ObdRatioDenominatorNeeds with a parent and short name.
2608
+
2609
+ Args:
2610
+ parent: The parent ARObject that contains this OBD ratio denominator needs
2611
+ short_name: The unique short name of this OBD ratio denominator needs
2612
+ """
2613
+ super().__init__(parent, short_name)
2614
+
2615
+
2616
+ class ObdRatioServiceNeeds(ServiceNeeds):
2617
+ """
2618
+ Represents OBD Ratio Service needs in AUTOSAR models.
2619
+ This class defines requirements for On-Board Diagnostics ratio services.
2620
+ """
2621
+
2622
+ def __init__(self, parent: ARObject, short_name: str):
2623
+ """
2624
+ Initializes the ObdRatioServiceNeeds with a parent and short name.
2625
+
2626
+ Args:
2627
+ parent: The parent ARObject that contains this OBD ratio service needs
2628
+ short_name: The unique short name of this OBD ratio service needs
2629
+ """
2630
+ super().__init__(parent, short_name)
2631
+
2632
+
2633
+ class OperationCycleTypeEnum(AREnum):
2634
+ """
2635
+ Enumeration for operation cycle type.
2636
+ """
2637
+
2638
+ ALL_CYCLES = "all-cycles"
2639
+ IGNITION_CYCLE = "ignition-cycle"
2640
+ POWER_CYCLE = "power-cycle"
2641
+
2642
+ def __init__(self):
2643
+ super().__init__((
2644
+ OperationCycleTypeEnum.ALL_CYCLES,
2645
+ OperationCycleTypeEnum.IGNITION_CYCLE,
2646
+ OperationCycleTypeEnum.POWER_CYCLE,
2647
+ ))
2648
+
2649
+
2650
+ class RuntimeError(ARObject):
2651
+ """
2652
+ Represents a runtime error in AUTOSAR models.
2653
+ This class defines information about runtime errors for error handling.
2654
+ """
2655
+
2656
+ def __init__(self):
2657
+ """
2658
+ Initializes the RuntimeError with default values.
2659
+ """
2660
+ super().__init__()
2661
+ self.errorCode: Integer = None
2662
+ self.errorDescription: String = None
2663
+
2664
+ def getErrorCode(self):
2665
+ return self.errorCode
2666
+
2667
+ def setErrorCode(self, value):
2668
+ self.errorCode = value
2669
+ return self
2670
+
2671
+ def getErrorDescription(self):
2672
+ return self.errorDescription
2673
+
2674
+ def setErrorDescription(self, value):
2675
+ self.errorDescription = value
2676
+ return self
2677
+
2678
+
2679
+ class SecureOnBoardCommunicationNeeds(ServiceNeeds):
2680
+ """
2681
+ Represents Secure On-Board Communication needs in AUTOSAR models.
2682
+ This class defines requirements for secure on-board communication services (SecOC).
2683
+ """
2684
+
2685
+ def __init__(self, parent: ARObject, short_name: str):
2686
+ """
2687
+ Initializes the SecureOnBoardCommunicationNeeds with a parent and short name.
2688
+
2689
+ Args:
2690
+ parent: The parent ARObject that contains this secure on-board communication needs
2691
+ short_name: The unique short name of this secure on-board communication needs
2692
+ """
2693
+ super().__init__(parent, short_name)
2694
+
2695
+
2696
+ class ServiceProviderEnum(AREnum):
2697
+ """
2698
+ Enumeration for service provider types.
2699
+ """
2700
+
2701
+ BSW = "bsw"
2702
+ RTE = "rte"
2703
+ SWC = "swc"
2704
+
2705
+ def __init__(self):
2706
+ super().__init__((
2707
+ ServiceProviderEnum.BSW,
2708
+ ServiceProviderEnum.RTE,
2709
+ ServiceProviderEnum.SWC,
2710
+ ))
2711
+
2712
+
2713
+ class StorageConditionStatusEnum(AREnum):
2714
+ """
2715
+ Enumeration for storage condition status types.
2716
+ """
2717
+
2718
+ CONDITION_FALSE = "condition-false"
2719
+ CONDITION_TRUE = "condition-true"
2720
+
2721
+ def __init__(self):
2722
+ super().__init__((
2723
+ StorageConditionStatusEnum.CONDITION_FALSE,
2724
+ StorageConditionStatusEnum.CONDITION_TRUE,
2725
+ ))
2726
+
2727
+
2728
+ class SupervisedEntityCheckpointNeeds(ServiceNeeds):
2729
+ """
2730
+ Represents Supervised Entity Checkpoint needs in AUTOSAR models.
2731
+ This class defines requirements for supervised entity checkpoint services.
2732
+ """
2733
+
2734
+ def __init__(self, parent: ARObject, short_name: str):
2735
+ """
2736
+ Initializes the SupervisedEntityCheckpointNeeds with a parent and short name.
2737
+
2738
+ Args:
2739
+ parent: The parent ARObject that contains this supervised entity checkpoint needs
2740
+ short_name: The unique short name of this supervised entity checkpoint needs
2741
+ """
2742
+ super().__init__(parent, short_name)
2743
+
2744
+
2745
+ class SupervisedEntityNeeds(ServiceNeeds):
2746
+ """
2747
+ Represents Supervised Entity needs in AUTOSAR models.
2748
+ This class defines requirements for supervised entity services.
2749
+ """
2750
+
2751
+ def __init__(self, parent: ARObject, short_name: str):
2752
+ """
2753
+ Initializes the SupervisedEntityNeeds with a parent and short name.
2754
+
2755
+ Args:
2756
+ parent: The parent ARObject that contains this supervised entity needs
2757
+ short_name: The unique short name of this supervised entity needs
2758
+ """
2759
+ super().__init__(parent, short_name)
2760
+
2761
+
2762
+ class SymbolicNameProps(ARObject):
2763
+ """
2764
+ Represents Symbolic Name properties in AUTOSAR models.
2765
+ This class defines symbolic name properties for elements.
2766
+ """
2767
+
2768
+ def __init__(self):
2769
+ """
2770
+ Initializes the SymbolicNameProps with default values.
2771
+ """
2772
+ super().__init__()
2773
+ self.symbolicName: String = None
2774
+
2775
+ def getSymbolicName(self):
2776
+ return self.symbolicName
2777
+
2778
+ def setSymbolicName(self, value):
2779
+ self.symbolicName = value
2780
+ return self
2781
+
2782
+
2783
+ class SyncTimeBaseMgrUserNeeds(ServiceNeeds):
2784
+ """
2785
+ Represents Synchronized Time Base Manager User needs in AUTOSAR models.
2786
+ This class defines requirements for synchronized time base manager user services.
2787
+ """
2788
+
2789
+ def __init__(self, parent: ARObject, short_name: str):
2790
+ """
2791
+ Initializes the SyncTimeBaseMgrUserNeeds with a parent and short name.
2792
+
2793
+ Args:
2794
+ parent: The parent ARObject that contains this sync time base manager user needs
2795
+ short_name: The unique short name of this sync time base manager user needs
2796
+ """
2797
+ super().__init__(parent, short_name)
2798
+
2799
+
2800
+ class TracedFailure(ARObject):
2801
+ """
2802
+ Represents a Traced Failure in AUTOSAR models.
2803
+ This class defines information about traced failures for error handling.
2804
+ """
2805
+
2806
+ def __init__(self):
2807
+ """
2808
+ Initializes the TracedFailure with default values.
2809
+ """
2810
+ super().__init__()
2811
+ self.failureCode: Integer = None
2812
+ self.failureDescription: String = None
2813
+
2814
+ def getFailureCode(self):
2815
+ return self.failureCode
2816
+
2817
+ def setFailureCode(self, value):
2818
+ self.failureCode = value
2819
+ return self
2820
+
2821
+ def getFailureDescription(self):
2822
+ return self.failureDescription
2823
+
2824
+ def setFailureDescription(self, value):
2825
+ self.failureDescription = value
2826
+ return self
2827
+
2828
+
2829
+ class TransientFault(ARObject):
2830
+ """
2831
+ Represents a Transient Fault in AUTOSAR models.
2832
+ This class defines information about transient faults for error handling.
2833
+ """
2834
+
2835
+ def __init__(self):
2836
+ """
2837
+ Initializes the TransientFault with default values.
2838
+ """
2839
+ super().__init__()
2840
+ self.faultCode: Integer = None
2841
+ self.faultDescription: String = None
2842
+
2843
+ def getFaultCode(self):
2844
+ return self.faultCode
2845
+
2846
+ def setFaultCode(self, value):
2847
+ self.faultCode = value
2848
+ return self
2849
+
2850
+ def getFaultDescription(self):
2851
+ return self.faultDescription
2852
+
2853
+ def setFaultDescription(self, value):
2854
+ self.faultDescription = value
2855
+ return self
2856
+
2857
+
2858
+ class V2xDataManagerNeeds(ServiceNeeds):
2859
+ """
2860
+ Represents V2X Data Manager needs in AUTOSAR models.
2861
+ This class defines requirements for Vehicle-to-Everything data manager services.
2862
+ """
2863
+
2864
+ def __init__(self, parent: ARObject, short_name: str):
2865
+ """
2866
+ Initializes the V2xDataManagerNeeds with a parent and short name.
2867
+
2868
+ Args:
2869
+ parent: The parent ARObject that contains this V2X data manager needs
2870
+ short_name: The unique short name of this V2X data manager needs
2871
+ """
2872
+ super().__init__(parent, short_name)
2873
+
2874
+
2875
+ class V2xFacUserNeeds(ServiceNeeds):
2876
+ """
2877
+ Represents V2X Functional Application Cluster User needs in AUTOSAR models.
2878
+ This class defines requirements for V2X functional application cluster user services.
2879
+ """
2880
+
2881
+ def __init__(self, parent: ARObject, short_name: str):
2882
+ """
2883
+ Initializes the V2xFacUserNeeds with a parent and short name.
2884
+
2885
+ Args:
2886
+ parent: The parent ARObject that contains this V2X FAC user needs
2887
+ short_name: The unique short name of this V2X FAC user needs
2888
+ """
2889
+ super().__init__(parent, short_name)
2890
+
2891
+
2892
+ class V2xMUserNeeds(ServiceNeeds):
2893
+ """
2894
+ Represents V2X Manager User needs in AUTOSAR models.
2895
+ This class defines requirements for V2X manager user services.
2896
+ """
2897
+
2898
+ def __init__(self, parent: ARObject, short_name: str):
2899
+ """
2900
+ Initializes the V2xMUserNeeds with a parent and short name.
2901
+
2902
+ Args:
2903
+ parent: The parent ARObject that contains this V2X manager user needs
2904
+ short_name: The unique short name of this V2X manager user needs
2905
+ """
2906
+ super().__init__(parent, short_name)
2907
+
2908
+
2909
+ class VendorSpecificServiceNeeds(ServiceNeeds):
2910
+ """
2911
+ Represents Vendor Specific Service needs in AUTOSAR models.
2912
+ This class defines requirements for vendor-specific services.
2913
+ """
2914
+
2915
+ def __init__(self, parent: ARObject, short_name: str):
2916
+ """
2917
+ Initializes the VendorSpecificServiceNeeds with a parent and short name.
2918
+
2919
+ Args:
2920
+ parent: The parent ARObject that contains this vendor specific service needs
2921
+ short_name: The unique short name of this vendor specific service needs
2922
+ """
2923
+ super().__init__(parent, short_name)
2924
+
2925
+
2926
+ class VerificationStatusIndicationModeEnum(AREnum):
2927
+ """
2928
+ Enumeration for verification status indication mode types.
2929
+ """
2930
+
2931
+ DIRECT = "direct"
2932
+ INDIRECT = "indirect"
2933
+
2934
+ def __init__(self):
2935
+ super().__init__((
2936
+ VerificationStatusIndicationModeEnum.DIRECT,
2937
+ VerificationStatusIndicationModeEnum.INDIRECT,
2938
+ ))
2939
+
2940
+
2941
+ class WarningIndicatorRequestedBitNeeds(ServiceNeeds):
2942
+ """
2943
+ Represents Warning Indicator Requested Bit needs in AUTOSAR models.
2944
+ This class defines requirements for warning indicator requested bit services.
2945
+ """
2946
+
2947
+ def __init__(self, parent: ARObject, short_name: str):
2948
+ """
2949
+ Initializes the WarningIndicatorRequestedBitNeeds with a parent and short name.
2950
+
2951
+ Args:
2952
+ parent: The parent ARObject that contains this warning indicator requested bit needs
2953
+ short_name: The unique short name of this warning indicator requested bit needs
2954
+ """
2955
+ super().__init__(parent, short_name)