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,1249 +1,1561 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, Boolean, Float, Identifier, Limit
5
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, UnlimitedInteger
6
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RegularExpression, String, VerbatimString
7
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
8
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
9
-
10
-
11
- # class EcucConditionFormula(FormulaExpression)
12
-
13
- class EcucConditionSpecification(ARObject):
14
- """
15
- Represents an ECUC (Electronic Control Unit Configuration) condition specification
16
- in the AUTOSAR model.
17
- This class is used to define conditions that can be applied to ECUC parameters
18
- or configurations. It inherits from the ARObject base class.
19
- Attributes:
20
- conditionFormula (EcucConditionFormula): Represents the formula or expression
21
- that defines the condition. This attribute is currently commented out
22
- and not initialized.
23
- """
24
- def __init__(self):
25
- super().__init__()
26
-
27
- # self.conditionFormula: EcucConditionFormula = None
28
-
29
-
30
- class EcucValidationCondition(Identifiable):
31
- """
32
- Represents an ECUC validation condition in the AUTOSAR model.
33
-
34
- This class is used to define a validation condition for an ECUC parameter
35
- within the AUTOSAR framework. It inherits from the `Identifiable` class.
36
-
37
- Attributes:
38
- parent (ARObject): The parent ARObject to which this validation condition belongs.
39
- short_name (str): A short name identifier for the validation condition.
40
- """
41
- def __init__(self, parent: ARObject, short_name: str):
42
- super().__init__(parent, short_name)
43
-
44
-
45
- class EcucScopeEnum(AREnum):
46
- def __init__(self):
47
- super().__init__([])
48
-
49
-
50
- class EcucDefinitionElement(Identifiable, metaclass=ABCMeta):
51
- """
52
- Represents an ECUC (Electronic Control Unit Configuration) definition element
53
- with various attributes and methods to manage its properties.
54
- Attributes:
55
- ecucCond (EcucConditionSpecification): The condition specification for the ECUC element.
56
- ecucValidationConds (List[EcucValidationCondition]): A list of validation conditions for the ECUC element.
57
- lowerMultiplicity (PositiveInteger): The lower multiplicity of the ECUC element.
58
- relatedTraceItemRef (RefType): A reference to a related trace item.
59
- scope (EcucScopeEnum): The scope of the ECUC element.
60
- upperMultiplicity (PositiveInteger): The upper multiplicity of the ECUC element.
61
- upperMultiplicityInfinite (Boolean): Indicates if the upper multiplicity is infinite.
62
- Methods:
63
- getEcucCond() -> EcucConditionSpecification:
64
- Returns the ECUC condition specification.
65
- setEcucCond(value: EcucConditionSpecification):
66
- Sets the ECUC condition specification.
67
- getEcucValidationConds() -> List[EcucValidationCondition]:
68
- Returns the list of ECUC validation conditions.
69
- addEcucValidationCond(value: EcucValidationCondition):
70
- Adds a validation condition to the list of ECUC validation conditions.
71
- getLowerMultiplicity() -> PositiveInteger:
72
- Returns the lower multiplicity of the ECUC element.
73
- setLowerMultiplicity(value: PositiveInteger):
74
- Sets the lower multiplicity of the ECUC element.
75
- getRelatedTraceItemRef() -> RefType:
76
- Returns the reference to the related trace item.
77
- setRelatedTraceItemRef(value: RefType):
78
- Sets the reference to the related trace item.
79
- getScope() -> EcucScopeEnum:
80
- Returns the scope of the ECUC element.
81
- setScope(value: EcucScopeEnum):
82
- Sets the scope of the ECUC element.
83
- getUpperMultiplicity() -> PositiveInteger:
84
- Returns the upper multiplicity of the ECUC element.
85
- setUpperMultiplicity(value: PositiveInteger):
86
- Sets the upper multiplicity of the ECUC element.
87
- getUpperMultiplicityInfinite() -> Boolean:
88
- Returns whether the upper multiplicity is infinite.
89
- setUpperMultiplicityInfinite(value: Boolean):
90
- Sets whether the upper multiplicity is infinite.
91
- """
92
- def __init__(self, parent: ARObject, short_name: str):
93
- super().__init__(parent, short_name)
94
-
95
- self.ecucCond: EcucConditionSpecification = None
96
- self.ecucValidationConds: List[EcucValidationCondition] = []
97
- self.lowerMultiplicity: PositiveInteger = None
98
- self.relatedTraceItemRef: RefType = None
99
- self.scope: EcucScopeEnum = None
100
- self.upperMultiplicity: PositiveInteger = None
101
- self.upperMultiplicityInfinite: Boolean = None
102
-
103
- def getEcucCond(self) -> EcucConditionSpecification:
104
- return self.ecucCond
105
-
106
- def setEcucCond(self, value: EcucConditionSpecification):
107
- if value is not None:
108
- self.ecucCond = value
109
- return self
110
-
111
- def getEcucValidationConds(self) -> List[EcucValidationCondition]:
112
- return self.ecucValidationConds
113
-
114
- def addEcucValidationCond(self, value: EcucValidationCondition):
115
- if value is not None:
116
- self.ecucValidationConds.append(value)
117
- return self
118
-
119
- def getLowerMultiplicity(self) -> PositiveInteger:
120
- return self.lowerMultiplicity
121
-
122
- def setLowerMultiplicity(self, value: PositiveInteger):
123
- if value is not None:
124
- self.lowerMultiplicity = value
125
- return self
126
-
127
- def getRelatedTraceItemRef(self) -> RefType:
128
- return self.relatedTraceItemRef
129
-
130
- def setRelatedTraceItemRef(self, value: RefType):
131
- if value is not None:
132
- self.relatedTraceItemRef = value
133
- return self
134
-
135
- def getScope(self) -> EcucScopeEnum:
136
- return self.scope
137
-
138
- def setScope(self, value: EcucScopeEnum):
139
- if value is not None:
140
- self.scope = value
141
- return self
142
-
143
- def getUpperMultiplicity(self) -> PositiveInteger:
144
- return self.upperMultiplicity
145
-
146
- def setUpperMultiplicity(self, value: PositiveInteger):
147
- if value is not None:
148
- self.upperMultiplicity = value
149
- return self
150
-
151
- def getUpperMultiplicityInfinite(self) -> Boolean:
152
- return self.upperMultiplicityInfinite
153
-
154
- def setUpperMultiplicityInfinite(self, value: Boolean):
155
- if value is not None:
156
- self.upperMultiplicityInfinite = value
157
- return self
158
-
159
-
160
- class EcucDestinationUriDefRefType(RefType):
161
- """
162
- EcucDestinationUriDefRefType is a class that represents a reference type
163
- specific to ECUC Destination URI definitions.
164
-
165
- This class inherits from the `RefType` base class and is used to define
166
- references to ECUC Destination URI definitions in the AUTOSAR model.
167
-
168
- Methods:
169
- __init__(): Initializes an instance of EcucDestinationUriDefRefType
170
- by invoking the constructor of the parent `RefType` class.
171
- """
172
- def __init__(self):
173
- super().__init__()
174
-
175
-
176
- class EcucConfigurationClassEnum(AREnum):
177
- def __init__(self):
178
- super().__init__([])
179
-
180
-
181
- class EcucConfigurationVariantEnum(AREnum):
182
- def __init__(self):
183
- super().__init__([])
184
-
185
-
186
- class EcucAbstractConfigurationClass(ARObject, metaclass=ABCMeta):
187
- """
188
- Represents an abstract configuration class for ECUC (Electronic Control Unit Configuration).
189
- This class provides methods to get and set the configuration class and variant.
190
- Attributes:
191
- configClass (EcucConfigurationClassEnum): The configuration class of the ECUC.
192
- configVariant (EcucConfigurationVariantEnum): The configuration variant of the ECUC.
193
- Methods:
194
- getConfigClass() -> EcucConfigurationClassEnum:
195
- Retrieves the current configuration class.
196
- setConfigClass(value: EcucConfigurationClassEnum):
197
- Sets the configuration class to the specified value.
198
- Returns the instance for method chaining.
199
- getConfigVariant() -> EcucConfigurationVariantEnum:
200
- Retrieves the current configuration variant.
201
- setConfigVariant(value: EcucConfigurationVariantEnum):
202
- Sets the configuration variant to the specified value.
203
- Returns the instance for method chaining.
204
- """
205
- def __init__(self):
206
- super().__init__()
207
-
208
- self.configClass: EcucConfigurationClassEnum = None
209
- self.configVariant: EcucConfigurationVariantEnum = None
210
-
211
- def getConfigClass(self) -> EcucConfigurationClassEnum:
212
- return self.configClass
213
-
214
- def setConfigClass(self, value: EcucConfigurationClassEnum):
215
- if value is not None:
216
- self.configClass = value
217
- return self
218
-
219
- def getConfigVariant(self) -> EcucConfigurationVariantEnum:
220
- return self.configVariant
221
-
222
- def setConfigVariant(self, value: EcucConfigurationVariantEnum):
223
- if value is not None:
224
- self.configVariant = value
225
- return self
226
-
227
-
228
- class EcucMultiplicityConfigurationClass(EcucAbstractConfigurationClass):
229
- """
230
- EcucMultiplicityConfigurationClass is a subclass of EcucAbstractConfigurationClass.
231
-
232
- This class represents a specific configuration class for handling multiplicity
233
- in ECUC (Electronic Control Unit Configuration) parameter definitions. It
234
- inherits from the EcucAbstractConfigurationClass to provide base functionality
235
- and extend it for multiplicity-specific configurations.
236
-
237
- Methods:
238
- __init__(): Initializes an instance of EcucMultiplicityConfigurationClass
239
- and invokes the constructor of the parent class.
240
- """
241
- def __init__(self):
242
- super().__init__()
243
-
244
-
245
- class EcucContainerDef(EcucDefinitionElement, metaclass=ABCMeta):
246
- """
247
- Represents an ECUC container definition in the AUTOSAR model.
248
- This class defines various properties and methods to manage ECUC container
249
- definitions, including destination URI references, multiplicity configuration
250
- classes, origin, and other configuration-related attributes.
251
- Attributes:
252
- destinationUriRef (EcucDestinationUriDefRefType): The destination URI reference.
253
- multiplicityConfigClasses (List[EcucMultiplicityConfigurationClass]): A list of
254
- multiplicity configuration classes associated with the container.
255
- origin (String): The origin of the container.
256
- postBuildVariantMultiplicity (Boolean): Indicates if the container supports
257
- post-build variant multiplicity.
258
- requiresIndex (Boolean): Indicates if the container requires an index.
259
- multipleConfigurationContainer (Boolean): Indicates if the container supports
260
- multiple configurations.
261
- Methods:
262
- getDestinationUriRef() -> EcucDestinationUriDefRefType:
263
- Returns the destination URI reference.
264
- setDestinationUriRef(value: EcucDestinationUriDefRefType):
265
- Sets the destination URI reference.
266
- getMultiplicityConfigClasses() -> List[EcucMultiplicityConfigurationClass]:
267
- Returns the list of multiplicity configuration classes.
268
- addMultiplicityConfigClass(value: EcucMultiplicityConfigurationClass):
269
- Adds a multiplicity configuration class to the list.
270
- getOrigin() -> String:
271
- Returns the origin of the container.
272
- setOrigin(value: String):
273
- Sets the origin of the container.
274
- getPostBuildVariantMultiplicity() -> Boolean:
275
- Returns whether the container supports post-build variant multiplicity.
276
- setPostBuildVariantMultiplicity(value: Boolean):
277
- Sets whether the container supports post-build variant multiplicity.
278
- getRequiresIndex() -> Boolean:
279
- Returns whether the container requires an index.
280
- setRequiresIndex(value: Boolean):
281
- Sets whether the container requires an index.
282
- getMultipleConfigurationContainer() -> Boolean:
283
- Returns whether the container supports multiple configurations.
284
- setMultipleConfigurationContainer(value: Boolean):
285
- Sets whether the container supports multiple configurations.
286
- """
287
- def __init__(self, parent: ARObject, short_name: str):
288
- super().__init__(parent, short_name)
289
-
290
- self.destinationUriRef: EcucDestinationUriDefRefType = None
291
- self.multiplicityConfigClasses: List[EcucMultiplicityConfigurationClass] = []
292
- self.origin: String = None
293
- self.postBuildVariantMultiplicity: Boolean = None
294
- self.requiresIndex: Boolean = None
295
- self.multipleConfigurationContainer: Boolean = None
296
-
297
- def getDestinationUriRef(self) -> EcucDestinationUriDefRefType:
298
- return self.destinationUriRef
299
-
300
- def setDestinationUriRef(self, value: EcucDestinationUriDefRefType):
301
- if value is not None:
302
- self.destinationUriRef = value
303
- return self
304
-
305
- def getMultiplicityConfigClasses(self) -> List[EcucMultiplicityConfigurationClass]:
306
- return self.multiplicityConfigClasses
307
-
308
- def addMultiplicityConfigClass(self, value: EcucMultiplicityConfigurationClass):
309
- if value is not None:
310
- self.multiplicityConfigClasses.append(value)
311
- return self
312
-
313
- def getOrigin(self) -> String:
314
- return self.origin
315
-
316
- def setOrigin(self, value: String):
317
- if value is not None:
318
- self.origin = value
319
- return self
320
-
321
- def getPostBuildVariantMultiplicity(self) -> Boolean:
322
- return self.postBuildVariantMultiplicity
323
-
324
- def setPostBuildVariantMultiplicity(self, value: Boolean):
325
- if value is not None:
326
- self.postBuildVariantMultiplicity = value
327
- return self
328
-
329
- def getRequiresIndex(self) -> Boolean:
330
- return self.requiresIndex
331
-
332
- def setRequiresIndex(self, value: Boolean):
333
- if value is not None:
334
- self.requiresIndex = value
335
- return self
336
-
337
- def getMultipleConfigurationContainer(self) -> Boolean:
338
- return self.multipleConfigurationContainer
339
-
340
- def setMultipleConfigurationContainer(self, value: Boolean):
341
- if value is not None:
342
- self.multipleConfigurationContainer = value
343
- return self
344
-
345
-
346
- class EcucValueConfigurationClass(EcucAbstractConfigurationClass):
347
- """
348
- EcucValueConfigurationClass is a subclass of EcucAbstractConfigurationClass.
349
-
350
- This class represents a specific type of ECU configuration class used in the AUTOSAR standard.
351
- It is designed to handle value-based configurations for ECU parameters.
352
-
353
- Methods:
354
- __init__(): Initializes an instance of EcucValueConfigurationClass by invoking the constructor
355
- of its superclass, EcucAbstractConfigurationClass.
356
- """
357
- def __init__(self):
358
- super().__init__()
359
-
360
-
361
- class EcucCommonAttributes(EcucDefinitionElement, metaclass=ABCMeta):
362
- """
363
- EcucCommonAttributes is an abstract base class that represents common attributes
364
- for ECUC (Electronic Control Unit Configuration) definition elements. This class
365
- cannot be instantiated directly and must be subclassed.
366
- Attributes:
367
- multiplicityConfigClasses (List[EcucMultiplicityConfigurationClass]):
368
- A list of multiplicity configuration classes associated with the ECUC element.
369
- origin (String):
370
- The origin of the ECUC element.
371
- postBuildVariantMultiplicity (Boolean):
372
- Indicates whether the ECUC element supports post-build variant multiplicity.
373
- postBuildVariantValue (Boolean):
374
- Indicates whether the ECUC element supports post-build variant values.
375
- requiresIndex (Boolean):
376
- Specifies whether the ECUC element requires an index.
377
- valueConfigClasses (List[EcucValueConfigurationClass]):
378
- A list of value configuration classes associated with the ECUC element.
379
- Methods:
380
- getMultiplicityConfigClasses() -> List[EcucMultiplicityConfigurationClass]:
381
- Returns the list of multiplicity configuration classes.
382
- addMultiplicityConfigClass(value: EcucMultiplicityConfigurationClass):
383
- Adds a multiplicity configuration class to the list.
384
- getOrigin() -> String:
385
- Returns the origin of the ECUC element.
386
- setOrigin(value: String):
387
- Sets the origin of the ECUC element.
388
- getPostBuildVariantMultiplicity() -> Boolean:
389
- Returns whether the ECUC element supports post-build variant multiplicity.
390
- setPostBuildVariantMultiplicity(value: Boolean):
391
- Sets whether the ECUC element supports post-build variant multiplicity.
392
- getPostBuildVariantValue() -> Boolean:
393
- Returns whether the ECUC element supports post-build variant values.
394
- setPostBuildVariantValue(value: Boolean):
395
- Sets whether the ECUC element supports post-build variant values.
396
- getRequiresIndex() -> Boolean:
397
- Returns whether the ECUC element requires an index.
398
- setRequiresIndex(value: Boolean):
399
- Sets whether the ECUC element requires an index.
400
- getValueConfigClasses() -> List[EcucValueConfigurationClass]:
401
- Returns the list of value configuration classes.
402
- addValueConfigClass(value: EcucValueConfigurationClass):
403
- Adds a value configuration class to the list.
404
- """
405
- def __init__(self, parent: ARObject, short_name: str):
406
- if type(self) is EcucCommonAttributes:
407
- raise TypeError("Cannot instantiate abstract class EcucCommonAttributes")
408
-
409
- super().__init__(parent, short_name)
410
-
411
- self.multiplicityConfigClasses: List[EcucMultiplicityConfigurationClass] = []
412
- self.origin: String = None
413
- self.postBuildVariantMultiplicity: Boolean = None
414
- self.postBuildVariantValue: Boolean = None
415
- self.requiresIndex: Boolean = None
416
- self.valueConfigClasses: List[EcucValueConfigurationClass] = []
417
-
418
- def getMultiplicityConfigClasses(self) -> List[EcucMultiplicityConfigurationClass]:
419
- return self.multiplicityConfigClasses
420
-
421
- def addMultiplicityConfigClass(self, value: EcucMultiplicityConfigurationClass):
422
- if value is not None:
423
- self.multiplicityConfigClasses.append(value)
424
- return self
425
-
426
- def getOrigin(self) -> String:
427
- return self.origin
428
-
429
- def setOrigin(self, value: String):
430
- if value is not None:
431
- self.origin = value
432
- return self
433
-
434
- def getPostBuildVariantMultiplicity(self) -> Boolean:
435
- return self.postBuildVariantMultiplicity
436
-
437
- def setPostBuildVariantMultiplicity(self, value: Boolean):
438
- if value is not None:
439
- self.postBuildVariantMultiplicity = value
440
- return self
441
-
442
- def getPostBuildVariantValue(self) -> Boolean:
443
- return self.postBuildVariantValue
444
-
445
- def setPostBuildVariantValue(self, value: Boolean):
446
- if value is not None:
447
- self.postBuildVariantValue = value
448
- return self
449
-
450
- def getRequiresIndex(self) -> Boolean:
451
- return self.requiresIndex
452
-
453
- def setRequiresIndex(self, value: Boolean):
454
- if value is not None:
455
- self.requiresIndex = value
456
- return self
457
-
458
- def getValueConfigClasses(self) -> EcucValueConfigurationClass:
459
- return self.valueConfigClasses
460
-
461
- def addValueConfigClass(self, value: EcucValueConfigurationClass):
462
- if value is not None:
463
- self.valueConfigClasses.append(value)
464
- return self
465
-
466
-
467
- class EcucDerivationSpecification(ARObject):
468
- """
469
- Represents an ECUC Derivation Specification in the AUTOSAR model.
470
-
471
- This class is a specialization of the ARObject base class and is used to define
472
- derivation specifications for ECUC parameters in the AUTOSAR standard.
473
- """
474
- def __init__(self):
475
- super().__init__()
476
-
477
-
478
- class EcucParameterDef(EcucCommonAttributes):
479
- """
480
- Represents an ECUC (Electronic Control Unit Configuration) parameter definition
481
- in the AUTOSAR model. This class extends common attributes for ECUC elements
482
- and provides additional properties and methods specific to parameter definitions.
483
- Attributes:
484
- derivation (EcucDerivationSpecification): Specifies the derivation of the parameter.
485
- symbolicNameValue (Boolean): Indicates whether the parameter has a symbolic name value.
486
- withAuto (Boolean): Indicates whether the parameter supports automatic configuration.
487
- Methods:
488
- getDerivation() -> EcucDerivationSpecification:
489
- Retrieves the derivation specification of the parameter.
490
- setDerivation(value: EcucDerivationSpecification):
491
- Sets the derivation specification of the parameter.
492
- Returns the current instance for method chaining.
493
- getSymbolicNameValue() -> Boolean:
494
- Retrieves the symbolic name value of the parameter.
495
- setSymbolicNameValue(value: Boolean):
496
- Sets the symbolic name value of the parameter.
497
- Returns the current instance for method chaining.
498
- getWithAuto() -> Boolean:
499
- Retrieves the automatic configuration status of the parameter.
500
- setWithAuto(value: Boolean):
501
- Sets the automatic configuration status of the parameter.
502
- Returns the current instance for method chaining.
503
- """
504
- def __init__(self, parent: ARObject, short_name: str):
505
- super().__init__(parent, short_name)
506
-
507
- self.derivation: EcucDerivationSpecification = None
508
- self.symbolicNameValue: Boolean = None
509
- self.withAuto: Boolean = None
510
-
511
- def getDerivation(self) -> EcucDerivationSpecification:
512
- return self.derivation
513
-
514
- def setDerivation(self, value: EcucDerivationSpecification):
515
- if value is not None:
516
- self.derivation = value
517
- return self
518
-
519
- def getSymbolicNameValue(self) -> Boolean:
520
- return self.symbolicNameValue
521
-
522
- def setSymbolicNameValue(self, value: Boolean):
523
- if value is not None:
524
- self.symbolicNameValue = value
525
- return self
526
-
527
- def getWithAuto(self) -> Boolean:
528
- return self.withAuto
529
-
530
- def setWithAuto(self, value: Boolean):
531
- if value is not None:
532
- self.withAuto = value
533
- return self
534
-
535
-
536
- class EcucBooleanParamDef(EcucParameterDef):
537
- """
538
- Represents a boolean parameter definition in the AUTOSAR ECUC model.
539
-
540
- This class is a specialized type of `EcucParameterDef` that allows for the
541
- definition of boolean parameters within the ECUC parameter configuration.
542
-
543
- Attributes:
544
- parent (ARObject): The parent object in the AUTOSAR model hierarchy.
545
- short_name (str): The short name of the ECUC boolean parameter definition.
546
- """
547
- def __init__(self, parent: ARObject, short_name: str):
548
- super().__init__(parent, short_name)
549
-
550
- self.defaultValue: Boolean = None
551
-
552
- def getDefaultValue(self) -> Boolean:
553
- return self.defaultValue
554
-
555
- def setDefaultValue(self, value: Boolean):
556
- if value is not None:
557
- self.defaultValue = value
558
- return self
559
-
560
-
561
- class EcucAbstractReferenceDef(EcucCommonAttributes, metaclass=ABCMeta):
562
- """
563
- EcucAbstractReferenceDef is an abstract class that extends EcucCommonAttributes and uses ABCMeta as its metaclass.
564
- It represents an ECUC (Electronic Control Unit Configuration) abstract reference definition.
565
- Attributes:
566
- withAuto (Boolean): A flag indicating whether the reference is automatic. Defaults to None.
567
- Methods:
568
- getWithAuto() -> Boolean:
569
- Retrieves the value of the `withAuto` attribute.
570
- setWithAuto(value: Boolean):
571
- Sets the value of the `withAuto` attribute. If the provided value is not None, it updates the attribute.
572
- Returns the instance itself for method chaining.
573
- Raises:
574
- TypeError: If an attempt is made to instantiate this abstract class directly.
575
- """
576
- def __init__(self, parent, short_name):
577
- if type(self) is EcucAbstractReferenceDef:
578
- raise TypeError("Cannot instantiate abstract class EcucAbstractReferenceDef")
579
-
580
- super().__init__(parent, short_name)
581
-
582
- self.withAuto: Boolean = None
583
-
584
- def getWithAuto(self) -> Boolean:
585
- return self.withAuto
586
-
587
- def setWithAuto(self, value: Boolean):
588
- if value is not None:
589
- self.withAuto = value
590
- return self
591
-
592
-
593
- class EcucAbstractInternalReferenceDef(EcucAbstractReferenceDef, metaclass=ABCMeta):
594
- """
595
- EcucAbstractInternalReferenceDef is an abstract class that extends EcucAbstractReferenceDef
596
- and uses ABCMeta as its metaclass. This class cannot be instantiated directly.
597
- Attributes:
598
- requiresSymbolicNameValue (Boolean): A boolean attribute that indicates whether
599
- a symbolic name value is required. Defaults to None.
600
- Methods:
601
- getRequiresSymbolicNameValue() -> Boolean:
602
- Returns the value of the requiresSymbolicNameValue attribute.
603
- setRequiresSymbolicNameValue(value: Boolean):
604
- Sets the value of the requiresSymbolicNameValue attribute if the provided value
605
- is not None. Returns the instance of the class.
606
- """
607
- def __init__(self, parent, short_name):
608
- if type(self) is EcucAbstractInternalReferenceDef:
609
- raise TypeError("Cannot instantiate abstract class EcucAbstractInternalReferenceDef")
610
- super().__init__(parent, short_name)
611
-
612
- self.requiresSymbolicNameValue: Boolean = None
613
-
614
- def getRequiresSymbolicNameValue(self) -> Boolean:
615
- return self.requiresSymbolicNameValue
616
-
617
- def setRequiresSymbolicNameValue(self, value: Boolean):
618
- if value is not None:
619
- self.requiresSymbolicNameValue = value
620
- return self
621
-
622
-
623
- class EcucAbstractExternalReferenceDef(EcucAbstractReferenceDef, metaclass=ABCMeta):
624
- def __init__(self, parent, short_name):
625
- if type(self) is EcucAbstractExternalReferenceDef:
626
- raise TypeError("Cannot instantiate abstract class EcucAbstractExternalReferenceDef")
627
-
628
- super().__init__(parent, short_name)
629
-
630
-
631
- class EcucSymbolicNameReferenceDef(EcucAbstractInternalReferenceDef):
632
- def __init__(self, parent: ARObject, short_name: str):
633
- super().__init__(parent, short_name)
634
-
635
- self.destinationRef: RefType = None
636
-
637
- def getDestinationRef(self) -> RefType:
638
- return self.destinationRef
639
-
640
- def setDestinationRef(self, value: RefType):
641
- if value is not None:
642
- self.destinationRef = value
643
- return self
644
-
645
-
646
- class EcucChoiceReferenceDef(EcucAbstractInternalReferenceDef):
647
- def __init__(self, parent: ARObject, short_name: str):
648
- super().__init__(parent, short_name)
649
-
650
- self.destinationRef: RefType = None
651
-
652
- def getDestinationRef(self) -> RefType:
653
- return self.destinationRef
654
-
655
- def setDestinationRef(self, value: RefType):
656
- if value is not None:
657
- self.destinationRef = value
658
- return self
659
-
660
-
661
- class EcucReferenceDef(EcucAbstractInternalReferenceDef):
662
- def __init__(self, parent: ARObject, short_name: str):
663
- super().__init__(parent, short_name)
664
-
665
- self.destinationRef: RefType = None
666
-
667
- def getDestinationRef(self) -> RefType:
668
- return self.destinationRef
669
-
670
- def setDestinationRef(self, value: RefType):
671
- if value is not None:
672
- self.destinationRef = value
673
- return self
674
-
675
-
676
- class EcucUriReferenceDef(EcucAbstractInternalReferenceDef):
677
- def __init__(self, parent: ARObject, short_name: str):
678
- super().__init__(parent, short_name)
679
-
680
- self.destinationUriRef: EcucDestinationUriDefRefType = None
681
-
682
- def getDestinationUriRef(self) -> EcucDestinationUriDefRefType:
683
- return self.destinationUriRef
684
-
685
- def setDestinationUriRef(self, value: EcucDestinationUriDefRefType):
686
- if value is not None:
687
- self.destinationUriRef = value
688
- return self
689
-
690
-
691
- class EcucForeignReferenceDef(EcucAbstractExternalReferenceDef):
692
- def __init__(self, parent: ARObject, short_name: str):
693
- super().__init__(parent, short_name)
694
-
695
- self.destinationContext: String = None
696
- self.destinationType: String = None
697
-
698
- def getDestinationContext(self) -> String:
699
- return self.destinationContext
700
-
701
- def setDestinationContext(self, value: String):
702
- if value is not None:
703
- self.destinationContext = value
704
- return self
705
-
706
- def getDestinationType(self) -> String:
707
- return self.destinationType
708
-
709
- def setDestinationType(self, value: String):
710
- if value is not None:
711
- self.destinationType = value
712
- return self
713
-
714
-
715
- class EcucInstanceReferenceDef(EcucAbstractExternalReferenceDef):
716
- def __init__(self, parent: ARObject, short_name: str):
717
- super().__init__(parent, short_name)
718
-
719
- self.destinationType: String = None
720
-
721
- def getDestinationType(self) -> String:
722
- return self.destinationType
723
-
724
- def setDestinationType(self, value: String):
725
- if value is not None:
726
- self.destinationType = value
727
- return self
728
-
729
-
730
- class EcucAbstractStringParamDef(EcucParameterDef, metaclass=ABCMeta):
731
- """
732
- EcucAbstractStringParamDef is an abstract class that represents a string parameter definition
733
- in the AUTOSAR ECUC model. It inherits from EcucParameterDef and uses ABCMeta as its metaclass
734
- to enforce abstraction.
735
- Attributes:
736
- defaultValue (VerbatimString): The default value of the string parameter.
737
- maxLength (PositiveInteger): The maximum length of the string parameter.
738
- minLength (PositiveInteger): The minimum length of the string parameter.
739
- regularExpression (RegularExpression): A regular expression that the string parameter must match.
740
- Methods:
741
- getDefaultValue() -> VerbatimString:
742
- Returns the default value of the string parameter.
743
- setDefaultValue(value: VerbatimString):
744
- Sets the default value of the string parameter. Returns the instance for chaining.
745
- getMaxLength() -> PositiveInteger:
746
- Returns the maximum length of the string parameter.
747
- setMaxLength(value: PositiveInteger):
748
- Sets the maximum length of the string parameter. Returns the instance for chaining.
749
- getMinLength() -> PositiveInteger:
750
- Returns the minimum length of the string parameter.
751
- setMinLength(value: PositiveInteger):
752
- Sets the minimum length of the string parameter. Returns the instance for chaining.
753
- getRegularExpression() -> RegularExpression:
754
- Returns the regular expression constraint of the string parameter.
755
- setRegularExpression(value: RegularExpression):
756
- Sets the regular expression constraint of the string parameter. Returns the instance for chaining.
757
- Raises:
758
- TypeError: If an attempt is made to instantiate the abstract class directly.
759
- """
760
- def __init__(self, parent, short_name):
761
- if type(self) is EcucAbstractStringParamDef:
762
- raise TypeError("Cannot instantiate abstract class EcucAbstractStringParamDef")
763
-
764
- super().__init__(parent, short_name)
765
-
766
- self.defaultValue: VerbatimString = None
767
- self.maxLength: PositiveInteger = None
768
- self.minLength: PositiveInteger = None
769
- self.regularExpression: RegularExpression = None
770
-
771
- def getDefaultValue(self) -> VerbatimString:
772
- return self.defaultValue
773
-
774
- def setDefaultValue(self, value: VerbatimString):
775
- if value is not None:
776
- self.defaultValue = value
777
- return self
778
-
779
- def getMaxLength(self) -> PositiveInteger:
780
- return self.maxLength
781
-
782
- def setMaxLength(self, value: PositiveInteger):
783
- if value is not None:
784
- self.maxLength = value
785
- return self
786
-
787
- def getMinLength(self) -> PositiveInteger:
788
- return self.minLength
789
-
790
- def setMinLength(self, value: PositiveInteger):
791
- if value is not None:
792
- self.minLength = value
793
- return self
794
-
795
- def getRegularExpression(self) -> RegularExpression:
796
- return self.regularExpression
797
-
798
- def setRegularExpression(self, value: RegularExpression):
799
- if value is not None:
800
- self.regularExpression = value
801
- return self
802
-
803
-
804
- class EcucStringParamDef(EcucAbstractStringParamDef):
805
- """
806
- Represents a specific type of ECUC parameter definition for string parameters.
807
-
808
- This class is a specialization of `EcucAbstractStringParamDef` and is used to
809
- define string parameters in the AUTOSAR ECUC configuration.
810
-
811
- Attributes:
812
- parent (ARObject): The parent object in the AUTOSAR model hierarchy.
813
- short_name (str): The short name of the ECUC string parameter definition.
814
- """
815
- def __init__(self, parent: ARObject, short_name: str):
816
- super().__init__(parent, short_name)
817
-
818
-
819
- class EcucFunctionNameDef(EcucAbstractStringParamDef):
820
- """
821
- Represents a specific type of ECUC parameter definition for function names.
822
-
823
- This class is a specialization of `EcucAbstractStringParamDef` and is used
824
- to define ECUC parameters that represent function names in the AUTOSAR model.
825
-
826
- Attributes:
827
- parent (ARObject): The parent object in the AUTOSAR hierarchy.
828
- short_name (str): The short name of the ECUC parameter definition.
829
- """
830
- def __init__(self, parent: ARObject, short_name: str):
831
- super().__init__(parent, short_name)
832
-
833
-
834
- class EcucIntegerParamDef(EcucParameterDef):
835
- def __init__(self, parent: ARObject, short_name: str):
836
- super().__init__(parent, short_name)
837
-
838
- self.defaultValue: UnlimitedInteger = None
839
- self.max: UnlimitedInteger = None
840
- self.min: UnlimitedInteger = None
841
-
842
- def getDefaultValue(self) -> UnlimitedInteger:
843
- return self.defaultValue
844
-
845
- def setDefaultValue(self, value: UnlimitedInteger):
846
- if value is not None:
847
- self.defaultValue = value
848
- return self
849
-
850
- def getMax(self) -> UnlimitedInteger:
851
- return self.max
852
-
853
- def setMax(self, value: UnlimitedInteger):
854
- if value is not None:
855
- self.max = value
856
- return self
857
-
858
- def getMin(self) -> UnlimitedInteger:
859
- return self.min
860
-
861
- def setMin(self, value: UnlimitedInteger):
862
- if value is not None:
863
- self.min = value
864
- return self
865
-
866
-
867
- class EcucEnumerationLiteralDef(Identifiable):
868
- """
869
- Represents an ECUC Enumeration Literal Definition in the AUTOSAR model.
870
- This class is used to define enumeration literals for ECUC parameters,
871
- including their associated condition specifications and origin information.
872
- Attributes:
873
- ecucCond (EcucConditionSpecification): The condition specification associated with the enumeration literal.
874
- origin (String): The origin information for the enumeration literal.
875
- Methods:
876
- getEcucCond() -> EcucConditionSpecification:
877
- Retrieves the condition specification associated with the enumeration literal.
878
- setEcucCond(value: EcucConditionSpecification):
879
- Sets the condition specification for the enumeration literal.
880
- Returns the current instance for method chaining.
881
- getOrigin() -> String:
882
- Retrieves the origin information for the enumeration literal.
883
- setOrigin(value: String):
884
- Sets the origin information for the enumeration literal.
885
- Returns the current instance for method chaining.
886
- """
887
- def __init__(self, parent: ARObject, short_name: str):
888
- super().__init__(parent, short_name)
889
-
890
- self.ecucCond: EcucConditionSpecification = None
891
- self.origin: String = None
892
-
893
- def getEcucCond(self) -> EcucConditionSpecification:
894
- return self.ecucCond
895
-
896
- def setEcucCond(self, value: EcucConditionSpecification):
897
- if value is not None:
898
- self.ecucCond = value
899
- return self
900
-
901
- def getOrigin(self) -> String:
902
- return self.origin
903
-
904
- def setOrigin(self, value: String):
905
- if value is not None:
906
- self.origin = value
907
- return self
908
-
909
-
910
- class EcucEnumerationParamDef(EcucParameterDef):
911
- """
912
- Represents an ECUC (Electronic Control Unit Configuration) enumeration parameter definition.
913
- This class is used to define an enumeration parameter in an AUTOSAR ECUC model. It allows
914
- setting a default value and managing a list of enumeration literals.
915
- Attributes:
916
- defaultValue (Identifier): The default value of the enumeration parameter.
917
- literals (List[EcucEnumerationLiteralDef]): A list of enumeration literal definitions.
918
- Methods:
919
- getDefaultValue() -> UnlimitedInteger:
920
- Retrieves the default value of the enumeration parameter.
921
- setDefaultValue(value: UnlimitedInteger):
922
- Sets the default value of the enumeration parameter.
923
- Returns the current instance for method chaining.
924
- getLiterals() -> List[EcucEnumerationLiteralDef]:
925
- Retrieves the list of enumeration literal definitions.
926
- createLiteral(short_name: str) -> EcucEnumerationLiteralDef:
927
- Creates a new enumeration literal with the specified short name if it does not already exist.
928
- Adds the literal to the list of literals and returns it.
929
- """
930
- def __init__(self, parent: ARObject, short_name: str):
931
- super().__init__(parent, short_name)
932
-
933
- self.defaultValue: Identifier = None
934
- self.literals: List[EcucEnumerationLiteralDef] = []
935
-
936
- def getDefaultValue(self) -> UnlimitedInteger:
937
- return self.defaultValue
938
-
939
- def setDefaultValue(self, value: UnlimitedInteger):
940
- if value is not None:
941
- self.defaultValue = value
942
- return self
943
-
944
- def getLiterals(self) -> List[EcucEnumerationLiteralDef]:
945
- return self.literals
946
-
947
- def createLiteral(self, short_name: str) -> EcucEnumerationLiteralDef:
948
- if not self.IsElementExists(short_name):
949
- literal = EcucEnumerationLiteralDef(self, short_name)
950
- self.addElement(literal)
951
- self.literals.append(literal)
952
- return self.getElement(short_name)
953
-
954
-
955
- class EcucFloatParamDef(EcucParameterDef):
956
- def __init__(self, parent: ARObject, short_name: str):
957
- super().__init__(parent, short_name)
958
-
959
- self.defaultValue: Float = None
960
- self.max: Limit = None
961
- self.min: Limit = None
962
-
963
- def getDefaultValue(self) -> Float:
964
- return self.defaultValue
965
-
966
- def setDefaultValue(self, value: Float):
967
- if value is not None:
968
- self.defaultValue = value
969
- return self
970
-
971
- def getMax(self) -> Limit:
972
- return self.max
973
-
974
- def setMax(self, value: Limit):
975
- if value is not None:
976
- self.max = value
977
- return self
978
-
979
- def getMin(self) -> Limit:
980
- return self.min
981
-
982
- def setMin(self, value: Limit):
983
- if value is not None:
984
- self.min = value
985
- return self
986
-
987
-
988
- class EcucChoiceContainerDef(EcucContainerDef):
989
- """
990
- Represents an ECUC choice container definition in the AUTOSAR model.
991
-
992
- This class is a specialized type of `EcucContainerDef` that allows for the
993
- definition of choice containers within the ECUC parameter configuration.
994
-
995
- Attributes:
996
- parent (ARObject): The parent object in the AUTOSAR model hierarchy.
997
- short_name (str): The short name of the ECUC choice container definition.
998
- """
999
- def __init__(self, parent: ARObject, short_name: str):
1000
- super().__init__(parent, short_name)
1001
-
1002
- self.choices: List["EcucParamConfContainerDef"] = []
1003
-
1004
- def getChoices(self) -> List["EcucParamConfContainerDef"]:
1005
- return self.choices
1006
-
1007
- def createEcucParamConfContainerDef(self, short_name: str) -> "EcucParamConfContainerDef":
1008
- if not self.IsElementExists(short_name):
1009
- choice = EcucParamConfContainerDef(self, short_name)
1010
- self.addElement(choice)
1011
- self.choices.append(choice)
1012
- return self.getElement(short_name)
1013
-
1014
-
1015
- class EcucParamConfContainerDef(EcucContainerDef):
1016
- class EcucParamConfContainerDef:
1017
- """
1018
- Represents a configuration container definition in the AUTOSAR ECUC model.
1019
- This class is used to define a container that can hold parameters, references,
1020
- and sub-containers as part of the AUTOSAR ECUC configuration.
1021
- Attributes:
1022
- parameters (List[EcucParameterDef]): A list of parameter definitions associated with this container.
1023
- references (List[EcucAbstractReferenceDef]): A list of reference definitions associated with this container.
1024
- subContainers (List[EcucContainerDef]): A list of sub-container definitions associated with this container.
1025
- Methods:
1026
- getParameters() -> List[EcucParameterDef]:
1027
- Retrieves the list of parameter definitions.
1028
- addParameter(value: EcucParameterDef):
1029
- Adds a parameter definition to the container.
1030
- Returns the current instance for method chaining.
1031
- getReferences() -> List[EcucAbstractReferenceDef]:
1032
- Retrieves the list of reference definitions.
1033
- addReference(value: EcucAbstractReferenceDef):
1034
- Adds a reference definition to the container.
1035
- Returns the current instance for method chaining.
1036
- getSubContainers() -> List[EcucContainerDef]:
1037
- Retrieves the list of sub-container definitions.
1038
- addSubContainers(value: EcucContainerDef):
1039
- Adds a sub-container definition to the container.
1040
- Returns the current instance for method chaining.
1041
- """
1042
-
1043
- def __init__(self, parent: ARObject, short_name: str):
1044
- """
1045
- Initializes an ECUCParameterDefTemplate instance.
1046
- Args:
1047
- parent (ARObject): The parent ARObject to which this template belongs.
1048
- short_name (str): The short name identifier for this template.
1049
- Attributes:
1050
- parameters (List[EcucParameterDef]): A list of ECUC parameter definitions.
1051
- references (List[EcucAbstractReferenceDef]): A list of ECUC abstract reference definitions.
1052
- subContainers (List[EcucContainerDef]): A list of ECUC container definitions.
1053
- """
1054
- super().__init__(parent, short_name)
1055
-
1056
- self.parameters: List[EcucParameterDef] = []
1057
- self.references: List[EcucAbstractReferenceDef] = []
1058
- self.subContainers: List[EcucContainerDef] = []
1059
-
1060
- def getParameters(self) -> List[EcucParameterDef]:
1061
- """
1062
- Retrieves the list of ECUC parameter definitions.
1063
-
1064
- Returns:
1065
- List[EcucParameterDef]: A list of ECUC parameter definitions.
1066
- """
1067
- return self.parameters
1068
-
1069
- def createEcucBooleanParamDef(self, short_name: str) -> EcucBooleanParamDef:
1070
- """
1071
- Creates a new ECUC boolean parameter definition and adds it to the container.
1072
-
1073
- Args:
1074
- short_name (str): The short name identifier for the new parameter definition.
1075
-
1076
- Returns:
1077
- EcucBooleanParamDef: The newly created ECUC boolean parameter definition.
1078
- """
1079
- if not self.IsElementExists(short_name):
1080
- param = EcucBooleanParamDef(self, short_name)
1081
- self.addElement(param)
1082
- self.parameters.append(param)
1083
- return self.getElement(short_name)
1084
-
1085
- def createEcucStringParamDef(self, short_name: str) -> EcucStringParamDef:
1086
- """
1087
- Creates an ECUC string parameter definition with the given short name.
1088
-
1089
- Args:
1090
- short_name (str): The short name of the ECUC string parameter definition.
1091
-
1092
- Returns:
1093
- EcucStringParamDef: The ECUC string parameter definition instance associated
1094
- with the given short name.
1095
- """
1096
- if not self.IsElementExists(short_name):
1097
- param = EcucStringParamDef(self, short_name)
1098
- self.addElement(param)
1099
- self.parameters.append(param)
1100
- return self.getElement(short_name)
1101
-
1102
- def createEcucIntegerParamDef(self, short_name: str) -> EcucIntegerParamDef:
1103
- """
1104
- Creates an ECUC integer parameter definition with the given short name.
1105
-
1106
- Args:
1107
- short_name (str): The short name of the ECUC integer parameter definition.
1108
-
1109
- Returns:
1110
- EcucIntegerParamDef: The ECUC integer parameter definition instance associated
1111
- with the given short name.
1112
- """
1113
- if not self.IsElementExists(short_name):
1114
- param = EcucIntegerParamDef(self, short_name)
1115
- self.addElement(param)
1116
- self.parameters.append(param)
1117
- return self.getElement(short_name)
1118
-
1119
- def createEcucFloatParamDef(self, short_name: str) -> EcucFloatParamDef:
1120
- """
1121
- Creates an ECUC float parameter definition with the given short name.
1122
-
1123
- Args:
1124
- short_name (str): The short name of the ECUC float parameter definition.
1125
-
1126
- Returns:
1127
- EcucFloatParamDef: The ECUC float parameter definition instance associated
1128
- with the given short name.
1129
- """
1130
- if not self.IsElementExists(short_name):
1131
- param = EcucFloatParamDef(self, short_name)
1132
- self.addElement(param)
1133
- self.parameters.append(param)
1134
- return self.getElement(short_name)
1135
-
1136
- def createEcucEnumerationParamDef(self, short_name: str) -> EcucEnumerationParamDef:
1137
- """
1138
- Creates an ECUC enumeration parameter definition with the given short name.
1139
-
1140
- Args:
1141
- short_name (str): The short name of the ECUC enumeration parameter definition.
1142
-
1143
- Returns:
1144
- EcucEnumerationParamDef: The ECUC enumeration parameter definition instance associated
1145
- with the given short name.
1146
- """
1147
- if not self.IsElementExists(short_name):
1148
- param = EcucEnumerationParamDef(self, short_name)
1149
- self.addElement(param)
1150
- self.parameters.append(param)
1151
- return self.getElement(short_name)
1152
-
1153
- def createEcucFunctionNameDef(self, short_name: str) -> EcucFunctionNameDef:
1154
- """
1155
- Creates a new ECUC function name definition and adds it to the container.
1156
-
1157
- Args:
1158
- short_name (str): The short name identifier for the new reference definition.
1159
-
1160
- Returns:
1161
- EcucFunctionNameDef: The newly created ECUC function name definition.
1162
- """
1163
- if not self.IsElementExists(short_name):
1164
- ref = EcucFunctionNameDef(self, short_name)
1165
- self.addElement(ref)
1166
- self.parameters.append(ref)
1167
- return self.getElement(short_name)
1168
-
1169
- def getReferences(self) -> List[EcucAbstractReferenceDef]:
1170
- """
1171
- Retrieves the list of ECUC abstract reference definitions.
1172
-
1173
- Returns:
1174
- List[EcucAbstractReferenceDef]: A list of ECUC abstract reference definitions.
1175
- """
1176
- return self.references
1177
-
1178
- def createEcucSymbolicNameReferenceDef(self, short_name: str) -> EcucSymbolicNameReferenceDef:
1179
- """
1180
- Creates a new ECUC symbolic name reference definition and adds it to the container.
1181
-
1182
- Args:
1183
- short_name (str): The short name identifier for the new reference definition.
1184
-
1185
- Returns:
1186
- EcucSymbolicNameReferenceDef: The newly created ECUC symbolic name reference definition.
1187
- """
1188
- if not self.IsElementExists(short_name):
1189
- ref = EcucSymbolicNameReferenceDef(self, short_name)
1190
- self.addElement(ref)
1191
- self.references.append(ref)
1192
- return self.getElement(short_name)
1193
-
1194
- def createEcucReferenceDef(self, short_name: str) -> EcucReferenceDef:
1195
- """
1196
- Creates a new ECUC reference definition and adds it to the container.
1197
-
1198
- Args:
1199
- short_name (str): The short name identifier for the new reference definition.
1200
-
1201
- Returns:
1202
- EcucReferenceDef: The newly created ECUC reference definition.
1203
- """
1204
- if not self.IsElementExists(short_name):
1205
- ref = EcucReferenceDef(self, short_name)
1206
- self.addElement(ref)
1207
- self.references.append(ref)
1208
- return self.getElement(short_name)
1209
-
1210
- def getSubContainers(self) -> List[EcucContainerDef]:
1211
- """
1212
- Retrieves the list of ECUC container definitions.
1213
-
1214
- Returns:
1215
- List[EcucContainerDef]: A list of ECUC container definitions.
1216
- """
1217
- return self.subContainers
1218
-
1219
- def createEcucChoiceContainerDef(self, short_name: str) -> EcucChoiceContainerDef:
1220
- """
1221
- Creates a new ECUC choice container definition and adds it to the container.
1222
-
1223
- Args:
1224
- short_name (str): The short name identifier for the new container definition.
1225
-
1226
- Returns:
1227
- EcucChoiceContainerDef: The newly created ECUC choice container definition.
1228
- """
1229
- if not self.IsElementExists(short_name):
1230
- container = EcucChoiceContainerDef(self, short_name)
1231
- self.addElement(container)
1232
- self.subContainers.append(container)
1233
- return self.getElement(short_name)
1234
-
1235
- def createEcucParamConfContainerDef(self, short_name: str) -> EcucParamConfContainerDef:
1236
- """
1237
- Creates a new ECUC parameter configuration container definition and adds it to the container.
1238
-
1239
- Args:
1240
- short_name (str): The short name identifier for the new container definition.
1241
-
1242
- Returns:
1243
- EcucParamConfContainerDef: The newly created ECUC parameter configuration container definition.
1244
- """
1245
- if not self.IsElementExists(short_name):
1246
- container = EcucParamConfContainerDef(self, short_name)
1247
- self.addElement(container)
1248
- self.subContainers.append(container)
1249
- return self.getElement(short_name)
1
+ from abc import ABC
2
+ from typing import List
3
+
4
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpBlueprintable
5
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, Boolean, CIdentifier, Float, Identifier, Limit
6
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, UnlimitedInteger
7
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RegularExpression, String, VerbatimString
8
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
9
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
10
+
11
+
12
+ # class EcucConditionFormula(FormulaExpression)
13
+
14
+ class EcucConditionSpecification(ARObject):
15
+ """
16
+ Represents an ECUC (Electronic Control Unit Configuration) condition specification
17
+ in the AUTOSAR model.
18
+ This class is used to define conditions that can be applied to ECUC parameters
19
+ or configurations. It inherits from the ARObject base class.
20
+ Attributes:
21
+ conditionFormula (EcucConditionFormula): Represents the formula or expression
22
+ that defines the condition.
23
+ """
24
+ def __init__(self):
25
+ super().__init__()
26
+
27
+ self.conditionFormula: "EcucConditionFormula" = None
28
+
29
+ def getConditionFormula(self) -> "EcucConditionFormula":
30
+ return self.conditionFormula
31
+
32
+ def setConditionFormula(self, value: "EcucConditionFormula"):
33
+ if value is not None:
34
+ self.conditionFormula = value
35
+ return self
36
+
37
+
38
+ class EcucValidationCondition(Identifiable):
39
+ """
40
+ Represents an ECUC validation condition in the AUTOSAR model.
41
+
42
+ This class is used to define a validation condition for an ECUC parameter
43
+ within the AUTOSAR framework. It inherits from the `Identifiable` class.
44
+
45
+ Attributes:
46
+ parent (ARObject): The parent ARObject to which this validation condition belongs.
47
+ short_name (str): A short name identifier for the validation condition.
48
+ """
49
+ def __init__(self, parent: ARObject, short_name: str):
50
+ super().__init__(parent, short_name)
51
+
52
+
53
+ class EcucScopeEnum(AREnum):
54
+ def __init__(self):
55
+ super().__init__([])
56
+
57
+
58
+ class EcucDefinitionElement(Identifiable, ABC):
59
+ """
60
+ Represents an ECUC (Electronic Control Unit Configuration) definition element
61
+ with various attributes and methods to manage its properties.
62
+ Attributes:
63
+ ecucCond (EcucConditionSpecification): The condition specification for the ECUC element.
64
+ ecucValidationConds (List[EcucValidationCondition]): A list of validation conditions for the ECUC element.
65
+ lowerMultiplicity (PositiveInteger): The lower multiplicity of the ECUC element.
66
+ relatedTraceItemRef (RefType): A reference to a related trace item.
67
+ scope (EcucScopeEnum): The scope of the ECUC element.
68
+ upperMultiplicity (PositiveInteger): The upper multiplicity of the ECUC element.
69
+ upperMultiplicityInfinite (Boolean): Indicates if the upper multiplicity is infinite.
70
+ Methods:
71
+ getEcucCond() -> EcucConditionSpecification:
72
+ Returns the ECUC condition specification.
73
+ setEcucCond(value: EcucConditionSpecification):
74
+ Sets the ECUC condition specification.
75
+ getEcucValidationConds() -> List[EcucValidationCondition]:
76
+ Returns the list of ECUC validation conditions.
77
+ addEcucValidationCond(value: EcucValidationCondition):
78
+ Adds a validation condition to the list of ECUC validation conditions.
79
+ getLowerMultiplicity() -> PositiveInteger:
80
+ Returns the lower multiplicity of the ECUC element.
81
+ setLowerMultiplicity(value: PositiveInteger):
82
+ Sets the lower multiplicity of the ECUC element.
83
+ getRelatedTraceItemRef() -> RefType:
84
+ Returns the reference to the related trace item.
85
+ setRelatedTraceItemRef(value: RefType):
86
+ Sets the reference to the related trace item.
87
+ getScope() -> EcucScopeEnum:
88
+ Returns the scope of the ECUC element.
89
+ setScope(value: EcucScopeEnum):
90
+ Sets the scope of the ECUC element.
91
+ getUpperMultiplicity() -> PositiveInteger:
92
+ Returns the upper multiplicity of the ECUC element.
93
+ setUpperMultiplicity(value: PositiveInteger):
94
+ Sets the upper multiplicity of the ECUC element.
95
+ getUpperMultiplicityInfinite() -> Boolean:
96
+ Returns whether the upper multiplicity is infinite.
97
+ setUpperMultiplicityInfinite(value: Boolean):
98
+ Sets whether the upper multiplicity is infinite.
99
+ """
100
+ def __init__(self, parent: ARObject, short_name: str):
101
+ if type(self) is EcucDefinitionElement:
102
+ raise TypeError("EcucDefinitionElement is an abstract class.")
103
+ super().__init__(parent, short_name)
104
+
105
+ self.ecucCond: EcucConditionSpecification = None
106
+ self.ecucValidationConds: List[EcucValidationCondition] = []
107
+ self.lowerMultiplicity: PositiveInteger = None
108
+ self.relatedTraceItemRef: RefType = None
109
+ self.scope: EcucScopeEnum = None
110
+ self.upperMultiplicity: PositiveInteger = None
111
+ self.upperMultiplicityInfinite: Boolean = None
112
+
113
+ def getEcucCond(self) -> EcucConditionSpecification:
114
+ return self.ecucCond
115
+
116
+ def setEcucCond(self, value: EcucConditionSpecification):
117
+ if value is not None:
118
+ self.ecucCond = value
119
+ return self
120
+
121
+ def getEcucValidationConds(self) -> List[EcucValidationCondition]:
122
+ return self.ecucValidationConds
123
+
124
+ def addEcucValidationCond(self, value: EcucValidationCondition):
125
+ if value is not None:
126
+ self.ecucValidationConds.append(value)
127
+ return self
128
+
129
+ def getLowerMultiplicity(self) -> PositiveInteger:
130
+ return self.lowerMultiplicity
131
+
132
+ def setLowerMultiplicity(self, value: PositiveInteger):
133
+ if value is not None:
134
+ self.lowerMultiplicity = value
135
+ return self
136
+
137
+ def getRelatedTraceItemRef(self) -> RefType:
138
+ return self.relatedTraceItemRef
139
+
140
+ def setRelatedTraceItemRef(self, value: RefType):
141
+ if value is not None:
142
+ self.relatedTraceItemRef = value
143
+ return self
144
+
145
+ def getScope(self) -> EcucScopeEnum:
146
+ return self.scope
147
+
148
+ def setScope(self, value: EcucScopeEnum):
149
+ if value is not None:
150
+ self.scope = value
151
+ return self
152
+
153
+ def getUpperMultiplicity(self) -> PositiveInteger:
154
+ return self.upperMultiplicity
155
+
156
+ def setUpperMultiplicity(self, value: PositiveInteger):
157
+ if value is not None:
158
+ self.upperMultiplicity = value
159
+ return self
160
+
161
+ def getUpperMultiplicityInfinite(self) -> Boolean:
162
+ return self.upperMultiplicityInfinite
163
+
164
+ def setUpperMultiplicityInfinite(self, value: Boolean):
165
+ if value is not None:
166
+ self.upperMultiplicityInfinite = value
167
+ return self
168
+
169
+
170
+ class EcucDestinationUriDefRefType(RefType):
171
+ """
172
+ EcucDestinationUriDefRefType is a class that represents a reference type
173
+ specific to ECUC Destination URI definitions.
174
+
175
+ This class inherits from the `RefType` base class and is used to define
176
+ references to ECUC Destination URI definitions in the AUTOSAR model.
177
+
178
+ Methods:
179
+ __init__(): Initializes an instance of EcucDestinationUriDefRefType
180
+ by invoking the constructor of the parent `RefType` class.
181
+ """
182
+ def __init__(self):
183
+ super().__init__()
184
+
185
+
186
+ class EcucConfigurationClassEnum(AREnum):
187
+ def __init__(self):
188
+ super().__init__([])
189
+
190
+
191
+ class EcucConfigurationVariantEnum(AREnum):
192
+ def __init__(self):
193
+ super().__init__([])
194
+
195
+
196
+ class EcucAbstractConfigurationClass(ARObject, ABC):
197
+ """
198
+ Represents an abstract configuration class for ECUC (Electronic Control Unit Configuration).
199
+ This class provides methods to get and set the configuration class and variant.
200
+ Attributes:
201
+ configClass (EcucConfigurationClassEnum): The configuration class of the ECUC.
202
+ configVariant (EcucConfigurationVariantEnum): The configuration variant of the ECUC.
203
+ Methods:
204
+ getConfigClass() -> EcucConfigurationClassEnum:
205
+ Retrieves the current configuration class.
206
+ setConfigClass(value: EcucConfigurationClassEnum):
207
+ Sets the configuration class to the specified value.
208
+ Returns the instance for method chaining.
209
+ getConfigVariant() -> EcucConfigurationVariantEnum:
210
+ Retrieves the current configuration variant.
211
+ setConfigVariant(value: EcucConfigurationVariantEnum):
212
+ Sets the configuration variant to the specified value.
213
+ Returns the instance for method chaining.
214
+ """
215
+ def __init__(self):
216
+ if type(self) is EcucAbstractConfigurationClass:
217
+ raise TypeError("EcucAbstractConfigurationClass is an abstract class.")
218
+ super().__init__()
219
+
220
+ self.configClass: EcucConfigurationClassEnum = None
221
+ self.configVariant: EcucConfigurationVariantEnum = None
222
+
223
+ def getConfigClass(self) -> EcucConfigurationClassEnum:
224
+ return self.configClass
225
+
226
+ def setConfigClass(self, value: EcucConfigurationClassEnum):
227
+ if value is not None:
228
+ self.configClass = value
229
+ return self
230
+
231
+ def getConfigVariant(self) -> EcucConfigurationVariantEnum:
232
+ return self.configVariant
233
+
234
+ def setConfigVariant(self, value: EcucConfigurationVariantEnum):
235
+ if value is not None:
236
+ self.configVariant = value
237
+ return self
238
+
239
+
240
+ class EcucMultiplicityConfigurationClass(EcucAbstractConfigurationClass):
241
+ """
242
+ EcucMultiplicityConfigurationClass is a subclass of EcucAbstractConfigurationClass.
243
+
244
+ This class represents a specific configuration class for handling multiplicity
245
+ in ECUC (Electronic Control Unit Configuration) parameter definitions. It
246
+ inherits from the EcucAbstractConfigurationClass to provide base functionality
247
+ and extend it for multiplicity-specific configurations.
248
+
249
+ Methods:
250
+ __init__(): Initializes an instance of EcucMultiplicityConfigurationClass
251
+ and invokes the constructor of the parent class.
252
+ """
253
+ def __init__(self):
254
+ super().__init__()
255
+
256
+
257
+ class EcucContainerDef(EcucDefinitionElement, ABC):
258
+ """
259
+ Represents an ECUC container definition in the AUTOSAR model.
260
+ This class defines various properties and methods to manage ECUC container
261
+ definitions, including destination URI references, multiplicity configuration
262
+ classes, origin, and other configuration-related attributes.
263
+ Attributes:
264
+ destinationUriRef (EcucDestinationUriDefRefType): The destination URI reference.
265
+ multiplicityConfigClasses (List[EcucMultiplicityConfigurationClass]): A list of
266
+ multiplicity configuration classes associated with the container.
267
+ origin (String): The origin of the container.
268
+ postBuildVariantMultiplicity (Boolean): Indicates if the container supports
269
+ post-build variant multiplicity.
270
+ requiresIndex (Boolean): Indicates if the container requires an index.
271
+ multipleConfigurationContainer (Boolean): Indicates if the container supports
272
+ multiple configurations.
273
+ Methods:
274
+ getDestinationUriRef() -> EcucDestinationUriDefRefType:
275
+ Returns the destination URI reference.
276
+ setDestinationUriRef(value: EcucDestinationUriDefRefType):
277
+ Sets the destination URI reference.
278
+ getMultiplicityConfigClasses() -> List[EcucMultiplicityConfigurationClass]:
279
+ Returns the list of multiplicity configuration classes.
280
+ addMultiplicityConfigClass(value: EcucMultiplicityConfigurationClass):
281
+ Adds a multiplicity configuration class to the list.
282
+ getOrigin() -> String:
283
+ Returns the origin of the container.
284
+ setOrigin(value: String):
285
+ Sets the origin of the container.
286
+ getPostBuildVariantMultiplicity() -> Boolean:
287
+ Returns whether the container supports post-build variant multiplicity.
288
+ setPostBuildVariantMultiplicity(value: Boolean):
289
+ Sets whether the container supports post-build variant multiplicity.
290
+ getRequiresIndex() -> Boolean:
291
+ Returns whether the container requires an index.
292
+ setRequiresIndex(value: Boolean):
293
+ Sets whether the container requires an index.
294
+ getMultipleConfigurationContainer() -> Boolean:
295
+ Returns whether the container supports multiple configurations.
296
+ setMultipleConfigurationContainer(value: Boolean):
297
+ Sets whether the container supports multiple configurations.
298
+ """
299
+ def __init__(self, parent: ARObject, short_name: str):
300
+ if type(self) is EcucContainerDef:
301
+ raise TypeError("EcucContainerDef is an abstract class.")
302
+ super().__init__(parent, short_name)
303
+
304
+ self.destinationUriRef: EcucDestinationUriDefRefType = None
305
+ self.multiplicityConfigClasses: List[EcucMultiplicityConfigurationClass] = []
306
+ self.origin: String = None
307
+ self.postBuildVariantMultiplicity: Boolean = None
308
+ self.requiresIndex: Boolean = None
309
+ self.multipleConfigurationContainer: Boolean = None
310
+
311
+ def getDestinationUriRef(self) -> EcucDestinationUriDefRefType:
312
+ return self.destinationUriRef
313
+
314
+ def setDestinationUriRef(self, value: EcucDestinationUriDefRefType):
315
+ if value is not None:
316
+ self.destinationUriRef = value
317
+ return self
318
+
319
+ def getMultiplicityConfigClasses(self) -> List[EcucMultiplicityConfigurationClass]:
320
+ return self.multiplicityConfigClasses
321
+
322
+ def addMultiplicityConfigClass(self, value: EcucMultiplicityConfigurationClass):
323
+ if value is not None:
324
+ self.multiplicityConfigClasses.append(value)
325
+ return self
326
+
327
+ def getOrigin(self) -> String:
328
+ return self.origin
329
+
330
+ def setOrigin(self, value: String):
331
+ if value is not None:
332
+ self.origin = value
333
+ return self
334
+
335
+ def getPostBuildVariantMultiplicity(self) -> Boolean:
336
+ return self.postBuildVariantMultiplicity
337
+
338
+ def setPostBuildVariantMultiplicity(self, value: Boolean):
339
+ if value is not None:
340
+ self.postBuildVariantMultiplicity = value
341
+ return self
342
+
343
+ def getRequiresIndex(self) -> Boolean:
344
+ return self.requiresIndex
345
+
346
+ def setRequiresIndex(self, value: Boolean):
347
+ if value is not None:
348
+ self.requiresIndex = value
349
+ return self
350
+
351
+ def getMultipleConfigurationContainer(self) -> Boolean:
352
+ return self.multipleConfigurationContainer
353
+
354
+ def setMultipleConfigurationContainer(self, value: Boolean):
355
+ if value is not None:
356
+ self.multipleConfigurationContainer = value
357
+ return self
358
+
359
+
360
+ class EcucValueConfigurationClass(EcucAbstractConfigurationClass):
361
+ """
362
+ EcucValueConfigurationClass is a subclass of EcucAbstractConfigurationClass.
363
+
364
+ This class represents a specific type of ECU configuration class used in the AUTOSAR standard.
365
+ It is designed to handle value-based configurations for ECU parameters.
366
+
367
+ Methods:
368
+ __init__(): Initializes an instance of EcucValueConfigurationClass by invoking the constructor
369
+ of its superclass, EcucAbstractConfigurationClass.
370
+ """
371
+ def __init__(self):
372
+ super().__init__()
373
+
374
+
375
+ class EcucCommonAttributes(EcucDefinitionElement, ABC):
376
+ """
377
+ EcucCommonAttributes is an abstract base class that represents common attributes
378
+ for ECUC (Electronic Control Unit Configuration) definition elements. This class
379
+ cannot be instantiated directly and must be subclassed.
380
+ Attributes:
381
+ multiplicityConfigClasses (List[EcucMultiplicityConfigurationClass]):
382
+ A list of multiplicity configuration classes associated with the ECUC element.
383
+ origin (String):
384
+ The origin of the ECUC element.
385
+ postBuildVariantMultiplicity (Boolean):
386
+ Indicates whether the ECUC element supports post-build variant multiplicity.
387
+ postBuildVariantValue (Boolean):
388
+ Indicates whether the ECUC element supports post-build variant values.
389
+ requiresIndex (Boolean):
390
+ Specifies whether the ECUC element requires an index.
391
+ valueConfigClasses (List[EcucValueConfigurationClass]):
392
+ A list of value configuration classes associated with the ECUC element.
393
+ Methods:
394
+ getMultiplicityConfigClasses() -> List[EcucMultiplicityConfigurationClass]:
395
+ Returns the list of multiplicity configuration classes.
396
+ addMultiplicityConfigClass(value: EcucMultiplicityConfigurationClass):
397
+ Adds a multiplicity configuration class to the list.
398
+ getOrigin() -> String:
399
+ Returns the origin of the ECUC element.
400
+ setOrigin(value: String):
401
+ Sets the origin of the ECUC element.
402
+ getPostBuildVariantMultiplicity() -> Boolean:
403
+ Returns whether the ECUC element supports post-build variant multiplicity.
404
+ setPostBuildVariantMultiplicity(value: Boolean):
405
+ Sets whether the ECUC element supports post-build variant multiplicity.
406
+ getPostBuildVariantValue() -> Boolean:
407
+ Returns whether the ECUC element supports post-build variant values.
408
+ setPostBuildVariantValue(value: Boolean):
409
+ Sets whether the ECUC element supports post-build variant values.
410
+ getRequiresIndex() -> Boolean:
411
+ Returns whether the ECUC element requires an index.
412
+ setRequiresIndex(value: Boolean):
413
+ Sets whether the ECUC element requires an index.
414
+ getValueConfigClasses() -> List[EcucValueConfigurationClass]:
415
+ Returns the list of value configuration classes.
416
+ addValueConfigClass(value: EcucValueConfigurationClass):
417
+ Adds a value configuration class to the list.
418
+ """
419
+ def __init__(self, parent: ARObject, short_name: str):
420
+ if type(self) is EcucCommonAttributes:
421
+ raise TypeError("Cannot instantiate abstract class EcucCommonAttributes")
422
+
423
+ super().__init__(parent, short_name)
424
+
425
+ self.multiplicityConfigClasses: List[EcucMultiplicityConfigurationClass] = []
426
+ self.origin: String = None
427
+ self.postBuildVariantMultiplicity: Boolean = None
428
+ self.postBuildVariantValue: Boolean = None
429
+ self.requiresIndex: Boolean = None
430
+ self.valueConfigClasses: List[EcucValueConfigurationClass] = []
431
+
432
+ def getMultiplicityConfigClasses(self) -> List[EcucMultiplicityConfigurationClass]:
433
+ return self.multiplicityConfigClasses
434
+
435
+ def addMultiplicityConfigClass(self, value: EcucMultiplicityConfigurationClass):
436
+ if value is not None:
437
+ self.multiplicityConfigClasses.append(value)
438
+ return self
439
+
440
+ def getOrigin(self) -> String:
441
+ return self.origin
442
+
443
+ def setOrigin(self, value: String):
444
+ if value is not None:
445
+ self.origin = value
446
+ return self
447
+
448
+ def getPostBuildVariantMultiplicity(self) -> Boolean:
449
+ return self.postBuildVariantMultiplicity
450
+
451
+ def setPostBuildVariantMultiplicity(self, value: Boolean):
452
+ if value is not None:
453
+ self.postBuildVariantMultiplicity = value
454
+ return self
455
+
456
+ def getPostBuildVariantValue(self) -> Boolean:
457
+ return self.postBuildVariantValue
458
+
459
+ def setPostBuildVariantValue(self, value: Boolean):
460
+ if value is not None:
461
+ self.postBuildVariantValue = value
462
+ return self
463
+
464
+ def getRequiresIndex(self) -> Boolean:
465
+ return self.requiresIndex
466
+
467
+ def setRequiresIndex(self, value: Boolean):
468
+ if value is not None:
469
+ self.requiresIndex = value
470
+ return self
471
+
472
+ def getValueConfigClasses(self) -> EcucValueConfigurationClass:
473
+ return self.valueConfigClasses
474
+
475
+ def addValueConfigClass(self, value: EcucValueConfigurationClass):
476
+ if value is not None:
477
+ self.valueConfigClasses.append(value)
478
+ return self
479
+
480
+
481
+ class EcucDerivationSpecification(ARObject):
482
+ """
483
+ Represents an ECUC Derivation Specification in the AUTOSAR model.
484
+
485
+ This class is a specialization of the ARObject base class and is used to define
486
+ derivation specifications for ECUC parameters in the AUTOSAR standard.
487
+ """
488
+ def __init__(self):
489
+ super().__init__()
490
+
491
+
492
+ class EcucParameterDef(EcucCommonAttributes, ABC):
493
+ """
494
+ Represents an ECUC (Electronic Control Unit Configuration) parameter definition
495
+ in the AUTOSAR model. This class extends common attributes for ECUC elements
496
+ and provides additional properties and methods specific to parameter definitions.
497
+ Attributes:
498
+ derivation (EcucDerivationSpecification): Specifies the derivation of the parameter.
499
+ symbolicNameValue (Boolean): Indicates whether the parameter has a symbolic name value.
500
+ withAuto (Boolean): Indicates whether the parameter supports automatic configuration.
501
+ Methods:
502
+ getDerivation() -> EcucDerivationSpecification:
503
+ Retrieves the derivation specification of the parameter.
504
+ setDerivation(value: EcucDerivationSpecification):
505
+ Sets the derivation specification of the parameter.
506
+ Returns the current instance for method chaining.
507
+ getSymbolicNameValue() -> Boolean:
508
+ Retrieves the symbolic name value of the parameter.
509
+ setSymbolicNameValue(value: Boolean):
510
+ Sets the symbolic name value of the parameter.
511
+ Returns the current instance for method chaining.
512
+ getWithAuto() -> Boolean:
513
+ Retrieves the automatic configuration status of the parameter.
514
+ setWithAuto(value: Boolean):
515
+ Sets the automatic configuration status of the parameter.
516
+ Returns the current instance for method chaining.
517
+ """
518
+
519
+ def __init__(self, parent: ARObject, short_name: str):
520
+ if type(self) is EcucParameterDef:
521
+ raise TypeError("EcucParameterDef is an abstract class.")
522
+ super().__init__(parent, short_name)
523
+
524
+ self.derivation: EcucDerivationSpecification = None
525
+ self.symbolicNameValue: Boolean = None
526
+ self.withAuto: Boolean = None
527
+
528
+ def getDerivation(self) -> EcucDerivationSpecification:
529
+ return self.derivation
530
+
531
+ def setDerivation(self, value: EcucDerivationSpecification):
532
+ if value is not None:
533
+ self.derivation = value
534
+ return self
535
+
536
+ def getSymbolicNameValue(self) -> Boolean:
537
+ return self.symbolicNameValue
538
+
539
+ def setSymbolicNameValue(self, value: Boolean):
540
+ if value is not None:
541
+ self.symbolicNameValue = value
542
+ return self
543
+
544
+ def getWithAuto(self) -> Boolean:
545
+ return self.withAuto
546
+
547
+ def setWithAuto(self, value: Boolean):
548
+ if value is not None:
549
+ self.withAuto = value
550
+ return self
551
+
552
+
553
+ class EcucBooleanParamDef(EcucParameterDef):
554
+ """
555
+ Represents a boolean parameter definition in the AUTOSAR ECUC model.
556
+
557
+ This class is a specialized type of `EcucParameterDef` that allows for the
558
+ definition of boolean parameters within the ECUC parameter configuration.
559
+
560
+ Attributes:
561
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
562
+ short_name (str): The short name of the ECUC boolean parameter definition.
563
+ """
564
+ def __init__(self, parent: ARObject, short_name: str):
565
+ super().__init__(parent, short_name)
566
+
567
+ self.defaultValue: Boolean = None
568
+
569
+ def getDefaultValue(self) -> Boolean:
570
+ return self.defaultValue
571
+
572
+ def setDefaultValue(self, value: Boolean):
573
+ if value is not None:
574
+ self.defaultValue = value
575
+ return self
576
+
577
+
578
+ class EcucAbstractReferenceDef(EcucCommonAttributes, ABC):
579
+ """
580
+ EcucAbstractReferenceDef is an abstract class that extends EcucCommonAttributes and uses ABCMeta as its metaclass.
581
+ It represents an ECUC (Electronic Control Unit Configuration) abstract reference definition.
582
+ Attributes:
583
+ withAuto (Boolean): A flag indicating whether the reference is automatic. Defaults to None.
584
+ Methods:
585
+ getWithAuto() -> Boolean:
586
+ Retrieves the value of the `withAuto` attribute.
587
+ setWithAuto(value: Boolean):
588
+ Sets the value of the `withAuto` attribute. If the provided value is not None, it updates the attribute.
589
+ Returns the instance itself for method chaining.
590
+ Raises:
591
+ TypeError: If an attempt is made to instantiate this abstract class directly.
592
+ """
593
+ def __init__(self, parent, short_name):
594
+ if type(self) is EcucAbstractReferenceDef:
595
+ raise TypeError("Cannot instantiate abstract class EcucAbstractReferenceDef")
596
+
597
+ super().__init__(parent, short_name)
598
+
599
+ self.withAuto: Boolean = None
600
+
601
+ def getWithAuto(self) -> Boolean:
602
+ return self.withAuto
603
+
604
+ def setWithAuto(self, value: Boolean):
605
+ if value is not None:
606
+ self.withAuto = value
607
+ return self
608
+
609
+
610
+ class EcucAbstractInternalReferenceDef(EcucAbstractReferenceDef, ABC):
611
+ """
612
+ EcucAbstractInternalReferenceDef is an abstract class that extends EcucAbstractReferenceDef
613
+ and uses ABCMeta as its metaclass. This class cannot be instantiated directly.
614
+ Attributes:
615
+ requiresSymbolicNameValue (Boolean): A boolean attribute that indicates whether
616
+ a symbolic name value is required. Defaults to None.
617
+ Methods:
618
+ getRequiresSymbolicNameValue() -> Boolean:
619
+ Returns the value of the requiresSymbolicNameValue attribute.
620
+ setRequiresSymbolicNameValue(value: Boolean):
621
+ Sets the value of the requiresSymbolicNameValue attribute if the provided value
622
+ is not None. Returns the instance of the class.
623
+ """
624
+ def __init__(self, parent, short_name):
625
+ if type(self) is EcucAbstractInternalReferenceDef:
626
+ raise TypeError("Cannot instantiate abstract class EcucAbstractInternalReferenceDef")
627
+ super().__init__(parent, short_name)
628
+
629
+ self.requiresSymbolicNameValue: Boolean = None
630
+
631
+ def getRequiresSymbolicNameValue(self) -> Boolean:
632
+ return self.requiresSymbolicNameValue
633
+
634
+ def setRequiresSymbolicNameValue(self, value: Boolean):
635
+ if value is not None:
636
+ self.requiresSymbolicNameValue = value
637
+ return self
638
+
639
+
640
+ class EcucAbstractExternalReferenceDef(EcucAbstractReferenceDef, ABC):
641
+ def __init__(self, parent, short_name):
642
+ if type(self) is EcucAbstractExternalReferenceDef:
643
+ raise TypeError("Cannot instantiate abstract class EcucAbstractExternalReferenceDef")
644
+
645
+ super().__init__(parent, short_name)
646
+
647
+
648
+ class EcucSymbolicNameReferenceDef(EcucAbstractInternalReferenceDef):
649
+ def __init__(self, parent: ARObject, short_name: str):
650
+ super().__init__(parent, short_name)
651
+
652
+ self.destinationRef: RefType = None
653
+
654
+ def getDestinationRef(self) -> RefType:
655
+ return self.destinationRef
656
+
657
+ def setDestinationRef(self, value: RefType):
658
+ if value is not None:
659
+ self.destinationRef = value
660
+ return self
661
+
662
+
663
+ class EcucChoiceReferenceDef(EcucAbstractInternalReferenceDef):
664
+ def __init__(self, parent: ARObject, short_name: str):
665
+ super().__init__(parent, short_name)
666
+
667
+ self.destinationRef: RefType = None
668
+
669
+ def getDestinationRef(self) -> RefType:
670
+ return self.destinationRef
671
+
672
+ def setDestinationRef(self, value: RefType):
673
+ if value is not None:
674
+ self.destinationRef = value
675
+ return self
676
+
677
+
678
+ class EcucReferenceDef(EcucAbstractInternalReferenceDef):
679
+ def __init__(self, parent: ARObject, short_name: str):
680
+ super().__init__(parent, short_name)
681
+
682
+ self.destinationRef: RefType = None
683
+
684
+ def getDestinationRef(self) -> RefType:
685
+ return self.destinationRef
686
+
687
+ def setDestinationRef(self, value: RefType):
688
+ if value is not None:
689
+ self.destinationRef = value
690
+ return self
691
+
692
+
693
+ class EcucUriReferenceDef(EcucAbstractInternalReferenceDef):
694
+ def __init__(self, parent: ARObject, short_name: str):
695
+ super().__init__(parent, short_name)
696
+
697
+ self.destinationUriRef: EcucDestinationUriDefRefType = None
698
+
699
+ def getDestinationUriRef(self) -> EcucDestinationUriDefRefType:
700
+ return self.destinationUriRef
701
+
702
+ def setDestinationUriRef(self, value: EcucDestinationUriDefRefType):
703
+ if value is not None:
704
+ self.destinationUriRef = value
705
+ return self
706
+
707
+
708
+ class EcucForeignReferenceDef(EcucAbstractExternalReferenceDef):
709
+ def __init__(self, parent: ARObject, short_name: str):
710
+ super().__init__(parent, short_name)
711
+
712
+ self.destinationContext: String = None
713
+ self.destinationType: String = None
714
+
715
+ def getDestinationContext(self) -> String:
716
+ return self.destinationContext
717
+
718
+ def setDestinationContext(self, value: String):
719
+ if value is not None:
720
+ self.destinationContext = value
721
+ return self
722
+
723
+ def getDestinationType(self) -> String:
724
+ return self.destinationType
725
+
726
+ def setDestinationType(self, value: String):
727
+ if value is not None:
728
+ self.destinationType = value
729
+ return self
730
+
731
+
732
+ class EcucInstanceReferenceDef(EcucAbstractExternalReferenceDef):
733
+ def __init__(self, parent: ARObject, short_name: str):
734
+ super().__init__(parent, short_name)
735
+
736
+ self.destinationType: String = None
737
+
738
+ def getDestinationType(self) -> String:
739
+ return self.destinationType
740
+
741
+ def setDestinationType(self, value: String):
742
+ if value is not None:
743
+ self.destinationType = value
744
+ return self
745
+
746
+
747
+ class EcucAbstractStringParamDef(EcucParameterDef, ABC):
748
+ """
749
+ EcucAbstractStringParamDef is an abstract class that represents a string parameter definition
750
+ in the AUTOSAR ECUC model. It inherits from EcucParameterDef and uses ABCMeta as its metaclass
751
+ to enforce abstraction.
752
+ Attributes:
753
+ defaultValue (VerbatimString): The default value of the string parameter.
754
+ maxLength (PositiveInteger): The maximum length of the string parameter.
755
+ minLength (PositiveInteger): The minimum length of the string parameter.
756
+ regularExpression (RegularExpression): A regular expression that the string parameter must match.
757
+ Methods:
758
+ getDefaultValue() -> VerbatimString:
759
+ Returns the default value of the string parameter.
760
+ setDefaultValue(value: VerbatimString):
761
+ Sets the default value of the string parameter. Returns the instance for chaining.
762
+ getMaxLength() -> PositiveInteger:
763
+ Returns the maximum length of the string parameter.
764
+ setMaxLength(value: PositiveInteger):
765
+ Sets the maximum length of the string parameter. Returns the instance for chaining.
766
+ getMinLength() -> PositiveInteger:
767
+ Returns the minimum length of the string parameter.
768
+ setMinLength(value: PositiveInteger):
769
+ Sets the minimum length of the string parameter. Returns the instance for chaining.
770
+ getRegularExpression() -> RegularExpression:
771
+ Returns the regular expression constraint of the string parameter.
772
+ setRegularExpression(value: RegularExpression):
773
+ Sets the regular expression constraint of the string parameter. Returns the instance for chaining.
774
+ Raises:
775
+ TypeError: If an attempt is made to instantiate the abstract class directly.
776
+ """
777
+ def __init__(self, parent, short_name):
778
+ if type(self) is EcucAbstractStringParamDef:
779
+ raise TypeError("Cannot instantiate abstract class EcucAbstractStringParamDef")
780
+
781
+ super().__init__(parent, short_name)
782
+
783
+ self.defaultValue: VerbatimString = None
784
+ self.maxLength: PositiveInteger = None
785
+ self.minLength: PositiveInteger = None
786
+ self.regularExpression: RegularExpression = None
787
+
788
+ def getDefaultValue(self) -> VerbatimString:
789
+ return self.defaultValue
790
+
791
+ def setDefaultValue(self, value: VerbatimString):
792
+ if value is not None:
793
+ self.defaultValue = value
794
+ return self
795
+
796
+ def getMaxLength(self) -> PositiveInteger:
797
+ return self.maxLength
798
+
799
+ def setMaxLength(self, value: PositiveInteger):
800
+ if value is not None:
801
+ self.maxLength = value
802
+ return self
803
+
804
+ def getMinLength(self) -> PositiveInteger:
805
+ return self.minLength
806
+
807
+ def setMinLength(self, value: PositiveInteger):
808
+ if value is not None:
809
+ self.minLength = value
810
+ return self
811
+
812
+ def getRegularExpression(self) -> RegularExpression:
813
+ return self.regularExpression
814
+
815
+ def setRegularExpression(self, value: RegularExpression):
816
+ if value is not None:
817
+ self.regularExpression = value
818
+ return self
819
+
820
+
821
+ class EcucStringParamDef(EcucAbstractStringParamDef):
822
+ """
823
+ Represents a specific type of ECUC parameter definition for string parameters.
824
+
825
+ This class is a specialization of `EcucAbstractStringParamDef` and is used to
826
+ define string parameters in the AUTOSAR ECUC configuration.
827
+
828
+ Attributes:
829
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
830
+ short_name (str): The short name of the ECUC string parameter definition.
831
+ """
832
+ def __init__(self, parent: ARObject, short_name: str):
833
+ super().__init__(parent, short_name)
834
+
835
+
836
+ class EcucFunctionNameDef(EcucAbstractStringParamDef):
837
+ """
838
+ Represents a specific type of ECUC parameter definition for function names.
839
+
840
+ This class is a specialization of `EcucAbstractStringParamDef` and is used
841
+ to define ECUC parameters that represent function names in the AUTOSAR model.
842
+
843
+ Attributes:
844
+ parent (ARObject): The parent object in the AUTOSAR hierarchy.
845
+ short_name (str): The short name of the ECUC parameter definition.
846
+ """
847
+ def __init__(self, parent: ARObject, short_name: str):
848
+ super().__init__(parent, short_name)
849
+
850
+
851
+ class EcucIntegerParamDef(EcucParameterDef):
852
+ def __init__(self, parent: ARObject, short_name: str):
853
+ super().__init__(parent, short_name)
854
+
855
+ self.defaultValue: UnlimitedInteger = None
856
+ self.max: UnlimitedInteger = None
857
+ self.min: UnlimitedInteger = None
858
+
859
+ def getDefaultValue(self) -> UnlimitedInteger:
860
+ return self.defaultValue
861
+
862
+ def setDefaultValue(self, value: UnlimitedInteger):
863
+ if value is not None:
864
+ self.defaultValue = value
865
+ return self
866
+
867
+ def getMax(self) -> UnlimitedInteger:
868
+ return self.max
869
+
870
+ def setMax(self, value: UnlimitedInteger):
871
+ if value is not None:
872
+ self.max = value
873
+ return self
874
+
875
+ def getMin(self) -> UnlimitedInteger:
876
+ return self.min
877
+
878
+ def setMin(self, value: UnlimitedInteger):
879
+ if value is not None:
880
+ self.min = value
881
+ return self
882
+
883
+
884
+ class EcucEnumerationLiteralDef(Identifiable):
885
+ """
886
+ Represents an ECUC Enumeration Literal Definition in the AUTOSAR model.
887
+ This class is used to define enumeration literals for ECUC parameters,
888
+ including their associated condition specifications and origin information.
889
+ Attributes:
890
+ ecucCond (EcucConditionSpecification): The condition specification associated with the enumeration literal.
891
+ origin (String): The origin information for the enumeration literal.
892
+ Methods:
893
+ getEcucCond() -> EcucConditionSpecification:
894
+ Retrieves the condition specification associated with the enumeration literal.
895
+ setEcucCond(value: EcucConditionSpecification):
896
+ Sets the condition specification for the enumeration literal.
897
+ Returns the current instance for method chaining.
898
+ getOrigin() -> String:
899
+ Retrieves the origin information for the enumeration literal.
900
+ setOrigin(value: String):
901
+ Sets the origin information for the enumeration literal.
902
+ Returns the current instance for method chaining.
903
+ """
904
+ def __init__(self, parent: ARObject, short_name: str):
905
+ super().__init__(parent, short_name)
906
+
907
+ self.ecucCond: EcucConditionSpecification = None
908
+ self.origin: String = None
909
+
910
+ def getEcucCond(self) -> EcucConditionSpecification:
911
+ return self.ecucCond
912
+
913
+ def setEcucCond(self, value: EcucConditionSpecification):
914
+ if value is not None:
915
+ self.ecucCond = value
916
+ return self
917
+
918
+ def getOrigin(self) -> String:
919
+ return self.origin
920
+
921
+ def setOrigin(self, value: String):
922
+ if value is not None:
923
+ self.origin = value
924
+ return self
925
+
926
+
927
+ class EcucEnumerationParamDef(EcucParameterDef):
928
+ """
929
+ Represents an ECUC (Electronic Control Unit Configuration) enumeration parameter definition.
930
+ This class is used to define an enumeration parameter in an AUTOSAR ECUC model. It allows
931
+ setting a default value and managing a list of enumeration literals.
932
+ Attributes:
933
+ defaultValue (Identifier): The default value of the enumeration parameter.
934
+ literals (List[EcucEnumerationLiteralDef]): A list of enumeration literal definitions.
935
+ Methods:
936
+ getDefaultValue() -> UnlimitedInteger:
937
+ Retrieves the default value of the enumeration parameter.
938
+ setDefaultValue(value: UnlimitedInteger):
939
+ Sets the default value of the enumeration parameter.
940
+ Returns the current instance for method chaining.
941
+ getLiterals() -> List[EcucEnumerationLiteralDef]:
942
+ Retrieves the list of enumeration literal definitions.
943
+ createLiteral(short_name: str) -> EcucEnumerationLiteralDef:
944
+ Creates a new enumeration literal with the specified short name if it does not already exist.
945
+ Adds the literal to the list of literals and returns it.
946
+ """
947
+ def __init__(self, parent: ARObject, short_name: str):
948
+ super().__init__(parent, short_name)
949
+
950
+ self.defaultValue: Identifier = None
951
+ self.literals: List[EcucEnumerationLiteralDef] = []
952
+
953
+ def getDefaultValue(self) -> UnlimitedInteger:
954
+ return self.defaultValue
955
+
956
+ def setDefaultValue(self, value: UnlimitedInteger):
957
+ if value is not None:
958
+ self.defaultValue = value
959
+ return self
960
+
961
+ def getLiterals(self) -> List[EcucEnumerationLiteralDef]:
962
+ return self.literals
963
+
964
+ def createLiteral(self, short_name: str) -> EcucEnumerationLiteralDef:
965
+ if not self.IsElementExists(short_name):
966
+ literal = EcucEnumerationLiteralDef(self, short_name)
967
+ self.addElement(literal)
968
+ self.literals.append(literal)
969
+ return self.getElement(short_name)
970
+
971
+
972
+ class EcucFloatParamDef(EcucParameterDef):
973
+ def __init__(self, parent: ARObject, short_name: str):
974
+ super().__init__(parent, short_name)
975
+
976
+ self.defaultValue: Float = None
977
+ self.max: Limit = None
978
+ self.min: Limit = None
979
+
980
+ def getDefaultValue(self) -> Float:
981
+ return self.defaultValue
982
+
983
+ def setDefaultValue(self, value: Float):
984
+ if value is not None:
985
+ self.defaultValue = value
986
+ return self
987
+
988
+ def getMax(self) -> Limit:
989
+ return self.max
990
+
991
+ def setMax(self, value: Limit):
992
+ if value is not None:
993
+ self.max = value
994
+ return self
995
+
996
+ def getMin(self) -> Limit:
997
+ return self.min
998
+
999
+ def setMin(self, value: Limit):
1000
+ if value is not None:
1001
+ self.min = value
1002
+ return self
1003
+
1004
+
1005
+ class EcucChoiceContainerDef(EcucContainerDef):
1006
+ """
1007
+ Represents an ECUC choice container definition in the AUTOSAR model.
1008
+
1009
+ This class is a specialized type of `EcucContainerDef` that allows for the
1010
+ definition of choice containers within the ECUC parameter configuration.
1011
+
1012
+ Attributes:
1013
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1014
+ short_name (str): The short name of the ECUC choice container definition.
1015
+ """
1016
+ def __init__(self, parent: ARObject, short_name: str):
1017
+ super().__init__(parent, short_name)
1018
+
1019
+ self.choices: List["EcucParamConfContainerDef"] = []
1020
+
1021
+ def getChoices(self) -> List["EcucParamConfContainerDef"]:
1022
+ return self.choices
1023
+
1024
+ def createEcucParamConfContainerDef(self, short_name: str) -> "EcucParamConfContainerDef":
1025
+ if not self.IsElementExists(short_name):
1026
+ choice = EcucParamConfContainerDef(self, short_name)
1027
+ self.addElement(choice)
1028
+ self.choices.append(choice)
1029
+ return self.getElement(short_name)
1030
+
1031
+
1032
+ class EcucParamConfContainerDef(EcucContainerDef):
1033
+ """
1034
+ Represents a configuration container definition in the AUTOSAR ECUC model.
1035
+ This class is used to define a container that can hold parameters, references,
1036
+ and sub-containers as part of the AUTOSAR ECUC configuration.
1037
+ """
1038
+
1039
+ def __init__(self, parent: ARObject, short_name: str):
1040
+ """
1041
+ Initializes an ECUCParameterDefTemplate instance.
1042
+ Args:
1043
+ parent (ARObject): The parent ARObject to which this template belongs.
1044
+ short_name (str): The short name identifier for this template.
1045
+ Attributes:
1046
+ parameters (List[EcucParameterDef]): A list of ECUC parameter definitions.
1047
+ references (List[EcucAbstractReferenceDef]): A list of ECUC abstract reference definitions.
1048
+ subContainers (List[EcucContainerDef]): A list of ECUC container definitions.
1049
+ """
1050
+ super().__init__(parent, short_name)
1051
+
1052
+ self.parameters: List[EcucParameterDef] = []
1053
+ self.references: List[EcucAbstractReferenceDef] = []
1054
+ self.subContainers: List[EcucContainerDef] = []
1055
+
1056
+ def getParameters(self) -> List[EcucParameterDef]:
1057
+ """
1058
+ Retrieves the list of ECUC parameter definitions.
1059
+
1060
+ Returns:
1061
+ List[EcucParameterDef]: A list of ECUC parameter definitions.
1062
+ """
1063
+ return self.parameters
1064
+
1065
+ def createEcucBooleanParamDef(self, short_name: str) -> EcucBooleanParamDef:
1066
+ """
1067
+ Creates a new ECUC boolean parameter definition and adds it to the container.
1068
+
1069
+ Args:
1070
+ short_name (str): The short name identifier for the new parameter definition.
1071
+
1072
+ Returns:
1073
+ EcucBooleanParamDef: The newly created ECUC boolean parameter definition.
1074
+ """
1075
+ if not self.IsElementExists(short_name):
1076
+ param = EcucBooleanParamDef(self, short_name)
1077
+ self.addElement(param)
1078
+ self.parameters.append(param)
1079
+ return self.getElement(short_name)
1080
+
1081
+ def createEcucStringParamDef(self, short_name: str) -> EcucStringParamDef:
1082
+ """
1083
+ Creates an ECUC string parameter definition with the given short name.
1084
+
1085
+ Args:
1086
+ short_name (str): The short name of the ECUC string parameter definition.
1087
+
1088
+ Returns:
1089
+ EcucStringParamDef: The ECUC string parameter definition instance associated
1090
+ with the given short name.
1091
+ """
1092
+ if not self.IsElementExists(short_name):
1093
+ param = EcucStringParamDef(self, short_name)
1094
+ self.addElement(param)
1095
+ self.parameters.append(param)
1096
+ return self.getElement(short_name)
1097
+
1098
+ def createEcucIntegerParamDef(self, short_name: str) -> EcucIntegerParamDef:
1099
+ """
1100
+ Creates an ECUC integer parameter definition with the given short name.
1101
+
1102
+ Args:
1103
+ short_name (str): The short name of the ECUC integer parameter definition.
1104
+
1105
+ Returns:
1106
+ EcucIntegerParamDef: The ECUC integer parameter definition instance associated
1107
+ with the given short name.
1108
+ """
1109
+ if not self.IsElementExists(short_name):
1110
+ param = EcucIntegerParamDef(self, short_name)
1111
+ self.addElement(param)
1112
+ self.parameters.append(param)
1113
+ return self.getElement(short_name)
1114
+
1115
+ def createEcucFloatParamDef(self, short_name: str) -> EcucFloatParamDef:
1116
+ """
1117
+ Creates an ECUC float parameter definition with the given short name.
1118
+
1119
+ Args:
1120
+ short_name (str): The short name of the ECUC float parameter definition.
1121
+
1122
+ Returns:
1123
+ EcucFloatParamDef: The ECUC float parameter definition instance associated
1124
+ with the given short name.
1125
+ """
1126
+ if not self.IsElementExists(short_name):
1127
+ param = EcucFloatParamDef(self, short_name)
1128
+ self.addElement(param)
1129
+ self.parameters.append(param)
1130
+ return self.getElement(short_name)
1131
+
1132
+ def createEcucEnumerationParamDef(self, short_name: str) -> EcucEnumerationParamDef:
1133
+ """
1134
+ Creates an ECUC enumeration parameter definition with the given short name.
1135
+
1136
+ Args:
1137
+ short_name (str): The short name of the ECUC enumeration parameter definition.
1138
+
1139
+ Returns:
1140
+ EcucEnumerationParamDef: The ECUC enumeration parameter definition instance associated
1141
+ with the given short name.
1142
+ """
1143
+ if not self.IsElementExists(short_name):
1144
+ param = EcucEnumerationParamDef(self, short_name)
1145
+ self.addElement(param)
1146
+ self.parameters.append(param)
1147
+ return self.getElement(short_name)
1148
+
1149
+ def createEcucFunctionNameDef(self, short_name: str) -> EcucFunctionNameDef:
1150
+ """
1151
+ Creates a new ECUC function name definition and adds it to the container.
1152
+
1153
+ Args:
1154
+ short_name (str): The short name identifier for the new reference definition.
1155
+
1156
+ Returns:
1157
+ EcucFunctionNameDef: The newly created ECUC function name definition.
1158
+ """
1159
+ if not self.IsElementExists(short_name):
1160
+ ref = EcucFunctionNameDef(self, short_name)
1161
+ self.addElement(ref)
1162
+ self.parameters.append(ref)
1163
+ return self.getElement(short_name)
1164
+
1165
+ def getReferences(self) -> List[EcucAbstractReferenceDef]:
1166
+ """
1167
+ Retrieves the list of ECUC abstract reference definitions.
1168
+
1169
+ Returns:
1170
+ List[EcucAbstractReferenceDef]: A list of ECUC abstract reference definitions.
1171
+ """
1172
+ return self.references
1173
+
1174
+ def createEcucSymbolicNameReferenceDef(self, short_name: str) -> EcucSymbolicNameReferenceDef:
1175
+ """
1176
+ Creates a new ECUC symbolic name reference definition and adds it to the container.
1177
+
1178
+ Args:
1179
+ short_name (str): The short name identifier for the new reference definition.
1180
+
1181
+ Returns:
1182
+ EcucSymbolicNameReferenceDef: The newly created ECUC symbolic name reference definition.
1183
+ """
1184
+ if not self.IsElementExists(short_name):
1185
+ ref = EcucSymbolicNameReferenceDef(self, short_name)
1186
+ self.addElement(ref)
1187
+ self.references.append(ref)
1188
+ return self.getElement(short_name)
1189
+
1190
+ def createEcucReferenceDef(self, short_name: str) -> EcucReferenceDef:
1191
+ """
1192
+ Creates a new ECUC reference definition and adds it to the container.
1193
+
1194
+ Args:
1195
+ short_name (str): The short name identifier for the new reference definition.
1196
+
1197
+ Returns:
1198
+ EcucReferenceDef: The newly created ECUC reference definition.
1199
+ """
1200
+ if not self.IsElementExists(short_name):
1201
+ ref = EcucReferenceDef(self, short_name)
1202
+ self.addElement(ref)
1203
+ self.references.append(ref)
1204
+ return self.getElement(short_name)
1205
+
1206
+ def getSubContainers(self) -> List[EcucContainerDef]:
1207
+ """
1208
+ Retrieves the list of ECUC container definitions.
1209
+
1210
+ Returns:
1211
+ List[EcucContainerDef]: A list of ECUC container definitions.
1212
+ """
1213
+ return self.subContainers
1214
+
1215
+ def createEcucChoiceContainerDef(self, short_name: str) -> EcucChoiceContainerDef:
1216
+ """
1217
+ Creates a new ECUC choice container definition and adds it to the container.
1218
+
1219
+ Args:
1220
+ short_name (str): The short name identifier for the new container definition.
1221
+
1222
+ Returns:
1223
+ EcucChoiceContainerDef: The newly created ECUC choice container definition.
1224
+ """
1225
+ if not self.IsElementExists(short_name):
1226
+ container = EcucChoiceContainerDef(self, short_name)
1227
+ self.addElement(container)
1228
+ self.subContainers.append(container)
1229
+ return self.getElement(short_name)
1230
+
1231
+ def createEcucParamConfContainerDef(self, short_name: str) -> 'EcucParamConfContainerDef':
1232
+ """
1233
+ Creates a new ECUC parameter configuration container definition and adds it to the container.
1234
+
1235
+ Args:
1236
+ short_name (str): The short name identifier for the new container definition.
1237
+
1238
+ Returns:
1239
+ EcucParamConfContainerDef: The newly created ECUC parameter configuration container definition.
1240
+ """
1241
+ if not self.IsElementExists(short_name):
1242
+ container = EcucParamConfContainerDef(self, short_name)
1243
+ self.addElement(container)
1244
+ self.subContainers.append(container)
1245
+ return self.getElement(short_name)
1246
+
1247
+
1248
+ class EcucAddInfoParamDef(EcucParameterDef):
1249
+ """
1250
+ Represents an ECUC additional info parameter definition in the AUTOSAR model.
1251
+
1252
+ This class is a specialized type of `EcucParameterDef` that allows for the
1253
+ definition of additional info parameters within the ECUC parameter configuration.
1254
+
1255
+ Attributes:
1256
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1257
+ short_name (str): The short name of the ECUC additional info parameter definition.
1258
+ defaultValue (VerbatimString): The default value of the additional info parameter.
1259
+ """
1260
+ def __init__(self, parent: ARObject, short_name: str):
1261
+ super().__init__(parent, short_name)
1262
+
1263
+ self.defaultValue: VerbatimString = None
1264
+
1265
+ def getDefaultValue(self) -> VerbatimString:
1266
+ return self.defaultValue
1267
+
1268
+ def setDefaultValue(self, value: VerbatimString):
1269
+ if value is not None:
1270
+ self.defaultValue = value
1271
+ return self
1272
+
1273
+
1274
+ class EcucConditionFormula(ARObject):
1275
+ """
1276
+ Represents an ECUC condition formula in the AUTOSAR model.
1277
+
1278
+ This class is used to define formulas or expressions that can be used
1279
+ in ECUC condition specifications.
1280
+
1281
+ Attributes:
1282
+ formula (String): The formula expression.
1283
+ """
1284
+ def __init__(self):
1285
+ super().__init__()
1286
+
1287
+ self.formula: String = None
1288
+
1289
+ def getFormula(self) -> String:
1290
+ return self.formula
1291
+
1292
+ def setFormula(self, value: String):
1293
+ if value is not None:
1294
+ self.formula = value
1295
+ return self
1296
+
1297
+
1298
+ class EcucDefinitionCollection(AtpBlueprintable):
1299
+ """
1300
+ Represents an ECUC definition collection in the AUTOSAR model.
1301
+
1302
+ This class is used to group related ECUC definitions together.
1303
+
1304
+ Attributes:
1305
+ definitions (List[EcucDefinitionElement]): A list of ECUC definition elements.
1306
+ """
1307
+ def __init__(self, parent: ARObject, short_name: str):
1308
+ super().__init__(parent, short_name)
1309
+
1310
+ self.definitions: List[EcucDefinitionElement] = []
1311
+
1312
+ def getDefinitions(self) -> List[EcucDefinitionElement]:
1313
+ return self.definitions
1314
+
1315
+ def addDefinition(self, value: EcucDefinitionElement):
1316
+ if value is not None:
1317
+ self.definitions.append(value)
1318
+ return self
1319
+
1320
+
1321
+ class EcucDestinationUriDef(Identifiable):
1322
+ """
1323
+ Represents an ECUC destination URI definition in the AUTOSAR model.
1324
+
1325
+ This class is used to define destination URIs for ECUC references.
1326
+
1327
+ Attributes:
1328
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1329
+ short_name (str): The short name of the ECUC destination URI definition.
1330
+ destinationUri (String): The destination URI.
1331
+ """
1332
+ def __init__(self, parent: ARObject, short_name: str):
1333
+ super().__init__(parent, short_name)
1334
+
1335
+ self.destinationUri: String = None
1336
+
1337
+ def getDestinationUri(self) -> String:
1338
+ return self.destinationUri
1339
+
1340
+ def setDestinationUri(self, value: String):
1341
+ if value is not None:
1342
+ self.destinationUri = value
1343
+ return self
1344
+
1345
+
1346
+ class EcucDestinationUriDefSet(AtpBlueprintable):
1347
+ """
1348
+ Represents an ECUC destination URI definition set in the AUTOSAR model.
1349
+
1350
+ This class is used to group related ECUC destination URI definitions.
1351
+
1352
+ Attributes:
1353
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1354
+ short_name (str): The short name of the ECUC destination URI definition set.
1355
+ destinationUriDefs (List[EcucDestinationUriDef]): A list of ECUC destination URI definitions.
1356
+ """
1357
+ def __init__(self, parent: ARObject, short_name: str):
1358
+ super().__init__(parent, short_name)
1359
+
1360
+ self.destinationUriDefs: List[EcucDestinationUriDef] = []
1361
+
1362
+ def getDestinationUriDefs(self) -> List[EcucDestinationUriDef]:
1363
+ return self.destinationUriDefs
1364
+
1365
+ def addDestinationUriDef(self, value: EcucDestinationUriDef):
1366
+ if value is not None:
1367
+ self.destinationUriDefs.append(value)
1368
+ return self
1369
+
1370
+
1371
+ class EcucDestinationUriPolicy(ARObject):
1372
+ """
1373
+ Represents an ECUC destination URI policy in the AUTOSAR model.
1374
+
1375
+ This class is used to define policies for ECUC destination URIs.
1376
+
1377
+ Attributes:
1378
+ policy (String): The policy definition.
1379
+ """
1380
+ def __init__(self):
1381
+ super().__init__()
1382
+
1383
+ self.policy: String = None
1384
+
1385
+ def getPolicy(self) -> String:
1386
+ return self.policy
1387
+
1388
+ def setPolicy(self, value: String):
1389
+ if value is not None:
1390
+ self.policy = value
1391
+ return self
1392
+
1393
+
1394
+ class EcucLinkerSymbolDef(EcucAbstractStringParamDef):
1395
+ """
1396
+ Represents an ECUC linker symbol definition in the AUTOSAR model.
1397
+
1398
+ This class is used to define linker symbols for ECUC parameters.
1399
+
1400
+ Attributes:
1401
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1402
+ short_name (str): The short name of the ECUC linker symbol definition.
1403
+ linkerSymbol (CIdentifier): The linker symbol.
1404
+ """
1405
+ def __init__(self, parent: ARObject, short_name: str):
1406
+ super().__init__(parent, short_name)
1407
+
1408
+ self.linkerSymbol: CIdentifier = None
1409
+
1410
+ def getLinkerSymbol(self) -> CIdentifier:
1411
+ return self.linkerSymbol
1412
+
1413
+ def setLinkerSymbol(self, value: CIdentifier):
1414
+ if value is not None:
1415
+ self.linkerSymbol = value
1416
+ return self
1417
+
1418
+
1419
+ class EcucMultilineStringParamDef(EcucAbstractStringParamDef):
1420
+ """
1421
+ Represents an ECUC multiline string parameter definition in the AUTOSAR model.
1422
+
1423
+ This class is a specialized type of `EcucAbstractStringParamDef` that allows for
1424
+ multiline string parameters within the ECUC parameter configuration.
1425
+
1426
+ Attributes:
1427
+ parent (ARObject): The parent object in the AUTOSAR model hierarchy.
1428
+ short_name (str): The short name of the ECUC multiline string parameter definition.
1429
+ """
1430
+ def __init__(self, parent: ARObject, short_name: str):
1431
+ super().__init__(parent, short_name)
1432
+
1433
+
1434
+ class EcucParameterDerivationFormula(ARObject):
1435
+ """
1436
+ Represents an ECUC parameter derivation formula in the AUTOSAR model.
1437
+
1438
+ This class is used to define formulas for deriving ECUC parameter values.
1439
+
1440
+ Attributes:
1441
+ formula (String): The derivation formula.
1442
+ """
1443
+ def __init__(self):
1444
+ super().__init__()
1445
+
1446
+ self.formula: String = None
1447
+
1448
+ def getFormula(self) -> String:
1449
+ return self.formula
1450
+
1451
+ def setFormula(self, value: String):
1452
+ if value is not None:
1453
+ self.formula = value
1454
+ return self
1455
+
1456
+
1457
+ class EcucQuery(Identifiable):
1458
+ """
1459
+ Represents an ECUC query in the AUTOSAR model.
1460
+
1461
+ This class is used to define queries for ECUC parameter values.
1462
+
1463
+ Attributes:
1464
+ queryExpression (EcucQueryExpression): The query expression.
1465
+ """
1466
+ def __init__(self, parent: ARObject, short_name: str):
1467
+ super().__init__(parent, short_name)
1468
+
1469
+ self.queryExpression: "EcucQueryExpression" = None
1470
+
1471
+ def getQueryExpression(self) -> "EcucQueryExpression":
1472
+ return self.queryExpression
1473
+
1474
+ def setQueryExpression(self, value: "EcucQueryExpression"):
1475
+ if value is not None:
1476
+ self.queryExpression = value
1477
+ return self
1478
+
1479
+
1480
+ class EcucQueryExpression(ARObject):
1481
+ """
1482
+ Represents an ECUC query expression in the AUTOSAR model.
1483
+
1484
+ This class is used to define query expressions for ECUC parameters.
1485
+
1486
+ Attributes:
1487
+ expression (String): The query expression.
1488
+ """
1489
+ def __init__(self):
1490
+ super().__init__()
1491
+
1492
+ self.expression: String = None
1493
+
1494
+ def getExpression(self) -> String:
1495
+ return self.expression
1496
+
1497
+ def setExpression(self, value: String):
1498
+ if value is not None:
1499
+ self.expression = value
1500
+ return self
1501
+
1502
+
1503
+ class EcucModuleDef(EcucDefinitionElement):
1504
+ def __init__(self, parent: ARObject, short_name: str):
1505
+ super().__init__(parent, short_name)
1506
+
1507
+ self.apiServicePrefix: CIdentifier = None
1508
+ self.containers: List[EcucContainerDef] = []
1509
+ self.postBuildVariantSupport: Boolean = None
1510
+ self.refinedModuleDefRef: RefType = None
1511
+ self.supportedConfigVariants: List[EcucConfigurationVariantEnum] = []
1512
+
1513
+ def getApiServicePrefix(self) -> CIdentifier:
1514
+ return self.apiServicePrefix
1515
+
1516
+ def setApiServicePrefix(self, value: CIdentifier):
1517
+ if value is not None:
1518
+ self.apiServicePrefix = value
1519
+ return self
1520
+
1521
+ def getContainers(self) -> List[EcucContainerDef]:
1522
+ return self.containers
1523
+
1524
+ def createEcucParamConfContainerDef(self, short_name: str) -> 'EcucParamConfContainerDef':
1525
+ if (not self.IsElementExists(short_name)):
1526
+ container_def = EcucParamConfContainerDef(self, short_name)
1527
+ self.addElement(container_def)
1528
+ self.containers.append(container_def)
1529
+ return self.getElement(short_name)
1530
+
1531
+ def createEcucChoiceContainerDef(self, short_name: str) -> EcucChoiceContainerDef:
1532
+ if (not self.IsElementExists(short_name)):
1533
+ container_def = EcucChoiceContainerDef(self, short_name)
1534
+ self.addElement(container_def)
1535
+ self.containers.append(container_def)
1536
+ return self.getElement(short_name)
1537
+
1538
+ def getPostBuildVariantSupport(self) -> Boolean:
1539
+ return self.postBuildVariantSupport
1540
+
1541
+ def setPostBuildVariantSupport(self, value: Boolean):
1542
+ if value is not None:
1543
+ self.postBuildVariantSupport = value
1544
+ return self
1545
+
1546
+ def getRefinedModuleDefRef(self) -> RefType:
1547
+ return self.refinedModuleDefRef
1548
+
1549
+ def setRefinedModuleDefRef(self, value: RefType):
1550
+ if value is not None:
1551
+ self.refinedModuleDefRef = value
1552
+ return self
1553
+
1554
+ def getSupportedConfigVariants(self) -> List[EcucConfigurationVariantEnum]:
1555
+ return self.supportedConfigVariants
1556
+
1557
+ def addSupportedConfigVariant(self, value: EcucConfigurationVariantEnum):
1558
+ if value is not None:
1559
+ self.supportedConfigVariants.append(value)
1560
+ return self
1561
+