armodel 1.8.7__py3-none-any.whl → 1.9.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. armodel/__init__.py +19 -3
  2. armodel/cli/arxml_dump_cli.py +196 -197
  3. armodel/cli/arxml_format_cli.py +84 -84
  4. armodel/cli/connector2xlsx_cli.py +73 -73
  5. armodel/cli/connector_update_cli.py +73 -73
  6. armodel/cli/file_list_cli.py +69 -69
  7. armodel/cli/format_xml_cli.py +62 -62
  8. armodel/cli/memory_section_cli.py +74 -75
  9. armodel/cli/swc_list_cli.py +79 -79
  10. armodel/cli/system_signal_cli.py +73 -73
  11. armodel/cli/uuid_checker_cli.py +95 -95
  12. armodel/data_models/sw_connector.py +21 -21
  13. armodel/lib/__init__.py +4 -4
  14. armodel/lib/cli_args_parser.py +36 -35
  15. armodel/lib/sw_component.py +34 -35
  16. armodel/lib/system_signal.py +36 -36
  17. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRule.py +62 -0
  18. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRuleProps.py +83 -0
  19. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/StateDependentFirewall.py +62 -0
  20. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/__init__.py +5 -0
  21. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +3 -0
  22. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
  23. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure/__init__.py +320 -0
  24. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +315 -318
  25. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswAsynchronousServerCallReturnsEvent.py +27 -0
  26. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswExclusiveAreaPolicy.py +22 -0
  27. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswInterruptEvent.py +18 -0
  28. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeManagerErrorEvent.py +18 -0
  29. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeReceiverPolicy.py +22 -0
  30. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswSchedulerNamePrefix.py +26 -0
  31. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswServiceDependency.py +27 -0
  32. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswTriggerDirectImplementation.py +21 -0
  33. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/RoleBasedBswModuleEntryAssignment.py +35 -0
  34. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2223 -791
  35. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +180 -60
  36. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationship.py +26 -0
  37. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipEnum.py +24 -0
  38. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipSet.py +24 -0
  39. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +586 -200
  40. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/ModeInBswModuleDescriptionInstanceRef.py +17 -0
  41. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +445 -179
  42. armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
  43. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
  44. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
  45. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
  46. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
  47. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
  48. armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
  49. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
  50. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
  51. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
  52. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
  53. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
  54. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
  55. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
  56. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
  57. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
  58. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
  59. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
  60. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
  61. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
  62. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
  63. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
  64. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
  65. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
  66. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
  67. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
  68. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
  69. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
  70. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
  71. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
  72. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
  73. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
  74. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
  75. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
  76. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
  77. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
  78. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
  79. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
  80. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
  81. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
  82. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
  83. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
  84. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
  85. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
  86. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
  87. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
  88. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
  89. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
  90. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
  91. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
  92. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
  93. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
  94. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
  95. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
  96. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
  97. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
  98. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
  99. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
  100. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
  101. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
  102. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
  103. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
  104. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
  105. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
  106. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
  107. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
  108. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
  109. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
  110. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
  111. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
  112. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
  113. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
  114. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
  115. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
  116. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
  117. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
  118. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
  119. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
  120. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
  121. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
  122. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
  123. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
  124. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
  125. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
  126. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
  127. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
  128. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
  129. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
  130. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
  131. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
  132. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
  133. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
  134. armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
  135. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
  136. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
  137. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
  138. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
  139. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
  140. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
  141. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
  142. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
  143. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
  144. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
  145. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
  146. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
  147. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
  148. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
  149. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +784 -712
  150. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
  151. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
  152. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
  153. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
  154. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
  155. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
  156. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
  157. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
  158. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
  159. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
  160. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
  161. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
  162. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
  163. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
  164. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
  165. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
  166. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
  167. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
  168. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
  169. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
  170. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
  171. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
  172. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
  173. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
  174. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
  175. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +488 -489
  176. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
  177. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
  178. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
  179. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
  180. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
  181. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
  182. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
  183. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
  184. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
  185. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
  186. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
  187. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
  188. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
  189. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
  190. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
  191. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
  192. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
  193. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
  194. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
  195. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
  196. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
  197. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
  198. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
  199. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
  200. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
  201. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
  202. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
  203. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
  204. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
  205. armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
  206. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
  207. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
  208. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
  209. armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
  210. armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
  211. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
  212. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
  213. armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
  214. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
  215. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
  216. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
  217. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
  218. armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
  219. armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
  220. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
  221. armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
  222. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
  223. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
  224. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
  225. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
  226. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
  227. armodel/models/M2/MSR/Documentation/__init__.py +3 -3
  228. armodel/models/M2/MSR/documentation/__init__.py +3 -0
  229. armodel/models/__init__.py +86 -86
  230. armodel/models/utils/uuid_mgr.py +28 -29
  231. armodel/parser/__init__.py +2 -2
  232. armodel/parser/abstract_arxml_parser.py +323 -325
  233. armodel/parser/arxml_parser.py +5832 -5830
  234. armodel/parser/connector_xlsx_parser.py +192 -193
  235. armodel/parser/excel_parser.py +17 -17
  236. armodel/parser/file_parser.py +46 -46
  237. armodel/report/__init__.py +1 -1
  238. armodel/report/connector_xls_report.py +76 -77
  239. armodel/report/excel_report.py +41 -41
  240. armodel/transformer/abstract.py +6 -6
  241. armodel/transformer/admin_data.py +31 -31
  242. armodel/writer/__init__.py +1 -1
  243. armodel/writer/abstract_arxml_writer.py +146 -147
  244. armodel/writer/arxml_writer.py +5969 -5965
  245. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/METADATA +850 -662
  246. armodel-1.9.1.dist-info/RECORD +273 -0
  247. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/WHEEL +1 -1
  248. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/entry_points.txt +0 -1
  249. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info/licenses}/LICENSE +21 -21
  250. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  251. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  252. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  253. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  254. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  255. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  256. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  257. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  258. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  259. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  260. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  261. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  262. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  263. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  264. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  265. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  266. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
  267. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
  268. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  269. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  270. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  271. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  272. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  273. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  274. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  275. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  276. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  277. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  278. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  279. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  280. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  281. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  282. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  283. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  284. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  285. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  286. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  287. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  288. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  289. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  290. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  291. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  292. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  293. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  294. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  295. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  296. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  297. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  298. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  299. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  300. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  301. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  302. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  303. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  304. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  305. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  306. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  307. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  308. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  309. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  310. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  311. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  312. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  313. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  314. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  315. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  316. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  317. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  318. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  319. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  320. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  321. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  322. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  323. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  324. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  325. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  326. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  327. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  328. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  329. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  330. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  331. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  332. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  333. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  334. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  335. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  336. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  337. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  338. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  339. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  340. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  341. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  342. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  343. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  344. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  345. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  346. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  347. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  348. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  349. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  350. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  351. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  352. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  353. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  354. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  355. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  356. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  357. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  358. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  359. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  360. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  361. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  362. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  363. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  364. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  365. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  366. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  367. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  368. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  369. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  370. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  371. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  372. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  373. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  374. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  375. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  376. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  377. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  378. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  379. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  380. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  381. armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
  382. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  383. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  384. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  385. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  386. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  387. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  388. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  389. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  390. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  391. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  392. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  393. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  394. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  395. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  396. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  397. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  398. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  399. armodel/tests/__init__.py +0 -0
  400. armodel/tests/test_armodel/__init__.py +0 -0
  401. armodel/tests/test_armodel/models/__init__.py +0 -0
  402. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
  403. armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
  404. armodel/tests/test_armodel/models/test_ar_object.py +0 -154
  405. armodel/tests/test_armodel/models/test_ar_package.py +0 -304
  406. armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
  407. armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
  408. armodel/tests/test_armodel/models/test_common_structure.py +0 -82
  409. armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
  410. armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
  411. armodel/tests/test_armodel/models/test_datatype.py +0 -251
  412. armodel/tests/test_armodel/models/test_general_structure.py +0 -56
  413. armodel/tests/test_armodel/models/test_implementation.py +0 -27
  414. armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
  415. armodel/tests/test_armodel/models/test_port_interface.py +0 -202
  416. armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
  417. armodel/tests/test_armodel/parser/__init__.py +0 -0
  418. armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
  419. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
  420. armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
  421. armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
  422. armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
  423. armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
  424. armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
  425. armodel/tests/test_armodel/parser/test_system.py +0 -23
  426. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  427. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  428. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  429. armodel-1.8.7.dist-info/RECORD +0 -360
  430. {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/top_level.txt +0 -0
@@ -1,194 +1,193 @@
1
- from typing import Dict, List
2
- from openpyxl import Workbook
3
- from openpyxl.worksheet.worksheet import Worksheet
4
-
5
- import openpyxl
6
- import re
7
-
8
- from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
9
-
10
- from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
11
-
12
- from ..parser.excel_parser import AbstractExcelParser
13
- from ..data_models.sw_connector import AssemblySwConnectorData, DelegationSwConnectorData, SwConnectorData
14
- from ..models.ar_ref import PPortInCompositionInstanceRef, RPortInCompositionInstanceRef
15
- from ..models.sw_component import CompositionSwComponentType
16
- from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
17
-
18
- class ConnectorXls:
19
-
20
- COL_SHORT_NAME = 'Short Name'
21
- COL_INNER_SW_C = 'Inner SW-C'
22
- COL_INNER_PPORT = 'Inner PPort'
23
- COL_OUTER_PPORT = 'Outer PPort'
24
- COL_INNER_RPORT = 'Inner RPort'
25
- COL_OUTER_RPORT = 'Outer RPort'
26
-
27
- COL_PROVIDER_SW_C = "Provide SW-C"
28
- COL_PPORT = "PPort"
29
- COL_REQUESTER_SW_C = "Request SW-C"
30
- COL_RPORT = "RPort"
31
-
32
- class ConnectorXlsReader(AbstractExcelParser):
33
- def __init__(self) -> None:
34
- super().__init__()
35
-
36
- self.column_delegation_sw_connectors = {
37
- ConnectorXls.COL_SHORT_NAME: -1,
38
- ConnectorXls.COL_INNER_SW_C: -1,
39
- ConnectorXls.COL_INNER_PPORT: -1,
40
- ConnectorXls.COL_OUTER_PPORT: -1,
41
- ConnectorXls.COL_INNER_RPORT: -1,
42
- ConnectorXls.COL_OUTER_RPORT: -1,
43
- }
44
-
45
- self.column_assembly_sw_connectors = {
46
- ConnectorXls.COL_SHORT_NAME: -1,
47
- ConnectorXls.COL_PROVIDER_SW_C: -1,
48
- ConnectorXls.COL_PPORT: -1,
49
- ConnectorXls.COL_REQUESTER_SW_C: -1,
50
- ConnectorXls.COL_RPORT: -1,
51
- }
52
-
53
- self.sw_connectors = {} # type: Dict[str, List[DelegationSwConnectorData]]
54
-
55
-
56
- def getCompositionSwComponentList(self) -> List[str]:
57
- return self.sw_connectors.keys()
58
-
59
- def getSwConnectorList(self, swc: str) -> List[SwConnectorData]:
60
- if swc not in self.sw_connectors:
61
- self.sw_connectors[swc] = []
62
- return self.sw_connectors[swc]
63
- #return sorted(self.sw_connectors[swc], key = lambda o: o.short_name)
64
-
65
- def readDelegationSwConnectors(self, sheet: Worksheet, swc: str, start_row: int, column_list: Dict[str, int]):
66
- connectors = self.getSwConnectorList(swc)
67
- for row in sheet.iter_rows(min_row = start_row, values_only= True):
68
- connector = DelegationSwConnectorData()
69
- connector.short_name = row[column_list[ConnectorXls.COL_SHORT_NAME]]
70
- connector.inner_swc = row[column_list[ConnectorXls.COL_INNER_SW_C]]
71
- connector.inner_pport = row[column_list[ConnectorXls.COL_INNER_PPORT]]
72
- connector.inner_rport = row[column_list[ConnectorXls.COL_INNER_RPORT]]
73
- connector.outer_pport = row[column_list[ConnectorXls.COL_OUTER_PPORT]]
74
- connector.outer_rport = row[column_list[ConnectorXls.COL_OUTER_RPORT]]
75
- connectors.append(connector)
76
- self._logger.debug("ShortName: %s" % connector.short_name)
77
-
78
- def readAssemblySwConnectors(self, sheet: Worksheet, swc: str, start_row: int, column_list: Dict[str, int]):
79
- connectors = self.getSwConnectorList(swc)
80
- for row in sheet.iter_rows(min_row = start_row, values_only= True):
81
- connector = AssemblySwConnectorData()
82
- connector.short_name = row[column_list[ConnectorXls.COL_SHORT_NAME]]
83
- connector.provider_swc = row[column_list[ConnectorXls.COL_PROVIDER_SW_C]]
84
- connector.pport = row[column_list[ConnectorXls.COL_PPORT]]
85
- connector.requester_swc = row[column_list[ConnectorXls.COL_REQUESTER_SW_C]]
86
- connector.rport = row[column_list[ConnectorXls.COL_RPORT]]
87
- connectors.append(connector)
88
- self._logger.debug("ShortName: %s" % connector.short_name)
89
-
90
- def parseDelegationSWConnectors(self, sheet: Worksheet, swc: str):
91
- self._logger.debug("Parse all DelegationSwConnector of %s" % swc)
92
-
93
- self.getColumnTitles(sheet, 1, self.column_delegation_sw_connectors)
94
- self.checkColumnTitles(self.column_delegation_sw_connectors, "Invalid DelegationSwConnectors Excel and column <%s> cannot be located.")
95
- self.readDelegationSwConnectors(sheet, swc, 2, self.column_delegation_sw_connectors)
96
-
97
- def parseAssemblySWConnectors(self, sheet: Worksheet, swc: str):
98
- self._logger.debug("Parse all AssemblySwConnector of %s" % swc)
99
-
100
- self.getColumnTitles(sheet, 1, self.column_assembly_sw_connectors)
101
- self.checkColumnTitles(self.column_assembly_sw_connectors, "Invalid AssemblySwConnectors Excel and column <%s> cannot be located.")
102
- self.readAssemblySwConnectors(sheet, swc, 2, self.column_assembly_sw_connectors)
103
-
104
- def read(self, excel_file: str):
105
- self._logger.info("Parse excel file <%s>" % excel_file)
106
-
107
- wb = openpyxl.load_workbook(excel_file, data_only=True)
108
-
109
- for name in wb.sheetnames:
110
- m = re.match(r'(\w+)\s+-\s+(AC|DC)', name)
111
- if m:
112
- if m.group(2) == "DC":
113
- self.parseDelegationSWConnectors(wb[name], m.group(1))
114
- elif m.group(2) == "AC":
115
- self.parseAssemblySWConnectors(wb[name], m.group(1))
116
- else:
117
- raise ValueError("Invalid sheet")
118
-
119
- def _addAssemblySwConnector(self, swc: CompositionSwComponentType, connector: AssemblySwConnectorData):
120
- sw_connector = swc.createAssemblySwConnector(connector.short_name)
121
-
122
- sw_connector.provider_iref = PPortInCompositionInstanceRef()
123
- sw_connector.provider_iref.context_component_ref = RefType()
124
- sw_connector.provider_iref.target_p_port_ref = RefType()
125
- sw_connector.provider_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
126
- sw_connector.provider_iref.context_component_ref.value = connector.provider_swc
127
- sw_connector.provider_iref.target_p_port_ref.dest = "P-PORT-PROTOTYPE"
128
- sw_connector.provider_iref.target_p_port_ref.value = connector.pport
129
-
130
- sw_connector.requester_iref = RPortInCompositionInstanceRef()
131
- sw_connector.requester_iref.context_component_ref = RefType()
132
- sw_connector.requester_iref.target_r_port_ref = RefType()
133
- sw_connector.requester_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
134
- sw_connector.requester_iref.context_component_ref.value = connector.requester_swc
135
- sw_connector.requester_iref.target_r_port_ref.dest = "R-PORT-PROTOTYPE"
136
- sw_connector.requester_iref.target_r_port_ref.value = connector.rport
137
-
138
- def _addDelegationSwConnector(self, swc: CompositionSwComponentType, connector: DelegationSwConnectorData):
139
- sw_connector = swc.createDelegationSwConnector(connector.short_name)
140
- if connector.inner_pport is not None and connector.outer_pport is not None:
141
- sw_connector.inner_port_iref = PPortInCompositionInstanceRef()
142
- sw_connector.inner_port_iref.context_component_ref = RefType()
143
- sw_connector.inner_port_iref.target_p_port_ref = RefType()
144
- sw_connector.outer_port_ref = RefType()
145
- sw_connector.inner_port_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
146
- sw_connector.inner_port_iref.context_component_ref.value = connector.inner_swc
147
- sw_connector.inner_port_iref.target_p_port_ref.dest = "P-PORT-PROTOTYPE"
148
- sw_connector.inner_port_iref.target_p_port_ref.value = connector.inner_pport
149
- sw_connector.outer_port_ref.dest = "P-PORT-PROTOTYPE"
150
- sw_connector.outer_port_ref.value = connector.outer_pport
151
- elif connector.inner_rport is not None and connector.outer_rport is not None:
152
- sw_connector.inner_port_iref = RPortInCompositionInstanceRef()
153
- sw_connector.inner_port_iref.context_component_ref = RefType()
154
- sw_connector.inner_port_iref.target_r_port_ref = RefType()
155
- sw_connector.outer_port_ref = RefType()
156
- sw_connector.inner_port_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
157
- sw_connector.inner_port_iref.context_component_ref.value = connector.inner_swc
158
- sw_connector.inner_port_iref.target_r_port_ref.dest = "R-PORT-PROTOTYPE"
159
- sw_connector.inner_port_iref.target_r_port_ref.value = connector.inner_rport
160
- sw_connector.outer_port_ref.dest = "R-PORT-PROTOTYPE"
161
- sw_connector.outer_port_ref.value = connector.outer_rport
162
- else:
163
- raise ValueError("Invalid DelegationSwConnector Configuration")
164
-
165
-
166
- def _updateCompositionSwComponent(self, swc: CompositionSwComponentType):
167
- # remove all the sw connector first
168
- swc.removeAllAssemblySwConnector()
169
- swc.removeAllDelegationSwConnector()
170
-
171
- connectors = self.getSwConnectorList(swc.short_name)
172
-
173
- for connector in connectors:
174
- #self._logger.info("Update %s" % connector.short_name)
175
- if isinstance(connector, AssemblySwConnectorData):
176
- self._addAssemblySwConnector(swc, connector)
177
- elif isinstance(connector, DelegationSwConnectorData):
178
- self._addDelegationSwConnector(swc, connector)
179
- else:
180
- raise ValueError("Invalid connector information")
181
-
182
- def _locateCompositionSwComponent(self, swc_name: str, parent: ARPackage):
183
- for swc in parent.getSwComponentTypes():
184
- if swc.short_name == swc_name:
185
- self._updateCompositionSwComponent(swc)
186
- for pkg in parent.getARPackages():
187
- self._locateCompositionSwComponent(swc_name, pkg)
188
-
189
- def update(self, document: AUTOSAR):
190
- for name in self.getCompositionSwComponentList():
191
- for pkg in document.getARPackages():
192
- self._locateCompositionSwComponent(name, pkg)
193
-
1
+ from typing import Dict, List
2
+ from openpyxl.worksheet.worksheet import Worksheet
3
+
4
+ import openpyxl
5
+ import re
6
+
7
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
8
+
9
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
10
+
11
+ from armodel.parser.excel_parser import AbstractExcelParser
12
+ from armodel.data_models.sw_connector import AssemblySwConnectorData, DelegationSwConnectorData, SwConnectorData
13
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import PPortInCompositionInstanceRef, RPortInCompositionInstanceRef
14
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Composition import CompositionSwComponentType
15
+ from armodel.models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
16
+
17
+ class ConnectorXls:
18
+
19
+ COL_SHORT_NAME = 'Short Name'
20
+ COL_INNER_SW_C = 'Inner SW-C'
21
+ COL_INNER_PPORT = 'Inner PPort'
22
+ COL_OUTER_PPORT = 'Outer PPort'
23
+ COL_INNER_RPORT = 'Inner RPort'
24
+ COL_OUTER_RPORT = 'Outer RPort'
25
+
26
+ COL_PROVIDER_SW_C = "Provide SW-C"
27
+ COL_PPORT = "PPort"
28
+ COL_REQUESTER_SW_C = "Request SW-C"
29
+ COL_RPORT = "RPort"
30
+
31
+ class ConnectorXlsReader(AbstractExcelParser):
32
+ def __init__(self) -> None:
33
+ super().__init__()
34
+
35
+ self.column_delegation_sw_connectors = {
36
+ ConnectorXls.COL_SHORT_NAME: -1,
37
+ ConnectorXls.COL_INNER_SW_C: -1,
38
+ ConnectorXls.COL_INNER_PPORT: -1,
39
+ ConnectorXls.COL_OUTER_PPORT: -1,
40
+ ConnectorXls.COL_INNER_RPORT: -1,
41
+ ConnectorXls.COL_OUTER_RPORT: -1,
42
+ }
43
+
44
+ self.column_assembly_sw_connectors = {
45
+ ConnectorXls.COL_SHORT_NAME: -1,
46
+ ConnectorXls.COL_PROVIDER_SW_C: -1,
47
+ ConnectorXls.COL_PPORT: -1,
48
+ ConnectorXls.COL_REQUESTER_SW_C: -1,
49
+ ConnectorXls.COL_RPORT: -1,
50
+ }
51
+
52
+ self.sw_connectors = {} # type: Dict[str, List[DelegationSwConnectorData]]
53
+
54
+
55
+ def getCompositionSwComponentList(self) -> List[str]:
56
+ return self.sw_connectors.keys()
57
+
58
+ def getSwConnectorList(self, swc: str) -> List[SwConnectorData]:
59
+ if swc not in self.sw_connectors:
60
+ self.sw_connectors[swc] = []
61
+ return self.sw_connectors[swc]
62
+ #return sorted(self.sw_connectors[swc], key = lambda o: o.short_name)
63
+
64
+ def readDelegationSwConnectors(self, sheet: Worksheet, swc: str, start_row: int, column_list: Dict[str, int]):
65
+ connectors = self.getSwConnectorList(swc)
66
+ for row in sheet.iter_rows(min_row = start_row, values_only= True):
67
+ connector = DelegationSwConnectorData()
68
+ connector.short_name = row[column_list[ConnectorXls.COL_SHORT_NAME]]
69
+ connector.inner_swc = row[column_list[ConnectorXls.COL_INNER_SW_C]]
70
+ connector.inner_pport = row[column_list[ConnectorXls.COL_INNER_PPORT]]
71
+ connector.inner_rport = row[column_list[ConnectorXls.COL_INNER_RPORT]]
72
+ connector.outer_pport = row[column_list[ConnectorXls.COL_OUTER_PPORT]]
73
+ connector.outer_rport = row[column_list[ConnectorXls.COL_OUTER_RPORT]]
74
+ connectors.append(connector)
75
+ self._logger.debug("ShortName: %s" % connector.short_name)
76
+
77
+ def readAssemblySwConnectors(self, sheet: Worksheet, swc: str, start_row: int, column_list: Dict[str, int]):
78
+ connectors = self.getSwConnectorList(swc)
79
+ for row in sheet.iter_rows(min_row = start_row, values_only= True):
80
+ connector = AssemblySwConnectorData()
81
+ connector.short_name = row[column_list[ConnectorXls.COL_SHORT_NAME]]
82
+ connector.provider_swc = row[column_list[ConnectorXls.COL_PROVIDER_SW_C]]
83
+ connector.pport = row[column_list[ConnectorXls.COL_PPORT]]
84
+ connector.requester_swc = row[column_list[ConnectorXls.COL_REQUESTER_SW_C]]
85
+ connector.rport = row[column_list[ConnectorXls.COL_RPORT]]
86
+ connectors.append(connector)
87
+ self._logger.debug("ShortName: %s" % connector.short_name)
88
+
89
+ def parseDelegationSWConnectors(self, sheet: Worksheet, swc: str):
90
+ self._logger.debug("Parse all DelegationSwConnector of %s" % swc)
91
+
92
+ self.getColumnTitles(sheet, 1, self.column_delegation_sw_connectors)
93
+ self.checkColumnTitles(self.column_delegation_sw_connectors, "Invalid DelegationSwConnectors Excel and column <%s> cannot be located.")
94
+ self.readDelegationSwConnectors(sheet, swc, 2, self.column_delegation_sw_connectors)
95
+
96
+ def parseAssemblySWConnectors(self, sheet: Worksheet, swc: str):
97
+ self._logger.debug("Parse all AssemblySwConnector of %s" % swc)
98
+
99
+ self.getColumnTitles(sheet, 1, self.column_assembly_sw_connectors)
100
+ self.checkColumnTitles(self.column_assembly_sw_connectors, "Invalid AssemblySwConnectors Excel and column <%s> cannot be located.")
101
+ self.readAssemblySwConnectors(sheet, swc, 2, self.column_assembly_sw_connectors)
102
+
103
+ def read(self, excel_file: str):
104
+ self._logger.info("Parse excel file <%s>" % excel_file)
105
+
106
+ wb = openpyxl.load_workbook(excel_file, data_only=True)
107
+
108
+ for name in wb.sheetnames:
109
+ m = re.match(r'(\w+)\s+-\s+(AC|DC)', name)
110
+ if m:
111
+ if m.group(2) == "DC":
112
+ self.parseDelegationSWConnectors(wb[name], m.group(1))
113
+ elif m.group(2) == "AC":
114
+ self.parseAssemblySWConnectors(wb[name], m.group(1))
115
+ else:
116
+ raise ValueError("Invalid sheet")
117
+
118
+ def _addAssemblySwConnector(self, swc: CompositionSwComponentType, connector: AssemblySwConnectorData):
119
+ sw_connector = swc.createAssemblySwConnector(connector.short_name)
120
+
121
+ sw_connector.provider_iref = PPortInCompositionInstanceRef()
122
+ sw_connector.provider_iref.context_component_ref = RefType()
123
+ sw_connector.provider_iref.target_p_port_ref = RefType()
124
+ sw_connector.provider_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
125
+ sw_connector.provider_iref.context_component_ref.value = connector.provider_swc
126
+ sw_connector.provider_iref.target_p_port_ref.dest = "P-PORT-PROTOTYPE"
127
+ sw_connector.provider_iref.target_p_port_ref.value = connector.pport
128
+
129
+ sw_connector.requester_iref = RPortInCompositionInstanceRef()
130
+ sw_connector.requester_iref.context_component_ref = RefType()
131
+ sw_connector.requester_iref.target_r_port_ref = RefType()
132
+ sw_connector.requester_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
133
+ sw_connector.requester_iref.context_component_ref.value = connector.requester_swc
134
+ sw_connector.requester_iref.target_r_port_ref.dest = "R-PORT-PROTOTYPE"
135
+ sw_connector.requester_iref.target_r_port_ref.value = connector.rport
136
+
137
+ def _addDelegationSwConnector(self, swc: CompositionSwComponentType, connector: DelegationSwConnectorData):
138
+ sw_connector = swc.createDelegationSwConnector(connector.short_name)
139
+ if connector.inner_pport is not None and connector.outer_pport is not None:
140
+ sw_connector.inner_port_iref = PPortInCompositionInstanceRef()
141
+ sw_connector.inner_port_iref.context_component_ref = RefType()
142
+ sw_connector.inner_port_iref.target_p_port_ref = RefType()
143
+ sw_connector.outer_port_ref = RefType()
144
+ sw_connector.inner_port_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
145
+ sw_connector.inner_port_iref.context_component_ref.value = connector.inner_swc
146
+ sw_connector.inner_port_iref.target_p_port_ref.dest = "P-PORT-PROTOTYPE"
147
+ sw_connector.inner_port_iref.target_p_port_ref.value = connector.inner_pport
148
+ sw_connector.outer_port_ref.dest = "P-PORT-PROTOTYPE"
149
+ sw_connector.outer_port_ref.value = connector.outer_pport
150
+ elif connector.inner_rport is not None and connector.outer_rport is not None:
151
+ sw_connector.inner_port_iref = RPortInCompositionInstanceRef()
152
+ sw_connector.inner_port_iref.context_component_ref = RefType()
153
+ sw_connector.inner_port_iref.target_r_port_ref = RefType()
154
+ sw_connector.outer_port_ref = RefType()
155
+ sw_connector.inner_port_iref.context_component_ref.dest = "SW-COMPONENT-PROTOTYPE"
156
+ sw_connector.inner_port_iref.context_component_ref.value = connector.inner_swc
157
+ sw_connector.inner_port_iref.target_r_port_ref.dest = "R-PORT-PROTOTYPE"
158
+ sw_connector.inner_port_iref.target_r_port_ref.value = connector.inner_rport
159
+ sw_connector.outer_port_ref.dest = "R-PORT-PROTOTYPE"
160
+ sw_connector.outer_port_ref.value = connector.outer_rport
161
+ else:
162
+ raise ValueError("Invalid DelegationSwConnector Configuration")
163
+
164
+
165
+ def _updateCompositionSwComponent(self, swc: CompositionSwComponentType):
166
+ # remove all the sw connector first
167
+ swc.removeAllAssemblySwConnector()
168
+ swc.removeAllDelegationSwConnector()
169
+
170
+ connectors = self.getSwConnectorList(swc.short_name)
171
+
172
+ for connector in connectors:
173
+ #self._logger.info("Update %s" % connector.short_name)
174
+ if isinstance(connector, AssemblySwConnectorData):
175
+ self._addAssemblySwConnector(swc, connector)
176
+ elif isinstance(connector, DelegationSwConnectorData):
177
+ self._addDelegationSwConnector(swc, connector)
178
+ else:
179
+ raise ValueError("Invalid connector information")
180
+
181
+ def _locateCompositionSwComponent(self, swc_name: str, parent: ARPackage):
182
+ for swc in parent.getSwComponentTypes():
183
+ if swc.short_name == swc_name:
184
+ self._updateCompositionSwComponent(swc)
185
+ for pkg in parent.getARPackages():
186
+ self._locateCompositionSwComponent(swc_name, pkg)
187
+
188
+ def update(self, document: AUTOSAR):
189
+ for name in self.getCompositionSwComponentList():
190
+ for pkg in document.getARPackages():
191
+ self._locateCompositionSwComponent(name, pkg)
192
+
194
193
 
@@ -1,18 +1,18 @@
1
- from typing import Dict
2
- from openpyxl.worksheet.worksheet import Worksheet
3
-
4
- import logging
5
- class AbstractExcelParser:
6
- def __init__(self) -> None:
7
- self._logger = logging.getLogger()
8
-
9
- def getColumnTitles(self, sheet: Worksheet, title_row:int, column_list: Dict[str, int]):
10
- for column in range(1, sheet.max_column + 1):
11
- value = sheet.cell(title_row, column).value
12
- if value in column_list:
13
- column_list[value] = column - 1
14
-
15
- def checkColumnTitles(self, column_list: Dict[str, int], message: str):
16
- for key, value in column_list.items():
17
- if value == -1:
1
+ from typing import Dict
2
+ from openpyxl.worksheet.worksheet import Worksheet
3
+
4
+ import logging
5
+ class AbstractExcelParser:
6
+ def __init__(self) -> None:
7
+ self._logger = logging.getLogger()
8
+
9
+ def getColumnTitles(self, sheet: Worksheet, title_row:int, column_list: Dict[str, int]):
10
+ for column in range(1, sheet.max_column + 1):
11
+ value = sheet.cell(title_row, column).value
12
+ if value in column_list:
13
+ column_list[value] = column - 1
14
+
15
+ def checkColumnTitles(self, column_list: Dict[str, int], message: str):
16
+ for key, value in column_list.items():
17
+ if value == -1:
18
18
  raise ValueError(message % key)
@@ -1,46 +1,46 @@
1
- import logging
2
- import os
3
- import re
4
- from typing import List
5
-
6
- from colorama import Fore
7
-
8
-
9
- class FileListParser:
10
- '''
11
- FileListParser supports to collect the arxml files from the following rules
12
-
13
- '''
14
- def __init__(self) -> None:
15
- self.file_list = []
16
- self.logger = logging.getLogger()
17
-
18
- def get_file_list(self) -> List[str]:
19
- return self.file_list
20
-
21
- def parse_text_file(self, file):
22
- try:
23
- with open(file) as f_in:
24
- for line in f_in:
25
- if not line.startswith('#'):
26
- self.file_list.append(line.strip())
27
- except IOError:
28
- self.logger.error(Fore.RED + "No such file or directory: %s" % os.path.realpath(file) + Fore.WHITE)
29
-
30
- def parse_dir_files(self, dir_name):
31
- for (root, _, files) in os.walk(dir_name, topdown=False):
32
- for file in files:
33
- m = re.match(r'.*\.arxml$', file, re.I)
34
- if m:
35
- self.file_list.append(os.path.join(root, file))
36
-
37
- def parse(self, args: List[str]):
38
- for input_file in args:
39
- if os.path.isdir(input_file):
40
- self.parse_dir_files(input_file)
41
- else:
42
- if input_file[0] == "@":
43
- logging.debug("Parse ARXML list file %s " % input_file)
44
- self.parse_text_file(input_file[1:])
45
- else:
46
- self.file_list.append(input_file)
1
+ import logging
2
+ import os
3
+ import re
4
+ from typing import List
5
+
6
+ from colorama import Fore
7
+
8
+
9
+ class FileListParser:
10
+ '''
11
+ FileListParser supports to collect the arxml files from the following rules
12
+
13
+ '''
14
+ def __init__(self) -> None:
15
+ self.file_list = []
16
+ self.logger = logging.getLogger()
17
+
18
+ def get_file_list(self) -> List[str]:
19
+ return self.file_list
20
+
21
+ def parse_text_file(self, file):
22
+ try:
23
+ with open(file) as f_in:
24
+ for line in f_in:
25
+ if not line.startswith('#'):
26
+ self.file_list.append(line.strip())
27
+ except IOError:
28
+ self.logger.error(Fore.RED + "No such file or directory: %s" % os.path.realpath(file) + Fore.WHITE)
29
+
30
+ def parse_dir_files(self, dir_name):
31
+ for (root, _, files) in os.walk(dir_name, topdown=False):
32
+ for file in files:
33
+ m = re.match(r'.*\.arxml$', file, re.I)
34
+ if m:
35
+ self.file_list.append(os.path.join(root, file))
36
+
37
+ def parse(self, args: List[str]):
38
+ for input_file in args:
39
+ if os.path.isdir(input_file):
40
+ self.parse_dir_files(input_file)
41
+ else:
42
+ if input_file[0] == "@":
43
+ logging.debug("Parse ARXML list file %s " % input_file)
44
+ self.parse_text_file(input_file[1:])
45
+ else:
46
+ self.file_list.append(input_file)
@@ -1 +1 @@
1
- from .connector_xls_report import ConnectorXlsReport
1
+ from armodel.report.connector_xls_report import ConnectorXlsReport