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,458 +1,493 @@
1
- from typing import List
2
-
3
- from ....M2.AUTOSARTemplates.SystemTemplate.DataMapping import DataMapping
4
- from ....M2.AUTOSARTemplates.SystemTemplate.SecureCommunication import CryptoServiceMapping
5
- from ....M2.AUTOSARTemplates.SystemTemplate.RteEventToOsTaskMapping import AppOsTaskProxyToEcuTaskProxyMapping
6
- from ....M2.AUTOSARTemplates.SystemTemplate.EcuResourceMapping import ECUMapping
7
- from ....M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
8
- from ....M2.AUTOSARTemplates.SystemTemplate.SWmapping import ApplicationPartitionToEcuPartitionMapping, SwcToImplMapping
9
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
10
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
11
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ByteOrderEnum, PositiveInteger, RefType
12
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RevisionLabelString, TRefType
13
-
14
-
15
- class SwcToEcuMapping(Identifiable):
16
- def __init__(self, parent: ARObject, short_name: str):
17
- super().__init__(parent, short_name)
18
-
19
- self.componentIRefs = [] # type: List[ComponentInSystemInstanceRef]
20
- self.controlledHwElementRef = None # type: RefType
21
- self.ecuInstanceRef = None # type: RefType
22
- self.processingUnitRef = None # type: RefType
23
-
24
- def getComponentIRefs(self):
25
- return self.componentIRefs
26
-
27
- def addComponentIRef(self, value):
28
- self.componentIRefs.append(value)
29
- return self
30
-
31
- def getControlledHwElementRef(self):
32
- return self.controlledHwElementRef
33
-
34
- def setControlledHwElementRef(self, value):
35
- self.controlledHwElementRef = value
36
- return self
37
-
38
- def getEcuInstanceRef(self):
39
- return self.ecuInstanceRef
40
-
41
- def setEcuInstanceRef(self, value):
42
- self.ecuInstanceRef = value
43
- return self
44
-
45
- def getProcessingUnitRef(self):
46
- return self.processingUnitRef
47
-
48
- def setProcessingUnitRef(self, value):
49
- self.processingUnitRef = value
50
- return self
51
-
52
-
53
- class ComManagementMapping(Identifiable):
54
- def __init__(self, parent: ARObject, short_name: str):
55
- super().__init__(parent, short_name)
56
-
57
- self.comManagementGroupRefs = [] # type: List[RefType]
58
- self.comManagementPortGroupRefs = [] # type: List[RefType]
59
- self.physicalChannelRef = None # type: RefType
60
-
61
- def getComManagementGroupRefs(self):
62
- return self.comManagementGroupRefs
63
-
64
- def addComManagementGroupRef(self, value):
65
- if value is not None:
66
- self.comManagementGroupRefs.append(value)
67
- return self
68
-
69
- def getComManagementPortGroupRefs(self):
70
- return self.comManagementPortGroupRefs
71
-
72
- def addComManagementPortGroupRef(self, value):
73
- if value is not None:
74
- self.comManagementPortGroupRefs.append(value)
75
- return self
76
-
77
- def getPhysicalChannelRef(self):
78
- return self.physicalChannelRef
79
-
80
- def setPhysicalChannelRef(self, value):
81
- if value is not None:
82
- self.physicalChannelRef = value
83
- return self
84
-
85
-
86
- class SystemMapping(Identifiable):
87
- def __init__(self, parent: ARObject, short_name: str):
88
- super().__init__(parent, short_name)
89
-
90
- self.applicationPartitionToEcuPartitionMappings = [] # type: List[ApplicationPartitionToEcuPartitionMapping]
91
- self.appOsTaskProxyToEcuTaskProxyMappings = [] # type: List[AppOsTaskProxyToEcuTaskProxyMapping]
92
- self.comManagementMappings = [] # type: List[ComManagementMapping]
93
- self.cryptoServiceMappings = [] # type: List[CryptoServiceMapping]
94
- self.dataMappings = [] # type: List[DataMapping]
95
- self.ddsISignalToTopicMappings = [] # type: List[DdsCpISignalToDdsTopicMapping]
96
- self.ecuResourceMappings = [] # type: List[ECUMapping]
97
- self.j1939ControllerApplicationToJ1939NmNodeMappings = [] # type: List[J1939ControllerApplicationToJ1939NmNodeMapping]
98
- self.mappingConstraints = [] # type: List[MappingConstraint]
99
- self.pncMappings = [] # type: List[PncMapping]
100
- self.portElementToComResourceMappings = [] # type: List[PortElementToCommunicationResourceMapping]
101
- self.resourceEstimations = [] # type: List[EcuResourceEstimation]
102
- self.resourceToApplicationPartitionMappings = [] # type: List[CpSoftwareClusterResourceToApplicationPartitionMapping]
103
- self.rteEventSeparations = [] # type: List[RteEventInSystemSeparation]
104
- self.rteEventToOsTaskProxyMappings = [] # type: List[RteEventInSystemToOsTaskProxyMapping]
105
- self.signalPathConstraints = [] # type: List[SignalPathConstraint]
106
- self.softwareClusterToApplicationPartitionMappings = [] # type: List[CpSoftwareClusterToApplicationPartitionMapping]
107
- self.softwareClusterToResourceMappings = [] # type: List[CpSoftwareClusterToResourceMapping]
108
- self.swClusterMappings = [] # type: List[CpSoftwareClusterToEcuInstanceMapping]
109
- self.swcToApplicationPartitionMappings = [] # type: List[SwcToApplicationPartitionMapping]
110
- self.swImplMappings = [] # type: List[SwcToImplMapping]
111
- self.swMappings = [] # type: List[SwcToEcuMapping]
112
- self.systemSignalGroupToComResourceMappings = [] # type: List[SystemSignalGroupToCommunicationResourceMapping]
113
- self.systemSignalToComResourceMappings = [] # type: List[SystemSignalToCommunicationResourceMapping]
114
-
115
- def getApplicationPartitionToEcuPartitionMappings(self):
116
- return self.applicationPartitionToEcuPartitionMappings
117
-
118
- def addApplicationPartitionToEcuPartitionMapping(self, value):
119
- self.applicationPartitionToEcuPartitionMappings.append(value)
120
- return self
121
-
122
- def getAppOsTaskProxyToEcuTaskProxyMappings(self):
123
- return self.appOsTaskProxyToEcuTaskProxyMappings
124
-
125
- def addAppOsTaskProxyToEcuTaskProxyMapping(self, value):
126
- self.appOsTaskProxyToEcuTaskProxyMappings.append(value)
127
- return self
128
-
129
- def getComManagementMappings(self):
130
- return self.comManagementMappings
131
-
132
- def addComManagementMapping(self, value):
133
- self.comManagementMappings.append(value)
134
- return self
135
-
136
- def getCryptoServiceMappings(self):
137
- return self.cryptoServiceMappings
138
-
139
- def addCryptoServiceMapping(self, value):
140
- self.cryptoServiceMappings.append(value)
141
- return self
142
-
143
- def getDataMappings(self):
144
- return self.dataMappings
145
-
146
- def addDataMapping(self, value):
147
- self.dataMappings.append(value)
148
- return self
149
-
150
- def getDdsISignalToTopicMapping(self):
151
- return self.ddsISignalToTopicMappings
152
-
153
- def addDdsISignalToTopicMapping(self, value):
154
- self.ddsISignalToTopicMappings.append(value)
155
- return self
156
-
157
- def getEcuResourceMappings(self):
158
- return self.ecuResourceMappings
159
-
160
- def createECUMapping(self, short_name: str) -> ECUMapping:
161
- if short_name not in self.elements:
162
- mapping = ECUMapping(self, short_name)
163
- self.addElement(mapping)
164
- self.ecuResourceMappings.append(mapping)
165
- return self.getElement(short_name)
166
-
167
- def getJ1939ControllerApplicationToJ1939NmNodeMappings(self):
168
- return self.j1939ControllerApplicationToJ1939NmNodeMappings
169
-
170
- def addJ1939ControllerApplicationToJ1939NmNodeMapping(self, value):
171
- self.j1939ControllerApplicationToJ1939NmNodeMappings.append(value)
172
- return self
173
-
174
- def getMappingConstraints(self):
175
- return self.mappingConstraints
176
-
177
- def addMappingConstraint(self, value):
178
- self.mappingConstraints.append(value)
179
- return self
180
-
181
- def getPncMappings(self):
182
- return self.pncMappings
183
-
184
- def addPncMapping(self, value):
185
- self.pncMappings.append(value)
186
- return self
187
-
188
- def getPortElementToComResourceMappings(self):
189
- return self.portElementToComResourceMappings
190
-
191
- def addPortElementToComResourceMapping(self, value):
192
- self.portElementToComResourceMappings.append(value)
193
- return self
194
-
195
- def getResourceEstimations(self):
196
- return self.resourceEstimations
197
-
198
- def addResourceEstimation(self, value):
199
- self.resourceEstimations.append(value)
200
- return self
201
-
202
- def getResourceToApplicationPartitionMappings(self):
203
- return self.resourceToApplicationPartitionMappings
204
-
205
- def addResourceToApplicationPartitionMapping(self, value):
206
- self.resourceToApplicationPartitionMappings.append(value)
207
- return self
208
-
209
- def getRteEventSeparations(self):
210
- return self.rteEventSeparations
211
-
212
- def addRteEventSeparation(self, value):
213
- self.rteEventSeparations.append(value)
214
- return self
215
-
216
- def getRteEventToOsTaskProxyMappings(self):
217
- return self.rteEventToOsTaskProxyMappings
218
-
219
- def addRteEventToOsTaskProxyMapping(self, value):
220
- self.rteEventToOsTaskProxyMappings.append(value)
221
- return self
222
-
223
- def getSignalPathConstraints(self):
224
- return self.signalPathConstraints
225
-
226
- def addSignalPathConstraint(self, value):
227
- self.signalPathConstraints.append(value)
228
- return self
229
-
230
- def getSoftwareClusterToApplicationPartitionMappings(self):
231
- return self.softwareClusterToApplicationPartitionMappings
232
-
233
- def addSoftwareClusterToApplicationPartitionMapping(self, value):
234
- self.softwareClusterToApplicationPartitionMappings.append(value)
235
- return self
236
-
237
- def getSoftwareClusterToResourceMappings(self):
238
- return self.softwareClusterToResourceMappings
239
-
240
- def addSoftwareClusterToResourceMapping(self, value):
241
- self.softwareClusterToResourceMappings.append(value)
242
- return self
243
-
244
- def getSwClusterMappings(self):
245
- return self.swClusterMappings
246
-
247
- def addSwClusterMapping(self, value):
248
- self.swClusterMappings.append(value)
249
- return self
250
-
251
- def getSwcToApplicationPartitionMappings(self):
252
- return self.swcToApplicationPartitionMappings
253
-
254
- def addSwcToApplicationPartitionMappings(self, value):
255
- self.swcToApplicationPartitionMappings.append(value)
256
- return self
257
-
258
- def getSwImplMappings(self):
259
- return self.swImplMappings
260
-
261
- def createSwcToImplMapping(self, short_name: str) -> SwcToImplMapping:
262
- if short_name not in self.elements:
263
- mapping = SwcToImplMapping(self, short_name)
264
- self.addElement(mapping)
265
- self.swImplMappings.append(mapping)
266
- return self.getElement(short_name)
267
-
268
- def getSwMappings(self):
269
- return self.swMappings
270
-
271
- def getSwcToEcuMappings(self) -> List[SwcToEcuMapping]:
272
- return list(sorted(filter(lambda a: isinstance(a, SwcToEcuMapping), self.elements), key=lambda o: o.short_name))
273
-
274
- def createSwcToEcuMapping(self, short_name: str) -> SwcToEcuMapping:
275
- if short_name not in self.elements:
276
- mapping = SwcToEcuMapping(self, short_name)
277
- self.addElement(mapping)
278
- self.swMappings.append(mapping)
279
- return self.getElement(short_name)
280
-
281
- def getSystemSignalGroupToComResourceMappings(self):
282
- return self.systemSignalGroupToComResourceMappings
283
-
284
- def addSystemSignalGroupToComResourceMapping(self, value):
285
- self.systemSignalGroupToComResourceMappings.append(value)
286
- return self
287
-
288
- def getSystemSignalToComResourceMappings(self):
289
- return self.systemSignalToComResourceMappings
290
-
291
- def addSystemSignalToComResourceMapping(self, value):
292
- self.systemSignalToComResourceMappings.append(value)
293
- return self
294
-
295
-
296
- class RootSwCompositionPrototype(Identifiable):
297
- def __init__(self, parent: ARObject, short_name: str):
298
- super().__init__(parent, short_name)
299
-
300
- self.calibrationParameterValueSetRef = None # type: RefType
301
- self.flatMapRef = None # type: RefType
302
- self.softwareCompositionTRef = None # type: TRefType
303
-
304
- def getCalibrationParameterValueSetRef(self):
305
- return self.calibrationParameterValueSetRef
306
-
307
- def setCalibrationParameterValueSetRef(self, value):
308
- self.calibrationParameterValueSetRef = value
309
- return self
310
-
311
- def getFlatMapRef(self):
312
- return self.flatMapRef
313
-
314
- def setFlatMapRef(self, value):
315
- self.flatMapRef = value
316
- return self
317
-
318
- def getSoftwareCompositionTRef(self):
319
- return self.softwareCompositionTRef
320
-
321
- def setSoftwareCompositionTRef(self, value):
322
- self.softwareCompositionTRef = value
323
- return self
324
-
325
-
326
- class J1939SharedAddressCluster(Identifiable):
327
- def __init__(self, parent: ARObject, short_name: str):
328
- super().__init__(parent, short_name)
329
-
330
- self.participatingJ1939ClusterRefs = [] # type: List[RefType]
331
-
332
- def getParticipatingJ1939ClusterRefs(self):
333
- return self.participatingJ1939ClusterRefs
334
-
335
- def addParticipatingJ1939ClusterRef(self, value):
336
- if value is not None:
337
- self.participatingJ1939ClusterRefs.append(value)
338
- return self
339
-
340
-
341
- class System(ARElement):
342
- def __init__(self, parent: ARObject, short_name: str):
343
- super().__init__(parent, short_name)
344
-
345
- self.clientIdDefinitionSetRefs = [] # type: List[RefType]
346
- self.containerIPduHeaderByteOrder = None # type: ByteOrderEnum
347
- self.ecuExtractVersion = None # type: RevisionLabelString
348
- self.fibexElements = [] # type: List[RefType]
349
- self.interpolationRoutineMappingSetRefs = [] # type: List[RefType]
350
- self.j1939SharedAddressClusters = [] # type: List[J1939SharedAddressCluster]
351
- self.mappings = [] # type: List[SystemMapping]
352
- self.pncVectorLength = None # type: PositiveInteger
353
- self.pncVectorOffset = None # type: PositiveInteger
354
- self.rootSoftwareComposition = None # type: RootSwCompositionPrototype
355
- self.swClusterRefs = [] # type: List[RefType]
356
- self.systemDocumentation = [] # type: Chapter
357
- self.systemVersion = None # type: RevisionLabelString
358
-
359
- def getClientIdDefinitionSetRefs(self):
360
- return self.clientIdDefinitionSetRefs
361
-
362
- def addClientIdDefinitionSetRefs(self, value):
363
- self.clientIdDefinitionSetRefs.append(value)
364
- return self
365
-
366
- def getContainerIPduHeaderByteOrder(self):
367
- return self.containerIPduHeaderByteOrder
368
-
369
- def setContainerIPduHeaderByteOrder(self, value):
370
- self.containerIPduHeaderByteOrder = value
371
- return self
372
-
373
- def getEcuExtractVersion(self):
374
- return self.ecuExtractVersion
375
-
376
- def setEcuExtractVersion(self, value):
377
- self.ecuExtractVersion = value
378
- return self
379
-
380
- def getFibexElementRefs(self):
381
- # return sorted(self.fibexElements, key= lambda i: i.getShortValue())
382
- return self.fibexElements
383
-
384
- def addFibexElementRef(self, value):
385
- if value is not None:
386
- self.fibexElements.append(value)
387
- return self
388
-
389
- def getInterpolationRoutineMappingSetRefs(self):
390
- return self.interpolationRoutineMappingSetRefs
391
-
392
- def addInterpolationRoutineMappingSetRefs(self, value):
393
- self.interpolationRoutineMappingSetRefs.append(value)
394
- return self
395
-
396
- def getJ1939SharedAddressClusters(self):
397
- return self.j1939SharedAddressClusters
398
-
399
- def setJ1939SharedAddressClusters(self, value):
400
- self.j1939SharedAddressClusters.append(value)
401
- return self
402
-
403
- def getMappings(self) -> List[SystemMapping]:
404
- return list(sorted(filter(lambda a: isinstance(a, SystemMapping), self.elements), key=lambda o: o.short_name))
405
-
406
- def getSystemMappings(self) -> List[SystemMapping]:
407
- return list(sorted(filter(lambda a: isinstance(a, SystemMapping), self.elements), key=lambda o: o.short_name))
408
-
409
- def createSystemMapping(self, short_name) -> SystemMapping:
410
- if not self.IsElementExists(short_name):
411
- mapping = SystemMapping(self, short_name)
412
- self.addElement(mapping)
413
- return self.getElement(short_name, SystemMapping)
414
-
415
- def getPncVectorLength(self):
416
- return self.pncVectorLength
417
-
418
- def setPncVectorLength(self, value):
419
- self.pncVectorLength = value
420
- return self
421
-
422
- def getPncVectorOffset(self):
423
- return self.pncVectorOffset
424
-
425
- def setPncVectorOffset(self, value):
426
- self.pncVectorOffset = value
427
- return self
428
-
429
- def getRootSoftwareComposition(self):
430
- return self.rootSoftwareComposition
431
-
432
- def createRootSoftwareComposition(self, short_name) -> RootSwCompositionPrototype:
433
- if short_name not in self.elements:
434
- prototype = RootSwCompositionPrototype(self, short_name)
435
- self.addElement(prototype)
436
- self.rootSoftwareComposition = prototype
437
- return self.getElement(short_name)
438
-
439
- def getSwClusterRefs(self):
440
- return self.swClusterRefs
441
-
442
- def addSwClusterRef(self, value):
443
- self.swClusterRefs.append(value)
444
- return self
445
-
446
- def getSystemDocumentation(self):
447
- return self.systemDocumentation
448
-
449
- def setSystemDocumentation(self, value):
450
- self.systemDocumentation = value
451
- return self
452
-
453
- def getSystemVersion(self):
454
- return self.systemVersion
455
-
456
- def setSystemVersion(self, value):
457
- self.systemVersion = value
458
- return self
1
+ # This module contains AUTOSAR System Template classes for system-level modeling
2
+ # It defines system mappings, ECU mappings, and overall system structure
3
+
4
+ from typing import List
5
+
6
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpPrototype, AtpStructureElement
7
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.DataMapping import DataMapping
8
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.SecureCommunication import CryptoServiceMapping
9
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.RteEventToOsTaskMapping import AppOsTaskProxyToEcuTaskProxyMapping
10
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.ECUResourceMapping import ECUMapping
11
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
12
+ from armodel.models.M2.AUTOSARTemplates.SystemTemplate.SWmapping import ApplicationPartitionToEcuPartitionMapping, SwcToImplMapping
13
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
14
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
15
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ByteOrderEnum, PositiveInteger, RefType
16
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RevisionLabelString, TRefType
17
+
18
+
19
+ class SwcToEcuMapping(Identifiable):
20
+ """
21
+ Represents the mapping between software components and ECU instances
22
+ in the system, defining how components are assigned to specific
23
+ ECUs including hardware element and processing unit references.
24
+ """
25
+ def __init__(self, parent: ARObject, short_name: str):
26
+ super().__init__(parent, short_name)
27
+
28
+ self.componentIRefs: List[ComponentInSystemInstanceRef] = []
29
+ self.controlledHwElementRef: RefType = None
30
+ self.ecuInstanceRef: RefType = None
31
+ self.processingUnitRef: RefType = None
32
+
33
+ def getComponentIRefs(self):
34
+ return self.componentIRefs
35
+
36
+ def addComponentIRef(self, value):
37
+ self.componentIRefs.append(value)
38
+ return self
39
+
40
+ def getControlledHwElementRef(self):
41
+ return self.controlledHwElementRef
42
+
43
+ def setControlledHwElementRef(self, value):
44
+ self.controlledHwElementRef = value
45
+ return self
46
+
47
+ def getEcuInstanceRef(self):
48
+ return self.ecuInstanceRef
49
+
50
+ def setEcuInstanceRef(self, value):
51
+ self.ecuInstanceRef = value
52
+ return self
53
+
54
+ def getProcessingUnitRef(self):
55
+ return self.processingUnitRef
56
+
57
+ def setProcessingUnitRef(self, value):
58
+ self.processingUnitRef = value
59
+ return self
60
+
61
+
62
+ class ComManagementMapping(Identifiable):
63
+ """
64
+ Represents communication management mapping in the system,
65
+ defining how communication management groups and port groups
66
+ are mapped to physical communication channels.
67
+ """
68
+ def __init__(self, parent: ARObject, short_name: str):
69
+ super().__init__(parent, short_name)
70
+
71
+ self.comManagementGroupRefs: List[RefType] = []
72
+ self.comManagementPortGroupRefs: List[RefType] = []
73
+ self.physicalChannelRef: RefType = None
74
+
75
+ def getComManagementGroupRefs(self):
76
+ return self.comManagementGroupRefs
77
+
78
+ def addComManagementGroupRef(self, value):
79
+ if value is not None:
80
+ self.comManagementGroupRefs.append(value)
81
+ return self
82
+
83
+ def getComManagementPortGroupRefs(self):
84
+ return self.comManagementPortGroupRefs
85
+
86
+ def addComManagementPortGroupRef(self, value):
87
+ if value is not None:
88
+ self.comManagementPortGroupRefs.append(value)
89
+ return self
90
+
91
+ def getPhysicalChannelRef(self):
92
+ return self.physicalChannelRef
93
+
94
+ def setPhysicalChannelRef(self, value):
95
+ if value is not None:
96
+ self.physicalChannelRef = value
97
+ return self
98
+
99
+
100
+ class SystemMapping(Identifiable):
101
+ """
102
+ Represents system mapping in the AUTOSAR system, organizing
103
+ various types of mappings including application partition mappings,
104
+ ECU resource mappings, data mappings, and software component mappings
105
+ for comprehensive system configuration.
106
+ """
107
+ def __init__(self, parent: ARObject, short_name: str):
108
+ super().__init__(parent, short_name)
109
+
110
+ self.applicationPartitionToEcuPartitionMappings: List[ApplicationPartitionToEcuPartitionMapping] = []
111
+ self.appOsTaskProxyToEcuTaskProxyMappings: List[AppOsTaskProxyToEcuTaskProxyMapping] = []
112
+ self.comManagementMappings: List[ComManagementMapping] = []
113
+ self.cryptoServiceMappings: List[CryptoServiceMapping] = []
114
+ self.dataMappings: List[DataMapping] = []
115
+ self.ddsISignalToTopicMappings: List = []
116
+ self.ecuResourceMappings: List[ECUMapping] = []
117
+ self.j1939ControllerApplicationToJ1939NmNodeMappings: List = []
118
+ self.mappingConstraints: List = []
119
+ self.pncMappings: List = []
120
+ self.portElementToComResourceMappings: List = []
121
+ self.resourceEstimations: List = []
122
+ self.resourceToApplicationPartitionMappings: List = []
123
+ self.rteEventSeparations: List = []
124
+ self.rteEventToOsTaskProxyMappings: List = []
125
+ self.signalPathConstraints: List = []
126
+ self.softwareClusterToApplicationPartitionMappings: List = []
127
+ self.softwareClusterToResourceMappings: List = []
128
+ self.swClusterMappings: List = []
129
+ self.swcToApplicationPartitionMappings: List = []
130
+ self.swImplMappings: List[SwcToImplMapping] = []
131
+ self.swMappings: List[SwcToEcuMapping] = []
132
+ self.systemSignalGroupToComResourceMappings: List = []
133
+ self.systemSignalToComResourceMappings: List = []
134
+
135
+ def getApplicationPartitionToEcuPartitionMappings(self):
136
+ return self.applicationPartitionToEcuPartitionMappings
137
+
138
+ def addApplicationPartitionToEcuPartitionMapping(self, value):
139
+ self.applicationPartitionToEcuPartitionMappings.append(value)
140
+ return self
141
+
142
+ def getAppOsTaskProxyToEcuTaskProxyMappings(self):
143
+ return self.appOsTaskProxyToEcuTaskProxyMappings
144
+
145
+ def addAppOsTaskProxyToEcuTaskProxyMapping(self, value):
146
+ self.appOsTaskProxyToEcuTaskProxyMappings.append(value)
147
+ return self
148
+
149
+ def getComManagementMappings(self):
150
+ return self.comManagementMappings
151
+
152
+ def addComManagementMapping(self, value):
153
+ self.comManagementMappings.append(value)
154
+ return self
155
+
156
+ def getCryptoServiceMappings(self):
157
+ return self.cryptoServiceMappings
158
+
159
+ def addCryptoServiceMapping(self, value):
160
+ self.cryptoServiceMappings.append(value)
161
+ return self
162
+
163
+ def getDataMappings(self):
164
+ return self.dataMappings
165
+
166
+ def addDataMapping(self, value):
167
+ self.dataMappings.append(value)
168
+ return self
169
+
170
+ def getDdsISignalToTopicMapping(self):
171
+ return self.ddsISignalToTopicMappings
172
+
173
+ def addDdsISignalToTopicMapping(self, value):
174
+ self.ddsISignalToTopicMappings.append(value)
175
+ return self
176
+
177
+ def getEcuResourceMappings(self):
178
+ return self.ecuResourceMappings
179
+
180
+ def createECUMapping(self, short_name: str) -> ECUMapping:
181
+ if short_name not in self.elements:
182
+ mapping = ECUMapping(self, short_name)
183
+ self.addElement(mapping)
184
+ self.ecuResourceMappings.append(mapping)
185
+ return self.getElement(short_name)
186
+
187
+ def getJ1939ControllerApplicationToJ1939NmNodeMappings(self):
188
+ return self.j1939ControllerApplicationToJ1939NmNodeMappings
189
+
190
+ def addJ1939ControllerApplicationToJ1939NmNodeMapping(self, value):
191
+ self.j1939ControllerApplicationToJ1939NmNodeMappings.append(value)
192
+ return self
193
+
194
+ def getMappingConstraints(self):
195
+ return self.mappingConstraints
196
+
197
+ def addMappingConstraint(self, value):
198
+ self.mappingConstraints.append(value)
199
+ return self
200
+
201
+ def getPncMappings(self):
202
+ return self.pncMappings
203
+
204
+ def addPncMapping(self, value):
205
+ self.pncMappings.append(value)
206
+ return self
207
+
208
+ def getPortElementToComResourceMappings(self):
209
+ return self.portElementToComResourceMappings
210
+
211
+ def addPortElementToComResourceMapping(self, value):
212
+ self.portElementToComResourceMappings.append(value)
213
+ return self
214
+
215
+ def getResourceEstimations(self):
216
+ return self.resourceEstimations
217
+
218
+ def addResourceEstimation(self, value):
219
+ self.resourceEstimations.append(value)
220
+ return self
221
+
222
+ def getResourceToApplicationPartitionMappings(self):
223
+ return self.resourceToApplicationPartitionMappings
224
+
225
+ def addResourceToApplicationPartitionMapping(self, value):
226
+ self.resourceToApplicationPartitionMappings.append(value)
227
+ return self
228
+
229
+ def getRteEventSeparations(self):
230
+ return self.rteEventSeparations
231
+
232
+ def addRteEventSeparation(self, value):
233
+ self.rteEventSeparations.append(value)
234
+ return self
235
+
236
+ def getRteEventToOsTaskProxyMappings(self):
237
+ return self.rteEventToOsTaskProxyMappings
238
+
239
+ def addRteEventToOsTaskProxyMapping(self, value):
240
+ self.rteEventToOsTaskProxyMappings.append(value)
241
+ return self
242
+
243
+ def getSignalPathConstraints(self):
244
+ return self.signalPathConstraints
245
+
246
+ def addSignalPathConstraint(self, value):
247
+ self.signalPathConstraints.append(value)
248
+ return self
249
+
250
+ def getSoftwareClusterToApplicationPartitionMappings(self):
251
+ return self.softwareClusterToApplicationPartitionMappings
252
+
253
+ def addSoftwareClusterToApplicationPartitionMapping(self, value):
254
+ self.softwareClusterToApplicationPartitionMappings.append(value)
255
+ return self
256
+
257
+ def getSoftwareClusterToResourceMappings(self):
258
+ return self.softwareClusterToResourceMappings
259
+
260
+ def addSoftwareClusterToResourceMapping(self, value):
261
+ self.softwareClusterToResourceMappings.append(value)
262
+ return self
263
+
264
+ def getSwClusterMappings(self):
265
+ return self.swClusterMappings
266
+
267
+ def addSwClusterMapping(self, value):
268
+ self.swClusterMappings.append(value)
269
+ return self
270
+
271
+ def getSwcToApplicationPartitionMappings(self):
272
+ return self.swcToApplicationPartitionMappings
273
+
274
+ def addSwcToApplicationPartitionMappings(self, value):
275
+ self.swcToApplicationPartitionMappings.append(value)
276
+ return self
277
+
278
+ def getSwImplMappings(self):
279
+ return self.swImplMappings
280
+
281
+ def createSwcToImplMapping(self, short_name: str) -> SwcToImplMapping:
282
+ if short_name not in self.elements:
283
+ mapping = SwcToImplMapping(self, short_name)
284
+ self.addElement(mapping)
285
+ self.swImplMappings.append(mapping)
286
+ return self.getElement(short_name)
287
+
288
+ def getSwMappings(self):
289
+ return self.swMappings
290
+
291
+ def getSwcToEcuMappings(self) -> List[SwcToEcuMapping]:
292
+ return list(sorted(filter(lambda a: isinstance(a, SwcToEcuMapping), self.elements), key=lambda o: o.short_name))
293
+
294
+ def createSwcToEcuMapping(self, short_name: str) -> SwcToEcuMapping:
295
+ if short_name not in self.elements:
296
+ mapping = SwcToEcuMapping(self, short_name)
297
+ self.addElement(mapping)
298
+ self.swMappings.append(mapping)
299
+ return self.getElement(short_name)
300
+
301
+ def getSystemSignalGroupToComResourceMappings(self):
302
+ return self.systemSignalGroupToComResourceMappings
303
+
304
+ def addSystemSignalGroupToComResourceMapping(self, value):
305
+ self.systemSignalGroupToComResourceMappings.append(value)
306
+ return self
307
+
308
+ def getSystemSignalToComResourceMappings(self):
309
+ return self.systemSignalToComResourceMappings
310
+
311
+ def addSystemSignalToComResourceMapping(self, value):
312
+ self.systemSignalToComResourceMappings.append(value)
313
+ return self
314
+
315
+
316
+ class RootSwCompositionPrototype(AtpPrototype):
317
+ """
318
+ Represents the root software composition prototype in the system,
319
+ defining references to calibration parameter value sets, flat maps,
320
+ and software composition templates for the top-level composition.
321
+ """
322
+ def __init__(self, parent: ARObject, short_name: str):
323
+ super().__init__(parent, short_name)
324
+
325
+ self.calibrationParameterValueSetRef: RefType = None
326
+ self.flatMapRef: RefType = None
327
+ self.softwareCompositionTRef: TRefType = None
328
+
329
+ def getCalibrationParameterValueSetRef(self):
330
+ return self.calibrationParameterValueSetRef
331
+
332
+ def setCalibrationParameterValueSetRef(self, value):
333
+ self.calibrationParameterValueSetRef = value
334
+ return self
335
+
336
+ def getFlatMapRef(self):
337
+ return self.flatMapRef
338
+
339
+ def setFlatMapRef(self, value):
340
+ self.flatMapRef = value
341
+ return self
342
+
343
+ def getSoftwareCompositionTRef(self):
344
+ return self.softwareCompositionTRef
345
+
346
+ def setSoftwareCompositionTRef(self, value):
347
+ self.softwareCompositionTRef = value
348
+ return self
349
+
350
+
351
+ class J1939SharedAddressCluster(Identifiable):
352
+ """
353
+ Represents a J1939 shared address cluster in the system,
354
+ defining references to participating J1939 clusters for
355
+ shared address management in J1939 communication.
356
+ """
357
+ def __init__(self, parent: ARObject, short_name: str):
358
+ super().__init__(parent, short_name)
359
+
360
+ self.participatingJ1939ClusterRefs: List[RefType] = []
361
+
362
+ def getParticipatingJ1939ClusterRefs(self):
363
+ return self.participatingJ1939ClusterRefs
364
+
365
+ def addParticipatingJ1939ClusterRef(self, value):
366
+ if value is not None:
367
+ self.participatingJ1939ClusterRefs.append(value)
368
+ return self
369
+
370
+
371
+ class System(AtpStructureElement):
372
+ """
373
+ Represents the top-level system in the AUTOSAR system template,
374
+ organizing all system-level elements including ECU extractions,
375
+ mappings, and system configurations for complete system definition.
376
+ """
377
+ def __init__(self, parent: ARObject, short_name: str):
378
+ super().__init__(parent, short_name)
379
+
380
+ self.clientIdDefinitionSetRefs: List[RefType] = []
381
+ self.containerIPduHeaderByteOrder = None
382
+ self.ecuExtractVersion: RevisionLabelString = None
383
+ self.fibexElements: List[RefType] = []
384
+ self.interpolationRoutineMappingSetRefs: List[RefType] = []
385
+ self.j1939SharedAddressClusters: List[J1939SharedAddressCluster] = []
386
+ self.mappings: List[SystemMapping] = []
387
+ self.pncVectorLength: PositiveInteger = None
388
+ self.pncVectorOffset: PositiveInteger = None
389
+ self.rootSoftwareComposition: RootSwCompositionPrototype = None
390
+ self.swClusterRefs: List[RefType] = []
391
+ self.systemDocumentation = []
392
+ self.systemVersion: RevisionLabelString = None
393
+
394
+ def getClientIdDefinitionSetRefs(self):
395
+ return self.clientIdDefinitionSetRefs
396
+
397
+ def addClientIdDefinitionSetRefs(self, value):
398
+ self.clientIdDefinitionSetRefs.append(value)
399
+ return self
400
+
401
+ def getContainerIPduHeaderByteOrder(self):
402
+ return self.containerIPduHeaderByteOrder
403
+
404
+ def setContainerIPduHeaderByteOrder(self, value):
405
+ self.containerIPduHeaderByteOrder = value
406
+ return self
407
+
408
+ def getEcuExtractVersion(self):
409
+ return self.ecuExtractVersion
410
+
411
+ def setEcuExtractVersion(self, value):
412
+ self.ecuExtractVersion = value
413
+ return self
414
+
415
+ def getFibexElementRefs(self):
416
+ # return sorted(self.fibexElements, key= lambda i: i.getShortValue())
417
+ return self.fibexElements
418
+
419
+ def addFibexElementRef(self, value):
420
+ if value is not None:
421
+ self.fibexElements.append(value)
422
+ return self
423
+
424
+ def getInterpolationRoutineMappingSetRefs(self):
425
+ return self.interpolationRoutineMappingSetRefs
426
+
427
+ def addInterpolationRoutineMappingSetRefs(self, value):
428
+ self.interpolationRoutineMappingSetRefs.append(value)
429
+ return self
430
+
431
+ def getJ1939SharedAddressClusters(self):
432
+ return self.j1939SharedAddressClusters
433
+
434
+ def setJ1939SharedAddressClusters(self, value):
435
+ self.j1939SharedAddressClusters.append(value)
436
+ return self
437
+
438
+ def getMappings(self) -> List[SystemMapping]:
439
+ return list(sorted(filter(lambda a: isinstance(a, SystemMapping), self.elements), key=lambda o: o.short_name))
440
+
441
+ def getSystemMappings(self) -> List[SystemMapping]:
442
+ return list(sorted(filter(lambda a: isinstance(a, SystemMapping), self.elements), key=lambda o: o.short_name))
443
+
444
+ def createSystemMapping(self, short_name) -> SystemMapping:
445
+ if not self.IsElementExists(short_name):
446
+ mapping = SystemMapping(self, short_name)
447
+ self.addElement(mapping)
448
+ return self.getElement(short_name, SystemMapping)
449
+
450
+ def getPncVectorLength(self):
451
+ return self.pncVectorLength
452
+
453
+ def setPncVectorLength(self, value):
454
+ self.pncVectorLength = value
455
+ return self
456
+
457
+ def getPncVectorOffset(self):
458
+ return self.pncVectorOffset
459
+
460
+ def setPncVectorOffset(self, value):
461
+ self.pncVectorOffset = value
462
+ return self
463
+
464
+ def getRootSoftwareComposition(self):
465
+ return self.rootSoftwareComposition
466
+
467
+ def createRootSoftwareComposition(self, short_name) -> RootSwCompositionPrototype:
468
+ if short_name not in self.elements:
469
+ prototype = RootSwCompositionPrototype(self, short_name)
470
+ self.addElement(prototype)
471
+ self.rootSoftwareComposition = prototype
472
+ return self.getElement(short_name)
473
+
474
+ def getSwClusterRefs(self):
475
+ return self.swClusterRefs
476
+
477
+ def addSwClusterRef(self, value):
478
+ self.swClusterRefs.append(value)
479
+ return self
480
+
481
+ def getSystemDocumentation(self):
482
+ return self.systemDocumentation
483
+
484
+ def setSystemDocumentation(self, value):
485
+ self.systemDocumentation = value
486
+ return self
487
+
488
+ def getSystemVersion(self):
489
+ return self.systemVersion
490
+
491
+ def setSystemVersion(self, value):
492
+ self.systemVersion = value
493
+ return self