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,524 +1,574 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from .....M2.MSR.AsamHdo.ComputationMethod import CompuScale
5
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, Boolean, Integer, NameToken, PositiveInteger
6
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, String
7
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Describable, Identifiable
9
-
10
-
11
- class DataTransformationKindEnum(AREnum):
12
- def __init__(self):
13
- super().__init__([])
14
-
15
-
16
- class DataTransformation(Identifiable):
17
- def __init__(self, parent: ARObject, short_name: str):
18
- super().__init__(parent, short_name)
19
-
20
- self.dataTransformationKind = None # type: DataTransformationKindEnum
21
- self.executeDespiteDataUnavailability = None # type: Boolean
22
- self.transformerChainRefs = [] # type: List[RefType]
23
-
24
- def getDataTransformationKind(self):
25
- return self.dataTransformationKind
26
-
27
- def setDataTransformationKind(self, value):
28
- if value is not None:
29
- self.dataTransformationKind = value
30
- return self
31
-
32
- def getExecuteDespiteDataUnavailability(self):
33
- return self.executeDespiteDataUnavailability
34
-
35
- def setExecuteDespiteDataUnavailability(self, value):
36
- if value is not None:
37
- self.executeDespiteDataUnavailability = value
38
- return self
39
-
40
- def getTransformerChainRefs(self):
41
- return self.transformerChainRefs
42
-
43
- def addTransformerChainRef(self, value):
44
- if value is not None:
45
- self.transformerChainRefs.append(value)
46
- return self
47
-
48
-
49
- class BufferProperties(ARObject):
50
- def __init__(self):
51
- super().__init__()
52
-
53
- self.bufferComputation = None # type: CompuScale
54
- self.headerLength = None # type: Integer
55
- self.inPlace = None # type: Boolean
56
-
57
- def getBufferComputation(self):
58
- return self.bufferComputation
59
-
60
- def setBufferComputation(self, value):
61
- if value is not None:
62
- self.bufferComputation = value
63
- return self
64
-
65
- def getHeaderLength(self):
66
- return self.headerLength
67
-
68
- def setHeaderLength(self, value):
69
- if value is not None:
70
- self.headerLength = value
71
- return self
72
-
73
- def getInPlace(self):
74
- return self.inPlace
75
-
76
- def setInPlace(self, value):
77
- if value is not None:
78
- self.inPlace = value
79
- return self
80
-
81
-
82
- class TransformationDescription(Describable, metaclass=ABCMeta):
83
- def __init__(self):
84
- if type(self) is TransformationDescription:
85
- raise NotImplementedError("TransformationDescription is an abstract class.")
86
- super().__init__()
87
-
88
-
89
- class DataIdModeEnum(AREnum):
90
-
91
- ALL_16_BIT = "all16Bit"
92
- ALTERNATING_8_BIT = "alternating8Bit"
93
- LOWER_12_BIT = "lower12Bit"
94
- LOWER_8_BIT = "lower8Bit"
95
-
96
- def __init__(self):
97
- super().__init__([
98
- DataIdModeEnum.ALL_16_BIT,
99
- DataIdModeEnum.ALTERNATING_8_BIT,
100
- DataIdModeEnum.LOWER_12_BIT,
101
- DataIdModeEnum.LOWER_8_BIT
102
- ])
103
-
104
-
105
- class EndToEndProfileBehaviorEnum(AREnum):
106
-
107
- PRE_R4_2 = "PRE_R4_2"
108
- R4_2 = "R4_2"
109
-
110
- def __init__(self):
111
- super().__init__([
112
- EndToEndProfileBehaviorEnum.PRE_R4_2,
113
- EndToEndProfileBehaviorEnum.R4_2
114
- ])
115
-
116
-
117
- class EndToEndTransformationDescription(TransformationDescription):
118
- def __init__(self):
119
- super().__init__()
120
-
121
- self.clearFromValidToInvalid = None # type: Boolean
122
- self.counterOffset = None # type: PositiveInteger
123
- self.crcOffset = None # type: PositiveInteger
124
- self.dataIdMode = None # type: DataIdModeEnum
125
- self.dataIdNibbleOffset = None # type: PositiveInteger
126
- self.e2eProfileCompatibilityPropsRef = None # type: RefType
127
- self.maxDeltaCounter = None # type: PositiveInteger
128
- self.maxErrorStateInit = None # type: PositiveInteger
129
- self.maxErrorStateInvalid = None # type: PositiveInteger
130
- self.maxErrorStateValid = None # type: PositiveInteger
131
- self.maxNoNewOrRepeatedData = None # type: PositiveInteger
132
- self.minOkStateInit = None # type: PositiveInteger
133
- self.minOkStateInvalid = None # type: PositiveInteger
134
- self.minOkStateValid = None # type: PositiveInteger
135
- self.offset = None # type: PositiveInteger
136
- self.profileBehavior = None # type: EndToEndProfileBehaviorEnum
137
- self.profileName = None # type: NameToken
138
- self.syncCounterInit = None # type: PositiveInteger
139
- self.upperHeaderBitsToShift = None # type: PositiveInteger
140
- self.windowSizeInit = None # type: PositiveInteger
141
- self.windowSizeInvalid = None # type: PositiveInteger
142
- self.windowSizeValid = None # type: PositiveInteger
143
-
144
- def getClearFromValidToInvalid(self):
145
- return self.clearFromValidToInvalid
146
-
147
- def setClearFromValidToInvalid(self, value):
148
- if value is not None:
149
- self.clearFromValidToInvalid = value
150
- return self
151
-
152
- def getCounterOffset(self):
153
- return self.counterOffset
154
-
155
- def setCounterOffset(self, value):
156
- if value is not None:
157
- self.counterOffset = value
158
- return self
159
-
160
- def getCrcOffset(self):
161
- return self.crcOffset
162
-
163
- def setCrcOffset(self, value):
164
- if value is not None:
165
- self.crcOffset = value
166
- return self
167
-
168
- def getDataIdMode(self):
169
- return self.dataIdMode
170
-
171
- def setDataIdMode(self, value):
172
- if value is not None:
173
- self.dataIdMode = value
174
- return self
175
-
176
- def getDataIdNibbleOffset(self):
177
- return self.dataIdNibbleOffset
178
-
179
- def setDataIdNibbleOffset(self, value):
180
- if value is not None:
181
- self.dataIdNibbleOffset = value
182
- return self
183
-
184
- def getE2eProfileCompatibilityPropsRef(self):
185
- return self.e2eProfileCompatibilityPropsRef
186
-
187
- def setE2eProfileCompatibilityPropsRef(self, value):
188
- if value is not None:
189
- self.e2eProfileCompatibilityPropsRef = value
190
- return self
191
-
192
- def getMaxDeltaCounter(self):
193
- return self.maxDeltaCounter
194
-
195
- def setMaxDeltaCounter(self, value):
196
- if value is not None:
197
- self.maxDeltaCounter = value
198
- return self
199
-
200
- def getMaxErrorStateInit(self):
201
- return self.maxErrorStateInit
202
-
203
- def setMaxErrorStateInit(self, value):
204
- if value is not None:
205
- self.maxErrorStateInit = value
206
- return self
207
-
208
- def getMaxErrorStateInvalid(self):
209
- return self.maxErrorStateInvalid
210
-
211
- def setMaxErrorStateInvalid(self, value):
212
- if value is not None:
213
- self.maxErrorStateInvalid = value
214
- return self
215
-
216
- def getMaxErrorStateValid(self):
217
- return self.maxErrorStateValid
218
-
219
- def setMaxErrorStateValid(self, value):
220
- if value is not None:
221
- self.maxErrorStateValid = value
222
- return self
223
-
224
- def getMaxNoNewOrRepeatedData(self):
225
- return self.maxNoNewOrRepeatedData
226
-
227
- def setMaxNoNewOrRepeatedData(self, value):
228
- if value is not None:
229
- self.maxNoNewOrRepeatedData = value
230
- return self
231
-
232
- def getMinOkStateInit(self):
233
- return self.minOkStateInit
234
-
235
- def setMinOkStateInit(self, value):
236
- if value is not None:
237
- self.minOkStateInit = value
238
- return self
239
-
240
- def getMinOkStateInvalid(self):
241
- return self.minOkStateInvalid
242
-
243
- def setMinOkStateInvalid(self, value):
244
- if value is not None:
245
- self.minOkStateInvalid = value
246
- return self
247
-
248
- def getMinOkStateValid(self):
249
- return self.minOkStateValid
250
-
251
- def setMinOkStateValid(self, value):
252
- if value is not None:
253
- self.minOkStateValid = value
254
- return self
255
-
256
- def getOffset(self):
257
- return self.offset
258
-
259
- def setOffset(self, value):
260
- if value is not None:
261
- self.offset = value
262
- return self
263
-
264
- def getProfileBehavior(self):
265
- return self.profileBehavior
266
-
267
- def setProfileBehavior(self, value):
268
- if value is not None:
269
- self.profileBehavior = value
270
- return self
271
-
272
- def getProfileName(self):
273
- return self.profileName
274
-
275
- def setProfileName(self, value):
276
- if value is not None:
277
- self.profileName = value
278
- return self
279
-
280
- def getSyncCounterInit(self):
281
- return self.syncCounterInit
282
-
283
- def setSyncCounterInit(self, value):
284
- if value is not None:
285
- self.syncCounterInit = value
286
- return self
287
-
288
- def getUpperHeaderBitsToShift(self):
289
- return self.upperHeaderBitsToShift
290
-
291
- def setUpperHeaderBitsToShift(self, value):
292
- if value is not None:
293
- self.upperHeaderBitsToShift = value
294
- return self
295
-
296
- def getWindowSizeInit(self):
297
- return self.windowSizeInit
298
-
299
- def setWindowSizeInit(self, value):
300
- if value is not None:
301
- self.windowSizeInit = value
302
- return self
303
-
304
- def getWindowSizeInvalid(self):
305
- return self.windowSizeInvalid
306
-
307
- def setWindowSizeInvalid(self, value):
308
- if value is not None:
309
- self.windowSizeInvalid = value
310
- return self
311
-
312
- def getWindowSizeValid(self):
313
- return self.windowSizeValid
314
-
315
- def setWindowSizeValid(self, value):
316
- if value is not None:
317
- self.windowSizeValid = value
318
- return self
319
-
320
-
321
- class TransformerClassEnum(AREnum):
322
-
323
- CUSTOM = "custom"
324
- SAFETY = "safety"
325
- SECURITY = "security"
326
- SERIALIZER = "serializer"
327
-
328
- def __init__(self):
329
- super().__init__([
330
- TransformerClassEnum.CUSTOM,
331
- TransformerClassEnum.SAFETY,
332
- TransformerClassEnum.SECURITY,
333
- TransformerClassEnum.SERIALIZER
334
- ])
335
-
336
-
337
- class TransformationTechnology(Identifiable):
338
- def __init__(self, parent: ARObject, short_name: str):
339
- super().__init__(parent, short_name)
340
-
341
- self.bufferProperties = None # type: BufferProperties
342
- self.hasInternalState = None # type: Boolean
343
- self.needsOriginalData = None # type: Boolean
344
- self.protocol = None # type: String
345
- self.transformationDescription = None # type: TransformationDescription
346
- self.transformerClass = None # type: TransformerClassEnum
347
- self.version = None # type: String
348
-
349
- def getBufferProperties(self):
350
- return self.bufferProperties
351
-
352
- def setBufferProperties(self, value):
353
- if value is not None:
354
- self.bufferProperties = value
355
- return self
356
-
357
- def getHasInternalState(self):
358
- return self.hasInternalState
359
-
360
- def setHasInternalState(self, value):
361
- if value is not None:
362
- self.hasInternalState = value
363
- return self
364
-
365
- def getNeedsOriginalData(self):
366
- return self.needsOriginalData
367
-
368
- def setNeedsOriginalData(self, value):
369
- if value is not None:
370
- self.needsOriginalData = value
371
- return self
372
-
373
- def getProtocol(self):
374
- return self.protocol
375
-
376
- def setProtocol(self, value):
377
- if value is not None:
378
- self.protocol = value
379
- return self
380
-
381
- def getTransformationDescription(self):
382
- return self.transformationDescription
383
-
384
- def setTransformationDescription(self, value):
385
- if value is not None:
386
- self.transformationDescription = value
387
- return self
388
-
389
- def getTransformerClass(self):
390
- return self.transformerClass
391
-
392
- def setTransformerClass(self, value):
393
- if value is not None:
394
- self.transformerClass = value
395
- return self
396
-
397
- def getVersion(self):
398
- return self.version
399
-
400
- def setVersion(self, value):
401
- if value is not None:
402
- self.version = value
403
- return self
404
-
405
-
406
- class DataTransformationSet(ARElement):
407
- def __init__(self, parent: ARObject, short_name: str):
408
- super().__init__(parent, short_name)
409
-
410
- self.dataTransformations = [] # type: List[DataTransformation]
411
- self.transformationTechnologies = [] # type: List[TransformationTechnology]
412
-
413
- def getDataTransformations(self):
414
- return self.dataTransformations
415
-
416
- def createDataTransformation(self, short_name: str) -> DataTransformation:
417
- if (not self.IsElementExists(short_name)):
418
- dfs = DataTransformation(self, short_name)
419
- self.addElement(dfs)
420
- self.dataTransformations.append(dfs)
421
- return self.getElement(short_name)
422
-
423
- def getTransformationTechnologies(self):
424
- return self.transformationTechnologies
425
-
426
- def createTransformationTechnology(self, short_name: str) -> TransformationTechnology:
427
- if (not self.IsElementExists(short_name)):
428
- tech = TransformationTechnology(self, short_name)
429
- self.addElement(tech)
430
- self.transformationTechnologies.append(tech)
431
- return self.getElement(short_name)
432
-
433
-
434
- class TransformationISignalProps(Describable, metaclass=ABCMeta):
435
- def __init__(self):
436
- super().__init__()
437
-
438
- self.csErrorReaction = None # type: CSTransformerErrorReactionEnum
439
- self.dataPrototypeTransformationProps = [] # type: List[DataPrototypeTransformationProps]
440
- self.ident = None # type: TransformationISignalPropsIdent
441
- self.transformerRef = None # type: RefType
442
-
443
- def getCsErrorReaction(self):
444
- return self.csErrorReaction
445
-
446
- def setCsErrorReaction(self, value):
447
- if value is not None:
448
- self.csErrorReaction = value
449
- return self
450
-
451
- def getDataPrototypeTransformationProps(self):
452
- return self.dataPrototypeTransformationProps
453
-
454
- def setDataPrototypeTransformationProps(self, value):
455
- if value is not None:
456
- self.dataPrototypeTransformationProps = value
457
- return self
458
-
459
- def getIdent(self):
460
- return self.ident
461
-
462
- def setIdent(self, value):
463
- if value is not None:
464
- self.ident = value
465
- return self
466
-
467
- def getTransformerRef(self):
468
- return self.transformerRef
469
-
470
- def setTransformerRef(self, value):
471
- if value is not None:
472
- self.transformerRef = value
473
- return self
474
-
475
-
476
- class EndToEndTransformationISignalProps(TransformationISignalProps):
477
- def __init__(self):
478
- super().__init__()
479
-
480
- self.dataIds = [] # type: List[PositiveInteger]
481
- self.dataLength = None # type: PositiveInteger
482
- self.maxDataLength = None # type: PositiveInteger
483
- self.minDataLength = None # type: PositiveInteger
484
- self.sourceId = None # type: PositiveInteger
485
-
486
- def getDataIds(self):
487
- return self.dataIds
488
-
489
- def addDataId(self, value):
490
- if value is not None:
491
- self.dataIds.append(value)
492
- return self
493
-
494
- def getDataLength(self):
495
- return self.dataLength
496
-
497
- def setDataLength(self, value):
498
- if value is not None:
499
- self.dataLength = value
500
- return self
501
-
502
- def getMaxDataLength(self):
503
- return self.maxDataLength
504
-
505
- def setMaxDataLength(self, value):
506
- if value is not None:
507
- self.maxDataLength = value
508
- return self
509
-
510
- def getMinDataLength(self):
511
- return self.minDataLength
512
-
513
- def setMinDataLength(self, value):
514
- if value is not None:
515
- self.minDataLength = value
516
- return self
517
-
518
- def getSourceId(self):
519
- return self.sourceId
520
-
521
- def setSourceId(self, value):
522
- if value is not None:
523
- self.sourceId = value
524
- return self
1
+ # This module contains AUTOSAR System Template classes for data transformation
2
+ # It defines transformation technologies and end-to-end protection profiles for data safety and security
3
+
4
+ from abc import ABC
5
+ from typing import List
6
+
7
+ from armodel.models.M2.MSR.AsamHdo.ComputationMethod import CompuScale
8
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, Boolean, Integer, NameToken, PositiveInteger
9
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, String
10
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
11
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Describable, Identifiable
12
+
13
+
14
+ class DataTransformationKindEnum(AREnum):
15
+ """
16
+ Enumeration defining types of data transformations,
17
+ specifying the kind of transformation to be applied
18
+ to data elements in the communication system.
19
+ """
20
+ def __init__(self):
21
+ super().__init__([])
22
+
23
+
24
+ class DataTransformation(Identifiable):
25
+ """
26
+ Represents a data transformation in the system, defining
27
+ the type of transformation, execution behavior, and
28
+ references to transformation chains for data processing.
29
+ """
30
+ def __init__(self, parent: ARObject, short_name: str):
31
+ super().__init__(parent, short_name)
32
+
33
+ self.dataTransformationKind: DataTransformationKindEnum = None
34
+ self.executeDespiteDataUnavailability: Boolean = None
35
+ self.transformerChainRefs: List[RefType] = []
36
+
37
+ def getDataTransformationKind(self):
38
+ return self.dataTransformationKind
39
+
40
+ def setDataTransformationKind(self, value):
41
+ if value is not None:
42
+ self.dataTransformationKind = value
43
+ return self
44
+
45
+ def getExecuteDespiteDataUnavailability(self):
46
+ return self.executeDespiteDataUnavailability
47
+
48
+ def setExecuteDespiteDataUnavailability(self, value):
49
+ if value is not None:
50
+ self.executeDespiteDataUnavailability = value
51
+ return self
52
+
53
+ def getTransformerChainRefs(self):
54
+ return self.transformerChainRefs
55
+
56
+ def addTransformerChainRef(self, value):
57
+ if value is not None:
58
+ self.transformerChainRefs.append(value)
59
+ return self
60
+
61
+
62
+ class BufferProperties(ARObject):
63
+ """
64
+ Defines properties for data buffers used in transformations,
65
+ specifying computation scales, header lengths, and in-place
66
+ processing capabilities for buffer management.
67
+ """
68
+ def __init__(self):
69
+ super().__init__()
70
+
71
+ self.bufferComputation: CompuScale = None
72
+ self.headerLength: Integer = None
73
+ self.inPlace: Boolean = None
74
+
75
+ def getBufferComputation(self):
76
+ return self.bufferComputation
77
+
78
+ def setBufferComputation(self, value):
79
+ if value is not None:
80
+ self.bufferComputation = value
81
+ return self
82
+
83
+ def getHeaderLength(self):
84
+ return self.headerLength
85
+
86
+ def setHeaderLength(self, value):
87
+ if value is not None:
88
+ self.headerLength = value
89
+ return self
90
+
91
+ def getInPlace(self):
92
+ return self.inPlace
93
+
94
+ def setInPlace(self, value):
95
+ if value is not None:
96
+ self.inPlace = value
97
+ return self
98
+
99
+
100
+ class TransformationDescription(Describable, ABC):
101
+ """
102
+ Abstract base class for transformation descriptions,
103
+ defining common properties for different types of
104
+ data transformation descriptions in the system.
105
+ """
106
+ def __init__(self):
107
+ if type(self) is TransformationDescription:
108
+ raise TypeError("TransformationDescription is an abstract class.")
109
+ super().__init__()
110
+
111
+
112
+ class DataIdModeEnum(AREnum):
113
+
114
+ ALL_16_BIT = "all16Bit"
115
+ ALTERNATING_8_BIT = "alternating8Bit"
116
+ LOWER_12_BIT = "lower12Bit"
117
+ LOWER_8_BIT = "lower8Bit"
118
+
119
+ def __init__(self):
120
+ super().__init__([
121
+ DataIdModeEnum.ALL_16_BIT,
122
+ DataIdModeEnum.ALTERNATING_8_BIT,
123
+ DataIdModeEnum.LOWER_12_BIT,
124
+ DataIdModeEnum.LOWER_8_BIT
125
+ ])
126
+
127
+
128
+ class EndToEndProfileBehaviorEnum(AREnum):
129
+
130
+ PRE_R4_2 = "PRE_R4_2"
131
+ R4_2 = "R4_2"
132
+
133
+ def __init__(self):
134
+ super().__init__([
135
+ EndToEndProfileBehaviorEnum.PRE_R4_2,
136
+ EndToEndProfileBehaviorEnum.R4_2
137
+ ])
138
+
139
+
140
+ class EndToEndTransformationDescription(TransformationDescription):
141
+ """
142
+ Defines end-to-end transformation properties for data protection,
143
+ specifying counter offsets, CRC calculations, data ID modes,
144
+ and profile behavior for safe data transmission.
145
+ """
146
+ def __init__(self):
147
+ super().__init__()
148
+
149
+ self.clearFromValidToInvalid: Boolean = None
150
+ self.counterOffset: PositiveInteger = None
151
+ self.crcOffset: PositiveInteger = None
152
+ self.dataIdMode: DataIdModeEnum = None
153
+ self.dataIdNibbleOffset: PositiveInteger = None
154
+ self.e2eProfileCompatibilityPropsRef: RefType = None
155
+ self.maxDeltaCounter: PositiveInteger = None
156
+ self.maxErrorStateInit: PositiveInteger = None
157
+ self.maxErrorStateInvalid: PositiveInteger = None
158
+ self.maxErrorStateValid: PositiveInteger = None
159
+ self.maxNoNewOrRepeatedData: PositiveInteger = None
160
+ self.minOkStateInit: PositiveInteger = None
161
+ self.minOkStateInvalid: PositiveInteger = None
162
+ self.minOkStateValid: PositiveInteger = None
163
+ self.offset: PositiveInteger = None
164
+ self.profileBehavior: EndToEndProfileBehaviorEnum = None
165
+ self.profileName: NameToken = None
166
+ self.syncCounterInit: PositiveInteger = None
167
+ self.upperHeaderBitsToShift: PositiveInteger = None
168
+ self.windowSizeInit: PositiveInteger = None
169
+ self.windowSizeInvalid: PositiveInteger = None
170
+ self.windowSizeValid: PositiveInteger = None
171
+
172
+ def getClearFromValidToInvalid(self):
173
+ return self.clearFromValidToInvalid
174
+
175
+ def setClearFromValidToInvalid(self, value):
176
+ if value is not None:
177
+ self.clearFromValidToInvalid = value
178
+ return self
179
+
180
+ def getCounterOffset(self):
181
+ return self.counterOffset
182
+
183
+ def setCounterOffset(self, value):
184
+ if value is not None:
185
+ self.counterOffset = value
186
+ return self
187
+
188
+ def getCrcOffset(self):
189
+ return self.crcOffset
190
+
191
+ def setCrcOffset(self, value):
192
+ if value is not None:
193
+ self.crcOffset = value
194
+ return self
195
+
196
+ def getDataIdMode(self):
197
+ return self.dataIdMode
198
+
199
+ def setDataIdMode(self, value):
200
+ if value is not None:
201
+ self.dataIdMode = value
202
+ return self
203
+
204
+ def getDataIdNibbleOffset(self):
205
+ return self.dataIdNibbleOffset
206
+
207
+ def setDataIdNibbleOffset(self, value):
208
+ if value is not None:
209
+ self.dataIdNibbleOffset = value
210
+ return self
211
+
212
+ def getE2eProfileCompatibilityPropsRef(self):
213
+ return self.e2eProfileCompatibilityPropsRef
214
+
215
+ def setE2eProfileCompatibilityPropsRef(self, value):
216
+ if value is not None:
217
+ self.e2eProfileCompatibilityPropsRef = value
218
+ return self
219
+
220
+ def getMaxDeltaCounter(self):
221
+ return self.maxDeltaCounter
222
+
223
+ def setMaxDeltaCounter(self, value):
224
+ if value is not None:
225
+ self.maxDeltaCounter = value
226
+ return self
227
+
228
+ def getMaxErrorStateInit(self):
229
+ return self.maxErrorStateInit
230
+
231
+ def setMaxErrorStateInit(self, value):
232
+ if value is not None:
233
+ self.maxErrorStateInit = value
234
+ return self
235
+
236
+ def getMaxErrorStateInvalid(self):
237
+ return self.maxErrorStateInvalid
238
+
239
+ def setMaxErrorStateInvalid(self, value):
240
+ if value is not None:
241
+ self.maxErrorStateInvalid = value
242
+ return self
243
+
244
+ def getMaxErrorStateValid(self):
245
+ return self.maxErrorStateValid
246
+
247
+ def setMaxErrorStateValid(self, value):
248
+ if value is not None:
249
+ self.maxErrorStateValid = value
250
+ return self
251
+
252
+ def getMaxNoNewOrRepeatedData(self):
253
+ return self.maxNoNewOrRepeatedData
254
+
255
+ def setMaxNoNewOrRepeatedData(self, value):
256
+ if value is not None:
257
+ self.maxNoNewOrRepeatedData = value
258
+ return self
259
+
260
+ def getMinOkStateInit(self):
261
+ return self.minOkStateInit
262
+
263
+ def setMinOkStateInit(self, value):
264
+ if value is not None:
265
+ self.minOkStateInit = value
266
+ return self
267
+
268
+ def getMinOkStateInvalid(self):
269
+ return self.minOkStateInvalid
270
+
271
+ def setMinOkStateInvalid(self, value):
272
+ if value is not None:
273
+ self.minOkStateInvalid = value
274
+ return self
275
+
276
+ def getMinOkStateValid(self):
277
+ return self.minOkStateValid
278
+
279
+ def setMinOkStateValid(self, value):
280
+ if value is not None:
281
+ self.minOkStateValid = value
282
+ return self
283
+
284
+ def getOffset(self):
285
+ return self.offset
286
+
287
+ def setOffset(self, value):
288
+ if value is not None:
289
+ self.offset = value
290
+ return self
291
+
292
+ def getProfileBehavior(self):
293
+ return self.profileBehavior
294
+
295
+ def setProfileBehavior(self, value):
296
+ if value is not None:
297
+ self.profileBehavior = value
298
+ return self
299
+
300
+ def getProfileName(self):
301
+ return self.profileName
302
+
303
+ def setProfileName(self, value):
304
+ if value is not None:
305
+ self.profileName = value
306
+ return self
307
+
308
+ def getSyncCounterInit(self):
309
+ return self.syncCounterInit
310
+
311
+ def setSyncCounterInit(self, value):
312
+ if value is not None:
313
+ self.syncCounterInit = value
314
+ return self
315
+
316
+ def getUpperHeaderBitsToShift(self):
317
+ return self.upperHeaderBitsToShift
318
+
319
+ def setUpperHeaderBitsToShift(self, value):
320
+ if value is not None:
321
+ self.upperHeaderBitsToShift = value
322
+ return self
323
+
324
+ def getWindowSizeInit(self):
325
+ return self.windowSizeInit
326
+
327
+ def setWindowSizeInit(self, value):
328
+ if value is not None:
329
+ self.windowSizeInit = value
330
+ return self
331
+
332
+ def getWindowSizeInvalid(self):
333
+ return self.windowSizeInvalid
334
+
335
+ def setWindowSizeInvalid(self, value):
336
+ if value is not None:
337
+ self.windowSizeInvalid = value
338
+ return self
339
+
340
+ def getWindowSizeValid(self):
341
+ return self.windowSizeValid
342
+
343
+ def setWindowSizeValid(self, value):
344
+ if value is not None:
345
+ self.windowSizeValid = value
346
+ return self
347
+
348
+
349
+ class TransformerClassEnum(AREnum):
350
+
351
+ CUSTOM = "custom"
352
+ SAFETY = "safety"
353
+ SECURITY = "security"
354
+ SERIALIZER = "serializer"
355
+
356
+ def __init__(self):
357
+ super().__init__([
358
+ TransformerClassEnum.CUSTOM,
359
+ TransformerClassEnum.SAFETY,
360
+ TransformerClassEnum.SECURITY,
361
+ TransformerClassEnum.SERIALIZER
362
+ ])
363
+
364
+
365
+ class TransformationTechnology(Identifiable):
366
+ """
367
+ Represents a transformation technology in the system,
368
+ defining buffer properties, state management, protocol
369
+ specifications, and transformer class for data transformation.
370
+ """
371
+ def __init__(self, parent: ARObject, short_name: str):
372
+ super().__init__(parent, short_name)
373
+
374
+ self.bufferProperties: BufferProperties = None
375
+ self.hasInternalState: Boolean = None
376
+ self.needsOriginalData: Boolean = None
377
+ self.protocol: String = None
378
+ self.transformationDescription: TransformationDescription = None
379
+ self.transformerClass: TransformerClassEnum = None
380
+ self.version: String = None
381
+
382
+ def getBufferProperties(self):
383
+ return self.bufferProperties
384
+
385
+ def setBufferProperties(self, value):
386
+ if value is not None:
387
+ self.bufferProperties = value
388
+ return self
389
+
390
+ def getHasInternalState(self):
391
+ return self.hasInternalState
392
+
393
+ def setHasInternalState(self, value):
394
+ if value is not None:
395
+ self.hasInternalState = value
396
+ return self
397
+
398
+ def getNeedsOriginalData(self):
399
+ return self.needsOriginalData
400
+
401
+ def setNeedsOriginalData(self, value):
402
+ if value is not None:
403
+ self.needsOriginalData = value
404
+ return self
405
+
406
+ def getProtocol(self):
407
+ return self.protocol
408
+
409
+ def setProtocol(self, value):
410
+ if value is not None:
411
+ self.protocol = value
412
+ return self
413
+
414
+ def getTransformationDescription(self):
415
+ return self.transformationDescription
416
+
417
+ def setTransformationDescription(self, value):
418
+ if value is not None:
419
+ self.transformationDescription = value
420
+ return self
421
+
422
+ def getTransformerClass(self):
423
+ return self.transformerClass
424
+
425
+ def setTransformerClass(self, value):
426
+ if value is not None:
427
+ self.transformerClass = value
428
+ return self
429
+
430
+ def getVersion(self):
431
+ return self.version
432
+
433
+ def setVersion(self, value):
434
+ if value is not None:
435
+ self.version = value
436
+ return self
437
+
438
+
439
+ class DataTransformationSet(ARElement):
440
+ """
441
+ Represents a set of data transformations in the system,
442
+ organizing multiple data transformations and transformation
443
+ technologies for comprehensive data processing configurations.
444
+ """
445
+ def __init__(self, parent: ARObject, short_name: str):
446
+ super().__init__(parent, short_name)
447
+
448
+ self.dataTransformations: List[DataTransformation] = []
449
+ self.transformationTechnologies: List[TransformationTechnology] = []
450
+
451
+ def getDataTransformations(self):
452
+ return self.dataTransformations
453
+
454
+ def createDataTransformation(self, short_name: str) -> DataTransformation:
455
+ if (not self.IsElementExists(short_name)):
456
+ dfs = DataTransformation(self, short_name)
457
+ self.addElement(dfs)
458
+ self.dataTransformations.append(dfs)
459
+ return self.getElement(short_name)
460
+
461
+ def getTransformationTechnologies(self):
462
+ return self.transformationTechnologies
463
+
464
+ def createTransformationTechnology(self, short_name: str) -> TransformationTechnology:
465
+ if (not self.IsElementExists(short_name)):
466
+ tech = TransformationTechnology(self, short_name)
467
+ self.addElement(tech)
468
+ self.transformationTechnologies.append(tech)
469
+ return self.getElement(short_name)
470
+
471
+
472
+ class TransformationISignalProps(Describable, ABC):
473
+ """
474
+ Abstract base class for transformation interaction signal properties,
475
+ defining common properties for signal transformation including
476
+ error reactions, data prototype properties, and transformer references.
477
+ """
478
+ def __init__(self):
479
+ if type(self) is TransformationISignalProps:
480
+ raise TypeError("TransformationISignalProps is an abstract class.")
481
+ super().__init__()
482
+
483
+ self.csErrorReaction = None
484
+ self.dataPrototypeTransformationProps: List = []
485
+ self.ident = None
486
+ self.transformerRef: RefType = None
487
+
488
+ def getCsErrorReaction(self):
489
+ return self.csErrorReaction
490
+
491
+ def setCsErrorReaction(self, value):
492
+ if value is not None:
493
+ self.csErrorReaction = value
494
+ return self
495
+
496
+ def getDataPrototypeTransformationProps(self):
497
+ return self.dataPrototypeTransformationProps
498
+
499
+ def setDataPrototypeTransformationProps(self, value):
500
+ if value is not None:
501
+ self.dataPrototypeTransformationProps = value
502
+ return self
503
+
504
+ def getIdent(self):
505
+ return self.ident
506
+
507
+ def setIdent(self, value):
508
+ if value is not None:
509
+ self.ident = value
510
+ return self
511
+
512
+ def getTransformerRef(self):
513
+ return self.transformerRef
514
+
515
+ def setTransformerRef(self, value):
516
+ if value is not None:
517
+ self.transformerRef = value
518
+ return self
519
+
520
+
521
+ class EndToEndTransformationISignalProps(TransformationISignalProps):
522
+ """
523
+ Defines end-to-end transformation properties for interaction signals,
524
+ specifying data IDs, length constraints, and source identifiers
525
+ for protected signal transmission.
526
+ """
527
+ def __init__(self):
528
+ super().__init__()
529
+
530
+ self.dataIds: List[PositiveInteger] = []
531
+ self.dataLength: PositiveInteger = None
532
+ self.maxDataLength: PositiveInteger = None
533
+ self.minDataLength: PositiveInteger = None
534
+ self.sourceId: PositiveInteger = None
535
+
536
+ def getDataIds(self):
537
+ return self.dataIds
538
+
539
+ def addDataId(self, value):
540
+ if value is not None:
541
+ self.dataIds.append(value)
542
+ return self
543
+
544
+ def getDataLength(self):
545
+ return self.dataLength
546
+
547
+ def setDataLength(self, value):
548
+ if value is not None:
549
+ self.dataLength = value
550
+ return self
551
+
552
+ def getMaxDataLength(self):
553
+ return self.maxDataLength
554
+
555
+ def setMaxDataLength(self, value):
556
+ if value is not None:
557
+ self.maxDataLength = value
558
+ return self
559
+
560
+ def getMinDataLength(self):
561
+ return self.minDataLength
562
+
563
+ def setMinDataLength(self, value):
564
+ if value is not None:
565
+ self.minDataLength = value
566
+ return self
567
+
568
+ def getSourceId(self):
569
+ return self.sourceId
570
+
571
+ def setSourceId(self, value):
572
+ if value is not None:
573
+ self.sourceId = value
574
+ return self