armodel 1.8.7__py3-none-any.whl → 1.9.2__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 (444) hide show
  1. armodel/__init__.py +18 -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 +71 -73
  5. armodel/cli/connector_update_cli.py +71 -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 +72 -75
  9. armodel/cli/swc_list_cli.py +77 -79
  10. armodel/cli/system_signal_cli.py +71 -73
  11. armodel/cli/uuid_checker_cli.py +95 -95
  12. armodel/data_models/sw_connector.py +21 -21
  13. armodel/lib/__init__.py +3 -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/AbstractPlatform/ApplicationDeferredDataType.py +21 -0
  18. armodel/models/M2/AUTOSARTemplates/AbstractPlatform/ApplicationInterface.py +79 -0
  19. armodel/models/M2/AUTOSARTemplates/AbstractPlatform/__init__.py +2 -0
  20. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/ApplicationDesign/PortInterface/Field.py +52 -0
  21. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/ApplicationDesign/PortInterface/__init__.py +1 -0
  22. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/AdaptiveModule/PlatformModuleEthernetEndpointConfiguration.py +63 -0
  23. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/AdaptiveModule/__init__.py +3 -0
  24. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/CryptoKeySlot.py +128 -0
  25. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/CryptoKeySlotContent.py +19 -0
  26. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/__init__.py +4 -0
  27. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRule.py +62 -0
  28. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRuleProps.py +83 -0
  29. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/StateDependentFirewall.py +62 -0
  30. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/__init__.py +5 -0
  31. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/IntrusionDetectionSystem/IdsPlatformInstantiation.py +52 -0
  32. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/IntrusionDetectionSystem/IdsmModuleInstantiation.py +19 -0
  33. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/IntrusionDetectionSystem/__init__.py +4 -0
  34. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +25 -0
  35. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
  36. armodel/models/M2/AUTOSARTemplates/{AutosarTopLevelStructure.py → AutosarTopLevelStructure/__init__.py} +320 -318
  37. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswAsynchronousServerCallReturnsEvent.py +27 -0
  38. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswExclusiveAreaPolicy.py +22 -0
  39. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswInterruptEvent.py +18 -0
  40. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeManagerErrorEvent.py +18 -0
  41. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeReceiverPolicy.py +22 -0
  42. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswSchedulerNamePrefix.py +26 -0
  43. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswServiceDependency.py +27 -0
  44. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswTriggerDirectImplementation.py +21 -0
  45. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/RoleBasedBswModuleEntryAssignment.py +35 -0
  46. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2223 -791
  47. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +180 -60
  48. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationship.py +26 -0
  49. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipEnum.py +24 -0
  50. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipSet.py +24 -0
  51. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +586 -200
  52. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/InstanceRefs/ModeInBswModuleDescriptionInstanceRef.py +61 -0
  53. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/InstanceRefs/__init__.py +3 -0
  54. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/__init__.py +445 -0
  55. armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
  56. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
  57. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
  58. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
  59. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
  60. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
  61. armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
  62. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
  63. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
  64. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
  65. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
  66. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
  67. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
  68. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
  69. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
  70. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
  71. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
  72. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
  73. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
  74. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
  75. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
  76. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
  77. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
  78. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
  79. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
  80. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
  81. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
  82. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
  83. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
  84. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
  85. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
  86. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
  87. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
  88. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
  89. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
  90. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
  91. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
  92. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
  93. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
  94. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
  95. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
  96. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
  97. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
  98. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
  99. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
  100. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
  101. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
  102. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
  103. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
  104. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
  105. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
  106. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
  107. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
  108. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
  109. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
  110. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
  111. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
  112. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
  113. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
  114. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
  115. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
  116. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
  117. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
  118. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
  119. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
  120. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
  121. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
  122. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
  123. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
  124. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
  125. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
  126. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
  127. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
  128. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
  129. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
  130. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
  131. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
  132. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
  133. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
  134. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
  135. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
  136. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
  137. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
  138. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
  139. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
  140. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
  141. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
  142. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
  143. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
  144. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
  145. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
  146. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
  147. armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
  148. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
  149. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
  150. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
  151. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
  152. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
  153. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
  154. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
  155. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
  156. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
  157. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
  158. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
  159. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
  160. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
  161. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
  162. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +782 -712
  163. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
  164. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
  165. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
  166. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
  167. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
  168. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
  169. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
  170. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
  171. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
  172. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
  173. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
  174. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
  175. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
  176. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
  177. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
  178. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
  179. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
  180. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
  181. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
  182. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
  183. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
  184. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
  185. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
  186. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
  187. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
  188. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +473 -489
  189. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
  190. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
  191. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
  192. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
  193. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
  194. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
  195. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
  196. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
  197. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
  198. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
  199. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
  200. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
  201. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
  202. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
  203. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
  204. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
  205. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
  206. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
  207. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
  208. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
  209. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
  210. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
  211. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
  212. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
  213. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
  214. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
  215. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
  216. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
  217. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
  218. armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
  219. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
  220. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
  221. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
  222. armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
  223. armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
  224. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
  225. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
  226. armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
  227. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
  228. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
  229. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
  230. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
  231. armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
  232. armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
  233. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
  234. armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
  235. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
  236. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
  237. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
  238. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
  239. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
  240. armodel/models/M2/MSR/Documentation/__init__.py +3 -3
  241. armodel/models/M2/MSR/documentation/__init__.py +3 -0
  242. armodel/models/__init__.py +155 -86
  243. armodel/models/utils/uuid_mgr.py +28 -29
  244. armodel/parser/__init__.py +2 -2
  245. armodel/parser/abstract_arxml_parser.py +323 -325
  246. armodel/parser/arxml_parser.py +5832 -5830
  247. armodel/parser/connector_xlsx_parser.py +192 -193
  248. armodel/parser/excel_parser.py +17 -17
  249. armodel/parser/file_parser.py +46 -46
  250. armodel/report/__init__.py +1 -1
  251. armodel/report/connector_xls_report.py +76 -77
  252. armodel/report/excel_report.py +41 -41
  253. armodel/transformer/abstract.py +6 -6
  254. armodel/transformer/admin_data.py +31 -31
  255. armodel/writer/__init__.py +1 -1
  256. armodel/writer/abstract_arxml_writer.py +146 -147
  257. armodel/writer/arxml_writer.py +5969 -5965
  258. {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/METADATA +850 -662
  259. armodel-1.9.2.dist-info/RECORD +286 -0
  260. {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/WHEEL +1 -1
  261. {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/entry_points.txt +0 -1
  262. {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info/licenses}/LICENSE +21 -21
  263. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  264. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +0 -179
  265. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  266. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  267. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  268. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  269. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  270. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  271. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  272. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  273. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  274. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  275. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  276. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  277. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  278. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  279. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  280. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
  281. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
  282. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  283. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  284. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  285. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  286. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  287. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  288. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  289. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  290. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  291. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  292. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  293. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  294. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  295. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  296. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  297. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  298. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  299. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  300. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  301. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  302. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  303. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  304. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  305. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  306. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  307. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  308. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  309. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  310. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  311. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  312. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  313. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  314. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  315. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  316. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  317. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  318. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  319. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  320. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  321. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  322. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  323. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  324. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  325. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  326. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  327. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  328. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  329. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  330. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  331. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  332. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  333. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  334. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  335. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  336. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  337. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  338. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  339. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  340. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  341. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  342. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  343. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  344. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  345. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  346. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  347. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  348. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  349. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  350. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  351. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  352. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  353. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  354. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  355. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  356. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  357. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  358. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  359. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  360. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  361. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  362. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  363. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  364. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  365. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  366. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  367. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  368. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  369. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  370. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  371. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  372. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  373. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  374. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  375. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  376. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  377. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  378. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  379. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  380. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  381. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  382. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  383. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  384. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  385. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  386. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  387. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  388. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  389. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  390. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  391. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  392. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  393. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  394. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  395. armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
  396. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  397. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  398. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  399. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  400. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  401. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  402. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  403. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  404. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  405. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  406. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  407. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  408. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  409. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  410. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  411. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  412. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  413. armodel/tests/__init__.py +0 -0
  414. armodel/tests/test_armodel/__init__.py +0 -0
  415. armodel/tests/test_armodel/models/__init__.py +0 -0
  416. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
  417. armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
  418. armodel/tests/test_armodel/models/test_ar_object.py +0 -154
  419. armodel/tests/test_armodel/models/test_ar_package.py +0 -304
  420. armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
  421. armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
  422. armodel/tests/test_armodel/models/test_common_structure.py +0 -82
  423. armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
  424. armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
  425. armodel/tests/test_armodel/models/test_datatype.py +0 -251
  426. armodel/tests/test_armodel/models/test_general_structure.py +0 -56
  427. armodel/tests/test_armodel/models/test_implementation.py +0 -27
  428. armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
  429. armodel/tests/test_armodel/models/test_port_interface.py +0 -202
  430. armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
  431. armodel/tests/test_armodel/parser/__init__.py +0 -0
  432. armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
  433. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
  434. armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
  435. armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
  436. armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
  437. armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
  438. armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
  439. armodel/tests/test_armodel/parser/test_system.py +0 -23
  440. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  441. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  442. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  443. armodel-1.8.7.dist-info/RECORD +0 -360
  444. {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/top_level.txt +0 -0
@@ -1,170 +1,336 @@
1
- from abc import ABCMeta
2
- from typing import List
3
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Boolean, String
5
- from ....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
6
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
7
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
8
- from ....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import AutosarDataType
9
- from ....M2.AUTOSARTemplates.SWComponentTemplate.Components import SymbolProps
10
-
11
-
12
- class AbstractImplementationDataTypeElement(Identifiable):
13
- def __init__(self, parent, short_name: str):
14
- super().__init__(parent, short_name)
15
-
16
-
17
- class ImplementationDataTypeElement(AbstractImplementationDataTypeElement):
18
- ARRAY_SIZE_SEMANTICS_FIXED_SIZE = "FIXED-SIZE"
19
- ARRAY_SIZE_SEMANTICS_VARIABLE_SIZE = "VARIABLE_SIZE"
20
-
21
- def __init__(self, parent, short_name: str):
22
- super().__init__(parent, short_name)
23
-
24
- self.arrayImplPolicy: ARLiteral = None
25
- self.arraySize: ARNumerical = None
26
- self.arraySizeHandling: ARLiteral = None
27
- self.arraySizeSemantics: ARLiteral = None
28
- self.isOptional: ARBoolean = None
29
- self.subElements: List[ImplementationDataTypeElement] = []
30
- self.swDataDefProps: SwDataDefProps = None
31
-
32
- def getArrayImplPolicy(self) -> ARLiteral:
33
- return self.arrayImplPolicy
34
-
35
- def setArrayImplPolicy(self, value: ARLiteral):
36
- if value is not None:
37
- self.arrayImplPolicy = value
38
- return self
39
-
40
- def getArraySize(self) -> ARNumerical:
41
- return self.arraySize
42
-
43
- def setArraySize(self, value: ARNumerical):
44
- if value is not None:
45
- self.arraySize = value
46
- return self
47
-
48
- def getArraySizeHandling(self) -> ARLiteral:
49
- return self.arraySizeHandling
50
-
51
- def setArraySizeHandling(self, value: ARLiteral):
52
- if value is not None:
53
- self.arraySizeHandling = value
54
- return self
55
-
56
- def getArraySizeSemantics(self):
57
- return self.arraySizeSemantics
58
-
59
- def setArraySizeSemantics(self, value):
60
- if value is not None:
61
- self.arraySizeSemantics = value
62
- return self
63
-
64
- def getIsOptional(self):
65
- return self.isOptional
66
-
67
- def setIsOptional(self, value):
68
- if value is not None:
69
- self.isOptional = value
70
- return self
71
-
72
- def getSwDataDefProps(self):
73
- return self.swDataDefProps
74
-
75
- def setSwDataDefProps(self, value):
76
- if value is not None:
77
- self.swDataDefProps = value
78
- return self
79
-
80
- def createImplementationDataTypeElement(self, short_name: str) -> "ImplementationDataTypeElement":
81
- if (not self.IsElementExists(short_name)):
82
- type_element = ImplementationDataTypeElement(self, short_name)
83
- self.addElement(type_element)
84
- self.subElements.append(type_element)
85
- return self.getElement(short_name, ImplementationDataTypeElement)
86
-
87
- def getSubElements(self) -> List["ImplementationDataTypeElement"]:
88
- return self.subElements
89
-
90
-
91
- class AbstractImplementationDataType(AutosarDataType, metaclass=ABCMeta):
92
- def __init__(self, parent: ARObject, short_name: str):
93
- if type(self) is AbstractImplementationDataType:
94
- raise NotImplementedError("AbstractImplementationDataType is an abstract class.")
95
-
96
- super().__init__(parent, short_name)
97
-
98
-
99
- class ImplementationDataType(AbstractImplementationDataType):
100
-
101
- CATEGORY_TYPE_REFERENCE = "TYPE_REFERENCE"
102
- CATEGORY_TYPE_VALUE = "VALUE"
103
- CATEGORY_TYPE_STRUCTURE = "STRUCTURE"
104
- CATEGORY_DATA_REFERENCE = "DATA_REFERENCE"
105
- CATEGORY_ARRAY = "ARRAY"
106
-
107
- def __init__(self, parent: ARObject, short_name: str):
108
- super().__init__(parent, short_name)
109
-
110
- self.dynamicArraySizeProfile = None # type: String
111
- self.isStructWithOptionalElement = None # type: Boolean
112
-
113
- self.subElements = [] # type: List[ImplementationDataTypeElement]
114
- self.symbolProps = None # type: SymbolProps
115
- self.typeEmitter = None # type: ARLiteral
116
-
117
- def getDynamicArraySizeProfile(self):
118
- return self.dynamicArraySizeProfile
119
-
120
- def setDynamicArraySizeProfile(self, value):
121
- self.dynamicArraySizeProfile = value
122
- return self
123
-
124
- def getIsStructWithOptionalElement(self):
125
- return self.isStructWithOptionalElement
126
-
127
- def setIsStructWithOptionalElement(self, value):
128
- self.isStructWithOptionalElement = value
129
- return self
130
-
131
- def createImplementationDataTypeElement(self, short_name: str) -> ImplementationDataTypeElement:
132
- if not self.IsElementExists(short_name):
133
- type_element = ImplementationDataTypeElement(self, short_name)
134
- self.addElement(type_element)
135
- self.subElements.append(type_element)
136
- return self.getElement(short_name)
137
-
138
- def getSubElements(self) -> List[ImplementationDataTypeElement]:
139
- return self.subElements
140
-
141
- def getArrayElementType(self) -> str:
142
- return self._array_type
143
-
144
- def setArrayElementType(self, type: str):
145
- self._array_type = type
146
- return self
147
-
148
- def setTypeEmitter(self, emitter: str):
149
- self.typeEmitter = emitter
150
- return self
151
-
152
- def getTypeEmitter(self) -> str:
153
- return self.typeEmitter
154
-
155
- def setStructElementType(self, type: str):
156
- self._struct_type = type
157
- return self
158
-
159
- def getStructElementType(self) -> str:
160
- return self._struct_type
161
-
162
- def createSymbolProps(self, short_name: str) -> SymbolProps:
163
- if short_name not in self.elements:
164
- symbol_props = SymbolProps(self, short_name)
165
- self.addElement(symbol_props)
166
- self.symbolProps = symbol_props
167
- return self.symbolProps
168
-
169
- def getSymbolProps(self) -> SymbolProps:
170
- return self.symbolProps
1
+ from abc import ABC
2
+ from typing import List
3
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpStructureElement
4
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Boolean, String, AREnum
6
+ from armodel.models.M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
7
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
8
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
9
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import AutosarDataType
10
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Components import SymbolProps
11
+
12
+
13
+ class AbstractImplementationDataTypeElement(AtpStructureElement, ABC):
14
+ def __init__(self, parent, short_name: str):
15
+ if type(self) is AbstractImplementationDataTypeElement:
16
+ raise TypeError("AbstractImplementationDataTypeElement is an abstract class.")
17
+ super().__init__(parent, short_name)
18
+
19
+
20
+ class ImplementationDataTypeElement(AbstractImplementationDataTypeElement):
21
+ ARRAY_SIZE_SEMANTICS_FIXED_SIZE = "FIXED-SIZE"
22
+ ARRAY_SIZE_SEMANTICS_VARIABLE_SIZE = "VARIABLE_SIZE"
23
+
24
+ def __init__(self, parent, short_name: str):
25
+ super().__init__(parent, short_name)
26
+
27
+ self.arrayImplPolicy: ARLiteral = None
28
+ self.arraySize: ARNumerical = None
29
+ self.arraySizeHandling: ARLiteral = None
30
+ self.arraySizeSemantics: ARLiteral = None
31
+ self.isOptional: ARBoolean = None
32
+ self.subElements: List[ImplementationDataTypeElement] = []
33
+ self.swDataDefProps: SwDataDefProps = None
34
+
35
+ def getArrayImplPolicy(self) -> ARLiteral:
36
+ return self.arrayImplPolicy
37
+
38
+ def setArrayImplPolicy(self, value: ARLiteral):
39
+ if value is not None:
40
+ self.arrayImplPolicy = value
41
+ return self
42
+
43
+ def getArraySize(self) -> ARNumerical:
44
+ return self.arraySize
45
+
46
+ def setArraySize(self, value: ARNumerical):
47
+ if value is not None:
48
+ self.arraySize = value
49
+ return self
50
+
51
+ def getArraySizeHandling(self) -> ARLiteral:
52
+ return self.arraySizeHandling
53
+
54
+ def setArraySizeHandling(self, value: ARLiteral):
55
+ if value is not None:
56
+ self.arraySizeHandling = value
57
+ return self
58
+
59
+ def getArraySizeSemantics(self):
60
+ return self.arraySizeSemantics
61
+
62
+ def setArraySizeSemantics(self, value):
63
+ if value is not None:
64
+ self.arraySizeSemantics = value
65
+ return self
66
+
67
+ def getIsOptional(self):
68
+ return self.isOptional
69
+
70
+ def setIsOptional(self, value):
71
+ if value is not None:
72
+ self.isOptional = value
73
+ return self
74
+
75
+ def getSwDataDefProps(self):
76
+ return self.swDataDefProps
77
+
78
+ def setSwDataDefProps(self, value):
79
+ if value is not None:
80
+ self.swDataDefProps = value
81
+ return self
82
+
83
+ def createImplementationDataTypeElement(self, short_name: str) -> "ImplementationDataTypeElement":
84
+ if (not self.IsElementExists(short_name)):
85
+ type_element = ImplementationDataTypeElement(self, short_name)
86
+ self.addElement(type_element)
87
+ self.subElements.append(type_element)
88
+ return self.getElement(short_name, ImplementationDataTypeElement)
89
+
90
+ def getSubElements(self) -> List["ImplementationDataTypeElement"]:
91
+ return self.subElements
92
+
93
+
94
+ class AbstractImplementationDataType(AutosarDataType, ABC):
95
+ def __init__(self, parent: ARObject, short_name: str):
96
+ if type(self) is AbstractImplementationDataType:
97
+ raise TypeError("AbstractImplementationDataType is an abstract class.")
98
+
99
+ super().__init__(parent, short_name)
100
+
101
+
102
+ class ImplementationDataType(AbstractImplementationDataType):
103
+ """
104
+ Represents an implementation data type in AUTOSAR models.
105
+ This class defines how data types are implemented in code, including arrays, structures, and data references.
106
+ """
107
+
108
+ # Category constant for type reference implementation data types
109
+ CATEGORY_TYPE_REFERENCE = "TYPE_REFERENCE"
110
+ # Category constant for value implementation data types
111
+ CATEGORY_TYPE_VALUE = "VALUE"
112
+ # Category constant for structure implementation data types
113
+ CATEGORY_TYPE_STRUCTURE = "STRUCTURE"
114
+ # Category constant for data reference implementation data types
115
+ CATEGORY_DATA_REFERENCE = "DATA_REFERENCE"
116
+ # Category constant for array implementation data types
117
+ CATEGORY_ARRAY = "ARRAY"
118
+
119
+ def __init__(self, parent: ARObject, short_name: str):
120
+ """
121
+ Initializes the ImplementationDataType with a parent and short name.
122
+
123
+ Args:
124
+ parent: The parent ARObject that contains this implementation data type
125
+ short_name: The unique short name of this implementation data type
126
+ """
127
+ super().__init__(parent, short_name)
128
+
129
+ # Profile for dynamic array size (for variable-size arrays)
130
+ self.dynamicArraySizeProfile: String = None
131
+ # Flag indicating if this structure contains optional elements
132
+ self.isStructWithOptionalElement: Boolean = None
133
+ # List of sub-elements in this implementation data type
134
+ self.subElements: List['ImplementationDataTypeElement'] = []
135
+ # Symbol properties for this implementation data type
136
+ self.symbolProps: SymbolProps = None
137
+ # Type emitter for code generation
138
+ self.typeEmitter: ARLiteral = None
139
+
140
+ def getDynamicArraySizeProfile(self):
141
+ """
142
+ Gets the profile for dynamic array size (for variable-size arrays).
143
+
144
+ Returns:
145
+ String: The dynamic array size profile
146
+ """
147
+ return self.dynamicArraySizeProfile
148
+
149
+ def setDynamicArraySizeProfile(self, value):
150
+ """
151
+ Sets the profile for dynamic array size (for variable-size arrays).
152
+ Only sets the value if it is not None.
153
+
154
+ Args:
155
+ value: The dynamic array size profile to set
156
+
157
+ Returns:
158
+ self for method chaining
159
+ """
160
+ self.dynamicArraySizeProfile = value
161
+ return self
162
+
163
+ def getIsStructWithOptionalElement(self):
164
+ """
165
+ Gets the flag indicating if this structure contains optional elements.
166
+
167
+ Returns:
168
+ Boolean: The flag for optional elements in structure
169
+ """
170
+ return self.isStructWithOptionalElement
171
+
172
+ def setIsStructWithOptionalElement(self, value):
173
+ """
174
+ Sets the flag indicating if this structure contains optional elements.
175
+ Only sets the value if it is not None.
176
+
177
+ Args:
178
+ value: The flag for optional elements in structure to set
179
+
180
+ Returns:
181
+ self for method chaining
182
+ """
183
+ self.isStructWithOptionalElement = value
184
+ return self
185
+
186
+ def createImplementationDataTypeElement(self, short_name: str) -> 'ImplementationDataTypeElement':
187
+ """
188
+ Creates and adds an ImplementationDataTypeElement to this implementation data type's sub-elements.
189
+
190
+ Args:
191
+ short_name: The short name for the new implementation data type element
192
+
193
+ Returns:
194
+ The created ImplementationDataTypeElement instance
195
+ """
196
+ if not self.IsElementExists(short_name):
197
+ type_element = ImplementationDataTypeElement(self, short_name)
198
+ self.addElement(type_element)
199
+ self.subElements.append(type_element)
200
+ return self.getElement(short_name)
201
+
202
+ def getSubElements(self) -> List['ImplementationDataTypeElement']:
203
+ """
204
+ Gets the list of sub-elements in this implementation data type.
205
+
206
+ Returns:
207
+ List of ImplementationDataTypeElement instances
208
+ """
209
+ return self.subElements
210
+
211
+ def getArrayElementType(self) -> str:
212
+ """
213
+ Gets the array element type for this implementation data type.
214
+ This is an internal property used for tracking the array type.
215
+
216
+ Returns:
217
+ str: The array element type
218
+ """
219
+ return getattr(self, '_array_type', None)
220
+
221
+ def setArrayElementType(self, type: str):
222
+ """
223
+ Sets the array element type for this implementation data type.
224
+ This is an internal property used for tracking the array type.
225
+
226
+ Args:
227
+ type: The array element type to set
228
+
229
+ Returns:
230
+ self for method chaining
231
+ """
232
+ self._array_type = type
233
+ return self
234
+
235
+ def setTypeEmitter(self, emitter: str):
236
+ """
237
+ Sets the type emitter for code generation for this implementation data type.
238
+ The type emitter defines how the type should be emitted in generated code.
239
+
240
+ Args:
241
+ emitter: The type emitter to set
242
+
243
+ Returns:
244
+ self for method chaining
245
+ """
246
+ self.typeEmitter = emitter
247
+ return self
248
+
249
+ def getTypeEmitter(self) -> str:
250
+ """
251
+ Gets the type emitter for code generation for this implementation data type.
252
+ The type emitter defines how the type should be emitted in generated code.
253
+
254
+ Returns:
255
+ str: The type emitter
256
+ """
257
+ return self.typeEmitter
258
+
259
+ def setStructElementType(self, type: str):
260
+ """
261
+ Sets the structure element type for this implementation data type.
262
+ This is an internal property used for tracking the structure type.
263
+
264
+ Args:
265
+ type: The structure element type to set
266
+
267
+ Returns:
268
+ self for method chaining
269
+ """
270
+ self._struct_type = type
271
+ return self
272
+
273
+ def getStructElementType(self) -> str:
274
+ """
275
+ Gets the structure element type for this implementation data type.
276
+ This is an internal property used for tracking the structure type.
277
+
278
+ Returns:
279
+ str: The structure element type
280
+ """
281
+ return getattr(self, '_struct_type', None)
282
+
283
+ def createSymbolProps(self, short_name: str) -> SymbolProps:
284
+ """
285
+ Creates and adds SymbolProps to this implementation data type.
286
+
287
+ Args:
288
+ short_name: The short name for the new symbol properties
289
+
290
+ Returns:
291
+ The created SymbolProps instance
292
+ """
293
+ if short_name not in self.elements:
294
+ symbol_props = SymbolProps(self, short_name)
295
+ self.addElement(symbol_props)
296
+ self.symbolProps = symbol_props
297
+ return self.symbolProps
298
+
299
+ def getSymbolProps(self) -> SymbolProps:
300
+ """
301
+ Gets the symbol properties for this implementation data type.
302
+
303
+ Returns:
304
+ SymbolProps: The symbol properties
305
+ """
306
+ return self.symbolProps
307
+
308
+
309
+ class ArrayImplPolicyEnum(AREnum):
310
+ """
311
+ Enumeration for array implementation policy.
312
+ """
313
+
314
+ DYNAMIC = "dynamic"
315
+ STATIC = "static"
316
+
317
+ def __init__(self):
318
+ super().__init__((
319
+ ArrayImplPolicyEnum.DYNAMIC,
320
+ ArrayImplPolicyEnum.STATIC,
321
+ ))
322
+
323
+
324
+ class ArraySizeSemanticsEnum(AREnum):
325
+ """
326
+ Enumeration for array size semantics.
327
+ """
328
+
329
+ FIXED_SIZE = "fixed-size"
330
+ VARIABLE_SIZE = "variable-size"
331
+
332
+ def __init__(self):
333
+ super().__init__((
334
+ ArraySizeSemanticsEnum.FIXED_SIZE,
335
+ ArraySizeSemanticsEnum.VARIABLE_SIZE,
336
+ ))