armodel 1.8.6__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 (431) 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 -296
  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 -792
  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/BswModuleTemplate/__init__.py +0 -4
  43. armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
  44. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
  45. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
  46. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
  47. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
  48. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
  49. armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
  50. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
  51. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
  52. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
  53. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
  54. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
  55. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
  56. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
  57. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
  58. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
  59. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
  60. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
  61. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
  62. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
  63. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
  64. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
  65. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
  66. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
  67. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
  68. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
  69. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
  70. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
  71. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
  72. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
  73. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
  74. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
  75. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
  76. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
  77. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
  78. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
  79. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
  80. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
  81. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
  82. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
  83. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
  84. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
  85. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
  86. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
  87. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
  88. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
  89. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
  90. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
  91. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
  92. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
  93. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
  94. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
  95. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
  96. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
  97. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
  98. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
  99. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
  100. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
  101. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
  102. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
  103. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
  104. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
  105. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
  106. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
  107. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
  108. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
  109. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
  110. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
  111. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
  112. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
  113. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
  114. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
  115. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
  116. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
  117. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
  118. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
  119. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
  120. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
  121. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
  122. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
  123. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
  124. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
  125. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
  126. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
  127. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
  128. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
  129. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
  130. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
  131. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
  132. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
  133. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
  134. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
  135. armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
  136. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
  137. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
  138. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
  139. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
  140. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
  141. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
  142. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
  143. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
  144. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
  145. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
  146. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
  147. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
  148. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
  149. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
  150. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +784 -712
  151. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
  152. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
  153. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
  154. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
  155. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
  156. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
  157. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
  158. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
  159. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
  160. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
  161. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
  162. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
  163. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
  164. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
  165. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
  166. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
  167. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
  168. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
  169. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
  170. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
  171. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
  172. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
  173. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
  174. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
  175. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
  176. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +488 -489
  177. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
  178. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
  179. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
  180. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
  181. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
  182. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
  183. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
  184. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
  185. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
  186. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
  187. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
  188. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
  189. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
  190. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
  191. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
  192. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
  193. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
  194. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
  195. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
  196. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
  197. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
  198. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
  199. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
  200. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
  201. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
  202. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
  203. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
  204. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
  205. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
  206. armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
  207. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
  208. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
  209. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
  210. armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
  211. armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
  212. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
  213. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
  214. armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
  215. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
  216. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
  217. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
  218. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
  219. armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
  220. armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
  221. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
  222. armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
  223. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
  224. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
  225. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
  226. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
  227. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
  228. armodel/models/M2/MSR/Documentation/__init__.py +3 -3
  229. armodel/models/M2/MSR/documentation/__init__.py +3 -0
  230. armodel/models/__init__.py +86 -85
  231. armodel/models/utils/uuid_mgr.py +28 -29
  232. armodel/parser/__init__.py +2 -2
  233. armodel/parser/abstract_arxml_parser.py +323 -325
  234. armodel/parser/arxml_parser.py +5832 -5830
  235. armodel/parser/connector_xlsx_parser.py +192 -193
  236. armodel/parser/excel_parser.py +17 -17
  237. armodel/parser/file_parser.py +46 -46
  238. armodel/report/__init__.py +1 -1
  239. armodel/report/connector_xls_report.py +76 -77
  240. armodel/report/excel_report.py +41 -41
  241. armodel/transformer/abstract.py +6 -6
  242. armodel/transformer/admin_data.py +31 -31
  243. armodel/writer/__init__.py +1 -1
  244. armodel/writer/abstract_arxml_writer.py +146 -147
  245. armodel/writer/arxml_writer.py +5969 -5965
  246. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/METADATA +850 -656
  247. armodel-1.9.1.dist-info/RECORD +273 -0
  248. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/WHEEL +1 -1
  249. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/entry_points.txt +0 -1
  250. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info/licenses}/LICENSE +21 -21
  251. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  252. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  253. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  254. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  255. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  256. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  257. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  258. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  259. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  260. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  261. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  262. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  263. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  264. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  265. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  266. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  267. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
  268. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
  269. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  270. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  271. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  272. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  273. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  274. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  275. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  276. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  277. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  278. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  279. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  280. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  281. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  282. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  283. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  284. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  285. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  286. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  287. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  288. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  289. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  290. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  291. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  292. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  293. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  294. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  295. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  296. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  297. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  298. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  299. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  300. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  301. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  302. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  303. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  304. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  305. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  306. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  307. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  308. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  309. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  310. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  311. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  312. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  313. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  314. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  315. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  316. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  317. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  318. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  319. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  320. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  321. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  322. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  323. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  324. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  325. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  326. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  327. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  328. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  329. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  330. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  331. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  332. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  333. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  334. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  335. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  336. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  337. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  338. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  339. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  340. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  341. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  342. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  343. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  344. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  345. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  346. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  347. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  348. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  349. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  350. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  351. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  352. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  353. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  354. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  355. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  356. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  357. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  358. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  359. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  360. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  361. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  362. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  363. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  364. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  365. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  366. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  367. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  368. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  369. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  370. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  371. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  372. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  373. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  374. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  375. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  376. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  377. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  378. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  379. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  380. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  381. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  382. armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
  383. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  384. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  385. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  386. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  387. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  388. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  389. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  390. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  391. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  392. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  393. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  394. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  395. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  396. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  397. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  398. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  399. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  400. armodel/tests/__init__.py +0 -0
  401. armodel/tests/test_armodel/__init__.py +0 -0
  402. armodel/tests/test_armodel/models/__init__.py +0 -0
  403. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
  404. armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
  405. armodel/tests/test_armodel/models/test_ar_object.py +0 -154
  406. armodel/tests/test_armodel/models/test_ar_package.py +0 -304
  407. armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
  408. armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
  409. armodel/tests/test_armodel/models/test_common_structure.py +0 -82
  410. armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
  411. armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
  412. armodel/tests/test_armodel/models/test_datatype.py +0 -251
  413. armodel/tests/test_armodel/models/test_general_structure.py +0 -56
  414. armodel/tests/test_armodel/models/test_implementation.py +0 -27
  415. armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
  416. armodel/tests/test_armodel/models/test_port_interface.py +0 -202
  417. armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
  418. armodel/tests/test_armodel/parser/__init__.py +0 -0
  419. armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
  420. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
  421. armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
  422. armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
  423. armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
  424. armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
  425. armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
  426. armodel/tests/test_armodel/parser/test_system.py +0 -23
  427. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  428. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  429. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  430. armodel-1.8.6.dist-info/RECORD +0 -360
  431. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/top_level.txt +0 -0
@@ -1,236 +1,599 @@
1
- from ....MSR.Documentation.TextModel.BlockElements import DocumentationBlock
2
- from .....M2.MSR.AsamHdo.AdminData import AdminData
3
- from .....M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
4
- from .....M2.MSR.Documentation.Annotation import Annotation
5
- from .....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
6
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, CategoryString
8
- from abc import ABCMeta
9
- from typing import Dict, List
10
-
11
-
12
- class Referrable(ARObject, metaclass=ABCMeta):
13
- def __init__(self, parent: ARObject, short_name: str):
14
-
15
- if type(self) is Referrable:
16
- raise TypeError("Referrable is an abstract class.")
17
-
18
- ARObject.__init__(self)
19
-
20
- self.parent = parent
21
- self.short_name = short_name
22
-
23
- @property
24
- def shortName(self):
25
- return self.short_name
26
-
27
- @shortName.setter
28
- def shortName(self, value):
29
- self.short_name = value
30
-
31
- def getShortName(self) -> str:
32
- return self.short_name
33
-
34
- def getParent(self):
35
- return self.parent
36
-
37
- @property
38
- def full_name(self) -> str:
39
- return self.parent.full_name + "/" + self.short_name
40
-
41
- def getFullName(self) -> str:
42
- return self.full_name
43
-
44
-
45
- class MultilanguageReferrable(Referrable, metaclass=ABCMeta):
46
- def __init__(self, parent: ARObject, short_name: str):
47
- if type(self) is MultilanguageReferrable:
48
- raise TypeError("MultilanguageReferrable is an abstract class.")
49
-
50
- super().__init__(parent, short_name)
51
-
52
- # self._parent = parent
53
- self.longName = None # type: MultilanguageLongName
54
-
55
- def getLongName(self) -> MultilanguageLongName:
56
- return self.longName
57
-
58
- def setLongName(self, value: MultilanguageLongName):
59
- self.longName = value
60
- return self
61
-
62
-
63
- class CollectableElement(ARObject, metaclass=ABCMeta):
64
- def __init__(self):
65
- if type(self) is CollectableElement:
66
- raise TypeError("CollectableElement is an abstract class.")
67
-
68
- # super().__init__()
69
-
70
- self.elements: List[Referrable] = []
71
- self.element_mappings: Dict[str, List[Referrable]] = {}
72
-
73
- def getTotalElement(self) -> int:
74
- # return len(list(filter(lambda a: not isinstance(a, ARPackage) , self.elements)))
75
- return len(self.elements)
76
-
77
- def removeElement(self, short_name: str, type=None):
78
- if short_name not in self.element_mappings:
79
- raise KeyError("Invalid key <%s> for removing element" % short_name)
80
- if type is None:
81
- item = self.element_mappings[short_name][0]
82
- else:
83
- item = next(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
84
- if item is not None:
85
- self.elements.remove(item)
86
- self.element_mappings[short_name].remove(item)
87
-
88
- def getElements(self):
89
- return self.elements
90
-
91
- def addElement(self, element: Referrable):
92
- short_name = element.getShortName()
93
- if not self.IsElementExists(short_name, type(element)):
94
- self.elements.append(element)
95
- if short_name not in self.element_mappings:
96
- self.element_mappings[short_name] = []
97
- self.element_mappings[short_name].append(element)
98
-
99
- def getElement(self, short_name: str, type=None) -> Referrable:
100
- if (short_name not in self.element_mappings):
101
- return None
102
- if type is not None:
103
- result = list(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
104
- if len(result) == 0:
105
- return None
106
- return result[0]
107
- return self.element_mappings[short_name][0]
108
-
109
- def IsElementExists(self, short_name: str, type=None) -> bool:
110
- if type is None:
111
- return short_name in self.element_mappings
112
- if short_name in self.element_mappings:
113
- return any(isinstance(a, type) for a in self.element_mappings[short_name])
114
- return False
115
-
116
-
117
- class Identifiable(MultilanguageReferrable, CollectableElement, metaclass=ABCMeta):
118
- def __init__(self, parent: ARObject, short_name: str):
119
- if type(self) is Identifiable:
120
- raise TypeError("Identifiable is an abstract class.")
121
-
122
- MultilanguageReferrable.__init__(self, parent, short_name)
123
- CollectableElement.__init__(self)
124
-
125
- self.annotations: List[Annotation] = []
126
- self.adminData: AdminData = None
127
- self.category: CategoryString = None
128
- self.introduction: DocumentationBlock = None
129
- self.desc: MultiLanguageOverviewParagraph = None
130
-
131
- def getAdminData(self):
132
- return self.adminData
133
-
134
- def setAdminData(self, value):
135
- if value is not None:
136
- self.adminData = value
137
- return self
138
-
139
- def removeAdminData(self):
140
- self.adminData = None
141
-
142
- def getDesc(self):
143
- return self.desc
144
-
145
- def setDesc(self, value):
146
- self.desc = value
147
- return self
148
-
149
- def getCategory(self):
150
- return self.category
151
-
152
- def setCategory(self, value):
153
- if isinstance(value, str):
154
- self.category = CategoryString().setValue(value)
155
- else:
156
- self.category = value
157
- return self
158
-
159
- def getIntroduction(self):
160
- return self.introduction
161
-
162
- def setIntroduction(self, value):
163
- self.introduction = value
164
- return self
165
-
166
- def addAnnotation(self, annotation: Annotation):
167
- self.annotations.append(annotation)
168
- return self
169
-
170
- def getAnnotations(self) -> List[Annotation]:
171
- return self.annotations
172
-
173
-
174
- class PackageableElement(Identifiable, metaclass=ABCMeta):
175
- def __init__(self, parent: ARObject, short_name: str):
176
- if type(self) is PackageableElement:
177
- raise TypeError("PackageableElement is an abstract class.")
178
- super().__init__(parent, short_name)
179
-
180
-
181
- class ARElement(PackageableElement, metaclass=ABCMeta):
182
- def __init__(self, parent: ARObject, short_name: str):
183
- if type(self) is ARElement:
184
- raise TypeError("ARElement is an abstract class.")
185
- super().__init__(parent, short_name)
186
-
187
-
188
- class Describable(ARObject, metaclass=ABCMeta):
189
- def __init__(self):
190
- if type(self) is Describable:
191
- raise TypeError("Describable is an abstract class.")
192
-
193
- super().__init__()
194
-
195
- self.desc = None
196
- self.category = None
197
- self.adminData = None
198
- self.introduction = None
199
-
200
- def getDesc(self):
201
- return self.desc
202
-
203
- def setDesc(self, value):
204
- if value is not None:
205
- self.desc = value
206
- return self
207
-
208
- def getCategory(self):
209
- return self.category
210
-
211
- def setCategory(self, value):
212
- if value is not None:
213
- self.category = value
214
- return self
215
-
216
- def getAdminData(self):
217
- return self.adminData
218
-
219
- def setAdminData(self, value):
220
- if value is not None:
221
- self.adminData = value
222
- return self
223
-
224
- def removeAdminData(self):
225
- self.adminData = None
226
-
227
- def getIntroduction(self):
228
- return self.introduction
229
-
230
- def setIntroduction(self, value):
231
- if value is not None:
232
- self.introduction = value
233
- return self
234
-
235
-
236
-
1
+ """
2
+ This module contains classes for representing identifiable elements in AUTOSAR models
3
+ in the GenericStructure module.
4
+ """
5
+
6
+ from armodel.models.M2.MSR.Documentation.TextModel.BlockElements import DocumentationBlock
7
+ from armodel.models.M2.MSR.AsamHdo.AdminData import AdminData
8
+ from armodel.models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
9
+ from armodel.models.M2.MSR.Documentation.Annotation import Annotation
10
+ from armodel.models.M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
11
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import CategoryString
13
+ from abc import ABC
14
+ from typing import Dict, List, Optional, Any
15
+
16
+
17
+ class Referrable(ARObject, ABC):
18
+ """
19
+ Abstract class for elements that can be referenced by other elements in AUTOSAR models.
20
+ This class provides basic functionality for managing short names and parent-child relationships.
21
+ """
22
+
23
+ def __init__(self, parent: ARObject, short_name: str):
24
+ if type(self) is Referrable:
25
+ raise TypeError("Referrable is an abstract class.")
26
+
27
+ ARObject.__init__(self)
28
+
29
+ self.parent = parent
30
+ self.short_name = short_name
31
+
32
+ @property
33
+ def shortName(self) -> str:
34
+ """str: The short name of this referrable element."""
35
+ return self.short_name
36
+
37
+ @shortName.setter
38
+ def shortName(self, value: str):
39
+ self.short_name = value
40
+
41
+ def getShortName(self) -> str:
42
+ """
43
+ Gets the short name of this referrable element.
44
+
45
+ Returns:
46
+ The short name of this element
47
+ """
48
+ return self.short_name
49
+
50
+ def getParent(self) -> ARObject:
51
+ """
52
+ Gets the parent of this referrable element.
53
+
54
+ Returns:
55
+ The parent ARObject
56
+ """
57
+ return self.parent
58
+
59
+ @property
60
+ def full_name(self) -> str:
61
+ """
62
+ str: The full name of this element, including the parent's full name.
63
+ """
64
+ return self.parent.full_name + "/" + self.short_name
65
+
66
+ def getFullName(self) -> str:
67
+ """
68
+ Gets the full name of this element, including the parent's full name.
69
+
70
+ Returns:
71
+ The full name of this element
72
+ """
73
+ return self.full_name
74
+
75
+
76
+ class MultilanguageReferrable(Referrable, ABC):
77
+ """
78
+ Abstract class for referrable elements that support multilingual text.
79
+ This class extends Referrable with multilingual support functionality.
80
+ """
81
+
82
+ def __init__(self, parent: ARObject, short_name: str):
83
+ if type(self) is MultilanguageReferrable:
84
+ raise TypeError("MultilanguageReferrable is an abstract class.")
85
+
86
+ super().__init__(parent, short_name)
87
+
88
+ # self._parent = parent
89
+ self.longName: Optional[MultilanguageLongName] = None
90
+
91
+ def getLongName(self) -> Optional[MultilanguageLongName]:
92
+ """
93
+ Gets the long name of this multilingual referrable element.
94
+
95
+ Returns:
96
+ MultilanguageLongName representing the long name, or None if not set
97
+ """
98
+ return self.longName
99
+
100
+ def setLongName(self, value: MultilanguageLongName):
101
+ """
102
+ Sets the long name of this multilingual referrable element.
103
+
104
+ Args:
105
+ value: The long name to set
106
+
107
+ Returns:
108
+ self for method chaining
109
+ """
110
+ self.longName = value
111
+ return self
112
+
113
+
114
+ class CollectableElement(ARObject, ABC):
115
+ """
116
+ Abstract class for elements that can collect other referrable elements.
117
+ This class provides functionality for managing collections of elements with lookup capabilities.
118
+ """
119
+
120
+ def __init__(self):
121
+ if type(self) is CollectableElement:
122
+ raise TypeError("CollectableElement is an abstract class.")
123
+
124
+ super().__init__()
125
+
126
+ self.elements: List[Referrable] = []
127
+ self.element_mappings: Dict[str, List[Referrable]] = {}
128
+
129
+ def getTotalElement(self) -> int:
130
+ """
131
+ Gets the total number of elements in this collection.
132
+
133
+ Returns:
134
+ The count of elements in the collection
135
+ """
136
+ # return len(list(filter(lambda a: not isinstance(a, ARPackage) , self.elements)))
137
+ return len(self.elements)
138
+
139
+ def removeElement(self, short_name: str, type=None):
140
+ """
141
+ Removes an element from this collection.
142
+
143
+ Args:
144
+ short_name: The short name of the element to remove
145
+ type: The type of element to remove (optional)
146
+ """
147
+ if short_name not in self.element_mappings:
148
+ raise KeyError("Invalid key <%s> for removing element" % short_name)
149
+ if type is None:
150
+ item = self.element_mappings[short_name][0]
151
+ else:
152
+ item = next(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
153
+ if item is not None:
154
+ self.elements.remove(item)
155
+ self.element_mappings[short_name].remove(item)
156
+
157
+ def getElements(self) -> List[Referrable]:
158
+ """
159
+ Gets the list of elements in this collection.
160
+
161
+ Returns:
162
+ List of Referrable instances
163
+ """
164
+ return self.elements
165
+
166
+ def addElement(self, element: Referrable):
167
+ """
168
+ Adds an element to this collection.
169
+
170
+ Args:
171
+ element: The element to add
172
+
173
+ Returns:
174
+ self for method chaining
175
+ """
176
+ short_name = element.getShortName()
177
+ if not self.IsElementExists(short_name, type(element)):
178
+ self.elements.append(element)
179
+ if short_name not in self.element_mappings:
180
+ self.element_mappings[short_name] = []
181
+ self.element_mappings[short_name].append(element)
182
+
183
+ def getElement(self, short_name: str, type=None) -> Optional[Referrable]:
184
+ """
185
+ Gets an element from this collection by short name and type.
186
+
187
+ Args:
188
+ short_name: The short name of the element to find
189
+ type: The type of element to find (optional)
190
+
191
+ Returns:
192
+ The found Referrable instance, or None if not found
193
+ """
194
+ if (short_name not in self.element_mappings):
195
+ return None
196
+ if type is not None:
197
+ result = list(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
198
+ if len(result) == 0:
199
+ return None
200
+ return result[0]
201
+ return self.element_mappings[short_name][0]
202
+
203
+ def IsElementExists(self, short_name: str, type=None) -> bool:
204
+ """
205
+ Checks if an element with the specified short name and type exists in this collection.
206
+
207
+ Args:
208
+ short_name: The short name of the element to check
209
+ type: The type of element to check (optional)
210
+
211
+ Returns:
212
+ True if the element exists, False otherwise
213
+ """
214
+ if type is None:
215
+ return short_name in self.element_mappings
216
+ if short_name in self.element_mappings:
217
+ return any(isinstance(a, type) for a in self.element_mappings[short_name])
218
+ return False
219
+
220
+
221
+ class Identifiable(MultilanguageReferrable, ABC):
222
+ """
223
+ Abstract class for identifiable elements in AUTOSAR models.
224
+ This class combines multilingual referrable functionality with element collection capabilities.
225
+ """
226
+
227
+ def __init__(self, parent: ARObject, short_name: str):
228
+ if type(self) is Identifiable:
229
+ raise TypeError("Identifiable is an abstract class.")
230
+
231
+ MultilanguageReferrable.__init__(self, parent, short_name)
232
+
233
+ self.elements: List[Referrable] = []
234
+ self.element_mappings: Dict[str, List[Referrable]] = {}
235
+
236
+ self.annotations: List[Annotation] = []
237
+ self.adminData: Optional[AdminData] = None
238
+ self.category: Optional[CategoryString] = None
239
+ self.introduction: Optional[DocumentationBlock] = None
240
+ self.desc: Optional[MultiLanguageOverviewParagraph] = None
241
+
242
+ def getTotalElement(self) -> int:
243
+ """
244
+ Gets the total number of elements in this collection.
245
+
246
+ Returns:
247
+ The count of elements in the collection
248
+ """
249
+ return len(self.elements)
250
+
251
+ def removeElement(self, short_name: str, type=None):
252
+ """
253
+ Removes an element from this collection.
254
+
255
+ Args:
256
+ short_name: The short name of the element to remove
257
+ type: The type of element to remove (optional)
258
+ """
259
+ if short_name not in self.element_mappings:
260
+ raise KeyError("Invalid key <%s> for removing element" % short_name)
261
+ if type is None:
262
+ item = self.element_mappings[short_name][0]
263
+ else:
264
+ item = next(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
265
+ if item is not None:
266
+ self.elements.remove(item)
267
+ self.element_mappings[short_name].remove(item)
268
+
269
+ def getElements(self) -> List[Referrable]:
270
+ """
271
+ Gets the list of elements in this collection.
272
+
273
+ Returns:
274
+ List of Referrable instances
275
+ """
276
+ return self.elements
277
+
278
+ def addElement(self, element: Referrable):
279
+ """
280
+ Adds an element to this collection.
281
+
282
+ Args:
283
+ element: The element to add
284
+
285
+ Returns:
286
+ self for method chaining
287
+ """
288
+ short_name = element.getShortName()
289
+ if not self.IsElementExists(short_name, type(element)):
290
+ self.elements.append(element)
291
+ if short_name not in self.element_mappings:
292
+ self.element_mappings[short_name] = []
293
+ self.element_mappings[short_name].append(element)
294
+
295
+ def getElement(self, short_name: str, type=None) -> Optional[Referrable]:
296
+ """
297
+ Gets an element from this collection by short name and type.
298
+
299
+ Args:
300
+ short_name: The short name of the element to find
301
+ type: The type of element to find (optional)
302
+
303
+ Returns:
304
+ The found Referrable instance, or None if not found
305
+ """
306
+ if (short_name not in self.element_mappings):
307
+ return None
308
+ if type is not None:
309
+ result = list(filter(lambda a: isinstance(a, type), self.element_mappings[short_name]))
310
+ if len(result) == 0:
311
+ return None
312
+ return result[0]
313
+ return self.element_mappings[short_name][0]
314
+
315
+ def IsElementExists(self, short_name: str, type=None) -> bool:
316
+ """
317
+ Checks if an element with the specified short name and type exists in this collection.
318
+
319
+ Args:
320
+ short_name: The short name of the element to check
321
+ type: The type of element to check (optional)
322
+
323
+ Returns:
324
+ True if the element exists, False otherwise
325
+ """
326
+ if type is None:
327
+ return short_name in self.element_mappings
328
+ if short_name in self.element_mappings:
329
+ return any(isinstance(a, type) for a in self.element_mappings[short_name])
330
+ return False
331
+
332
+ def getAdminData(self) -> Optional[AdminData]:
333
+ """
334
+ Gets the administrative data for this identifiable element.
335
+
336
+ Returns:
337
+ AdminData instance, or None if not set
338
+ """
339
+ return self.adminData
340
+
341
+ def setAdminData(self, value: AdminData):
342
+ """
343
+ Sets the administrative data for this identifiable element.
344
+ Only sets the value if it is not None.
345
+
346
+ Args:
347
+ value: The administrative data to set
348
+
349
+ Returns:
350
+ self for method chaining
351
+ """
352
+ if value is not None:
353
+ self.adminData = value
354
+ return self
355
+
356
+ def removeAdminData(self):
357
+ """
358
+ Removes the administrative data for this identifiable element.
359
+ """
360
+ self.adminData = None
361
+
362
+ def getDesc(self) -> Optional[MultiLanguageOverviewParagraph]:
363
+ """
364
+ Gets the description for this identifiable element.
365
+
366
+ Returns:
367
+ MultiLanguageOverviewParagraph instance, or None if not set
368
+ """
369
+ return self.desc
370
+
371
+ def setDesc(self, value: MultiLanguageOverviewParagraph):
372
+ """
373
+ Sets the description for this identifiable element.
374
+
375
+ Args:
376
+ value: The description to set
377
+
378
+ Returns:
379
+ self for method chaining
380
+ """
381
+ self.desc = value
382
+ return self
383
+
384
+ def getCategory(self) -> Optional[CategoryString]:
385
+ """
386
+ Gets the category for this identifiable element.
387
+
388
+ Returns:
389
+ CategoryString instance, or None if not set
390
+ """
391
+ return self.category
392
+
393
+ def setCategory(self, value: Any):
394
+ """
395
+ Sets the category for this identifiable element.
396
+ If the value is a string, it will be converted to a CategoryString.
397
+
398
+ Args:
399
+ value: The category to set
400
+
401
+ Returns:
402
+ self for method chaining
403
+ """
404
+ if isinstance(value, str):
405
+ self.category = CategoryString().setValue(value)
406
+ else:
407
+ self.category = value
408
+ return self
409
+
410
+ def getIntroduction(self) -> Optional[DocumentationBlock]:
411
+ """
412
+ Gets the introduction documentation for this identifiable element.
413
+
414
+ Returns:
415
+ DocumentationBlock instance, or None if not set
416
+ """
417
+ return self.introduction
418
+
419
+ def setIntroduction(self, value: DocumentationBlock):
420
+ """
421
+ Sets the introduction documentation for this identifiable element.
422
+
423
+ Args:
424
+ value: The introduction documentation to set
425
+
426
+ Returns:
427
+ self for method chaining
428
+ """
429
+ self.introduction = value
430
+ return self
431
+
432
+ def addAnnotation(self, annotation: Annotation):
433
+ """
434
+ Adds an annotation to this identifiable element.
435
+
436
+ Args:
437
+ annotation: The annotation to add
438
+
439
+ Returns:
440
+ self for method chaining
441
+ """
442
+ self.annotations.append(annotation)
443
+ return self
444
+
445
+ def getAnnotations(self) -> List[Annotation]:
446
+ """
447
+ Gets the list of annotations for this identifiable element.
448
+
449
+ Returns:
450
+ List of Annotation instances
451
+ """
452
+ return self.annotations
453
+
454
+
455
+ class PackageableElement(Identifiable, ABC):
456
+ """
457
+ Abstract class for elements that can be packaged in AUTOSAR models.
458
+ This class extends Identifiable with packaging functionality.
459
+ """
460
+
461
+ def __init__(self, parent: ARObject, short_name: str):
462
+ if type(self) is PackageableElement:
463
+ raise TypeError("PackageableElement is an abstract class.")
464
+ super().__init__(parent, short_name)
465
+
466
+
467
+ class ARElement(PackageableElement, ABC):
468
+ """
469
+ Abstract class for AUTOSAR elements.
470
+ This class represents the basic structure for all AUTOSAR model elements.
471
+ """
472
+
473
+ def __init__(self, parent: ARObject, short_name: str):
474
+ if type(self) is ARElement:
475
+ raise TypeError("ARElement is an abstract class.")
476
+ super().__init__(parent, short_name)
477
+
478
+
479
+ class Describable(ARObject, ABC):
480
+ """
481
+ Abstract class for elements that can be described in AUTOSAR models.
482
+ This class provides basic description functionality for AUTOSAR elements.
483
+ """
484
+
485
+ def __init__(self):
486
+ if type(self) is Describable:
487
+ raise TypeError("Describable is an abstract class.")
488
+
489
+ super().__init__()
490
+
491
+ self.desc = None
492
+ self.category = None
493
+ self.adminData = None
494
+ self.introduction = None
495
+
496
+ def getDesc(self) -> Optional[MultiLanguageOverviewParagraph]:
497
+ """
498
+ Gets the description for this describable element.
499
+
500
+ Returns:
501
+ MultiLanguageOverviewParagraph instance, or None if not set
502
+ """
503
+ return self.desc
504
+
505
+ def setDesc(self, value: MultiLanguageOverviewParagraph):
506
+ """
507
+ Sets the description for this describable element.
508
+ Only sets the value if it is not None.
509
+
510
+ Args:
511
+ value: The description to set
512
+
513
+ Returns:
514
+ self for method chaining
515
+ """
516
+ if value is not None:
517
+ self.desc = value
518
+ return self
519
+
520
+ def getCategory(self) -> Optional[CategoryString]:
521
+ """
522
+ Gets the category for this describable element.
523
+
524
+ Returns:
525
+ CategoryString instance, or None if not set
526
+ """
527
+ return self.category
528
+
529
+ def setCategory(self, value: CategoryString):
530
+ """
531
+ Sets the category for this describable element.
532
+ Only sets the value if it is not None.
533
+
534
+ Args:
535
+ value: The category to set
536
+
537
+ Returns:
538
+ self for method chaining
539
+ """
540
+ if value is not None:
541
+ self.category = value
542
+ return self
543
+
544
+ def getAdminData(self) -> Optional[AdminData]:
545
+ """
546
+ Gets the administrative data for this describable element.
547
+
548
+ Returns:
549
+ AdminData instance, or None if not set
550
+ """
551
+ return self.adminData
552
+
553
+ def setAdminData(self, value: AdminData):
554
+ """
555
+ Sets the administrative data for this describable element.
556
+ Only sets the value if it is not None.
557
+
558
+ Args:
559
+ value: The administrative data to set
560
+
561
+ Returns:
562
+ self for method chaining
563
+ """
564
+ if value is not None:
565
+ self.adminData = value
566
+ return self
567
+
568
+ def removeAdminData(self):
569
+ """
570
+ Removes the administrative data for this describable element.
571
+ """
572
+ self.adminData = None
573
+
574
+ def getIntroduction(self) -> Optional[DocumentationBlock]:
575
+ """
576
+ Gets the introduction documentation for this describable element.
577
+
578
+ Returns:
579
+ DocumentationBlock instance, or None if not set
580
+ """
581
+ return self.introduction
582
+
583
+ def setIntroduction(self, value: DocumentationBlock):
584
+ """
585
+ Sets the introduction documentation for this describable element.
586
+ Only sets the value if it is not None.
587
+
588
+ Args:
589
+ value: The introduction documentation to set
590
+
591
+ Returns:
592
+ self for method chaining
593
+ """
594
+ if value is not None:
595
+ self.introduction = value
596
+ return self
597
+
598
+
599
+