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,463 +1,363 @@
1
- from abc import ABCMeta
2
- from typing import List
3
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition import AssemblySwConnector, DelegationSwConnector, SwComponentPrototype, SwConnector
4
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import InnerPortGroupInCompositionInstanceRef
5
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior
6
- from .....M2.AUTOSARTemplates.CommonStructure.Implementation import ImplementationProps
7
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, ARElement
8
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
9
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TRefType
10
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, RefType
11
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
12
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Communication import NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec
13
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Communication import ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec
14
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Communication import RPortComSpec, ServerComSpec
15
-
16
-
17
- class SymbolProps(ImplementationProps):
18
- def __init__(self, parent: ARObject, short_name: str):
19
- super().__init__(parent, short_name)
20
-
21
-
22
- class PortPrototype(Identifiable):
23
- def __init__(self, parent: ARObject, short_name: str):
24
- super().__init__(parent, short_name)
25
-
26
- self.clientServerAnnotations = []
27
- self.delegatedPortAnnotation = None
28
- self.ioHwAbstractionServerAnnotations = []
29
- self.modePortAnnotations = []
30
- self.nvDataPortAnnotations = []
31
- self.parameterPortAnnotations = []
32
- self.senderReceiverAnnotations = []
33
- self.triggerPortAnnotations = []
34
-
35
- def getClientServerAnnotations(self):
36
- return self.clientServerAnnotations
37
-
38
- def addClientServerAnnotation(self, value):
39
- self.clientServerAnnotations.append(value)
40
- return self
41
-
42
- def getDelegatedPortAnnotation(self):
43
- return self.delegatedPortAnnotation
44
-
45
- def setDelegatedPortAnnotation(self, value):
46
- self.delegatedPortAnnotation = value
47
- return self
48
-
49
- def getIoHwAbstractionServerAnnotations(self):
50
- return self.ioHwAbstractionServerAnnotations
51
-
52
- def addIoHwAbstractionServerAnnotation(self, value):
53
- self.ioHwAbstractionServerAnnotations.append(value)
54
- return self
55
-
56
- def getModePortAnnotations(self):
57
- return self.modePortAnnotations
58
-
59
- def addModePortAnnotation(self, value):
60
- self.modePortAnnotations.append(value)
61
- return self
62
-
63
- def getNvDataPortAnnotations(self):
64
- return self.nvDataPortAnnotations
65
-
66
- def addNvDataPortAnnotation(self, value):
67
- self.nvDataPortAnnotations.append(value)
68
- return self
69
-
70
- def getParameterPortAnnotations(self):
71
- return self.parameterPortAnnotations
72
-
73
- def addParameterPortAnnotation(self, value):
74
- self.parameterPortAnnotations.append(value)
75
- return self
76
-
77
- def getSenderReceiverAnnotations(self):
78
- return self.senderReceiverAnnotations
79
-
80
- def addSenderReceiverAnnotation(self, value):
81
- self.senderReceiverAnnotations.append(value)
82
- return self
83
-
84
- def getTriggerPortAnnotations(self):
85
- return self.triggerPortAnnotations
86
-
87
- def addTriggerPortAnnotation(self, value):
88
- self.triggerPortAnnotations.append(value)
89
- return self
90
-
91
-
92
- class AbstractProvidedPortPrototype(PortPrototype):
93
- def __init__(self, parent: ARObject, short_name: str):
94
- super().__init__(parent, short_name)
95
-
96
- self.providedComSpecs = [] # type: List[PPortComSpec]
97
-
98
- def _validateRPortComSpec(self, com_spec: PPortComSpec):
99
- if isinstance(com_spec, NonqueuedSenderComSpec):
100
- if com_spec.dataElementRef is None:
101
- raise ValueError(
102
- "operation of NonqueuedSenderComSpec is invalid")
103
- if com_spec.dataElementRef.dest != "VARIABLE-DATA-PROTOTYPE":
104
- raise ValueError(
105
- "Invalid operation dest of NonqueuedSenderComSpec")
106
- elif isinstance(com_spec, ServerComSpec):
107
- pass
108
- elif isinstance(com_spec, QueuedSenderComSpec):
109
- pass
110
- elif isinstance(com_spec, ModeSwitchSenderComSpec):
111
- pass
112
- else:
113
- raise ValueError("Unsupported com spec")
114
-
115
- def addProvidedComSpec(self, com_spec):
116
- self._validateRPortComSpec(com_spec)
117
- self.providedComSpecs.append(com_spec)
118
-
119
- def getProvidedComSpecs(self) -> List[PPortComSpec]:
120
- return self.providedComSpecs
121
-
122
- def getNonqueuedSenderComSpecs(self) -> List[NonqueuedSenderComSpec]:
123
- return filter(lambda c: isinstance(c, NonqueuedSenderComSpec), self.providedComSpecs)
124
-
125
-
126
- class AbstractRequiredPortPrototype(PortPrototype):
127
- def __init__(self, parent: ARObject, short_name: str):
128
- super().__init__(parent, short_name)
129
-
130
- self.requiredComSpecs = [] # type: List[RPortComSpec]
131
-
132
- def _validateRPortComSpec(self, com_spec: RPortComSpec):
133
- if (isinstance(com_spec, ClientComSpec)):
134
- if com_spec.getOperationRef() is not None:
135
- if com_spec.getOperationRef().getDest() != "CLIENT-SERVER-OPERATION":
136
- raise ValueError("Invalid operation dest of ClientComSpec.")
137
- elif isinstance(com_spec, NonqueuedReceiverComSpec):
138
- if com_spec.getDataElementRef() is not None:
139
- if com_spec.getDataElementRef().getDest() != "VARIABLE-DATA-PROTOTYPE":
140
- raise ValueError("Invalid date element dest of NonqueuedReceiverComSpec.")
141
- elif isinstance(com_spec, QueuedReceiverComSpec):
142
- pass
143
- elif isinstance(com_spec, ModeSwitchReceiverComSpec):
144
- pass
145
- elif isinstance(com_spec, ParameterRequireComSpec):
146
- if com_spec.getParameterRef() is not None:
147
- if com_spec.getParameterRef().getDest() != "PARAMETER-DATA-PROTOTYPE":
148
- raise ValueError("Invalid parameter dest of ParameterRequireComSpec.")
149
- else:
150
- raise ValueError("Unsupported RPortComSpec <%s>" % type(com_spec))
151
-
152
- def addRequiredComSpec(self, com_spec: RPortComSpec):
153
- self._validateRPortComSpec(com_spec)
154
- self.requiredComSpecs.append(com_spec)
155
-
156
- def getRequiredComSpecs(self) -> List[RPortComSpec]:
157
- return self.requiredComSpecs
158
-
159
- def getClientComSpecs(self) -> List[ClientComSpec]:
160
- return filter(lambda c: isinstance(c, ClientComSpec), self.requiredComSpecs)
161
-
162
- def getNonqueuedReceiverComSpecs(self) -> List[NonqueuedReceiverComSpec]:
163
- return filter(lambda c: isinstance(c, NonqueuedReceiverComSpec), self.requiredComSpecs)
164
-
165
-
166
- class PPortPrototype(AbstractProvidedPortPrototype):
167
- def __init__(self, parent: ARObject, short_name: str):
168
- super().__init__(parent, short_name)
169
-
170
- self.providedInterfaceTRef = None # type: TRefType
171
-
172
- def getProvidedInterfaceTRef(self):
173
- return self.providedInterfaceTRef
174
-
175
- def setProvidedInterfaceTRef(self, value):
176
- self.providedInterfaceTRef = value
177
- return self
178
-
179
-
180
- class RPortPrototype(AbstractRequiredPortPrototype):
181
- def __init__(self, parent: ARObject, short_name: str):
182
- super().__init__(parent, short_name)
183
-
184
- self.mayBeUnconnected = None # type: ARBoolean
185
- self.requiredInterfaceTRef = None # type: TRefType
186
-
187
- def getMayBeUnconnected(self):
188
- return self.mayBeUnconnected
189
-
190
- def setMayBeUnconnected(self, value):
191
- self.mayBeUnconnected = value
192
- return self
193
-
194
- def getRequiredInterfaceTRef(self):
195
- return self.requiredInterfaceTRef
196
-
197
- def setRequiredInterfaceTRef(self, value):
198
- self.requiredInterfaceTRef = value
199
- return self
200
-
201
-
202
- class PRPortPrototype(PortPrototype):
203
- def __init__(self, parent, short_name):
204
- super().__init__(parent, short_name)
205
-
206
- self.providedComSpecs = [] # type: List[PPortComSpec]
207
- self.requiredComSpecs = [] # type: List[RPortComSpec]
208
- self.providedRequiredInterface = None # type: TRefType
209
-
210
- def getProvidedComSpecs(self):
211
- return self.providedComSpecs
212
-
213
- def addProvidedComSpec(self, value):
214
- self.providedComSpecs.append(value)
215
- return self
216
-
217
- def getRequiredComSpecs(self):
218
- return self.requiredComSpecs
219
-
220
- def addRequiredComSpec(self, value):
221
- self.requiredComSpecs.append(value)
222
- return self
223
-
224
- def getProvidedRequiredInterface(self):
225
- return self.providedRequiredInterface
226
-
227
- def setProvidedRequiredInterface(self, value):
228
- self.providedRequiredInterface = value
229
- return self
230
-
231
-
232
- class PortGroup(Identifiable):
233
- def __init__(self, parent: ARObject, short_name: str):
234
- super().__init__(parent, short_name)
235
-
236
- self._inner_group_iref = [] # type: List[InnerPortGroupInCompositionInstanceRef]
237
- self._outer_port_ref = [] # type: List[RefType]
238
-
239
- def addInnerGroupIRef(self, iref: InnerPortGroupInCompositionInstanceRef):
240
- self._inner_group_iref.append(iref)
241
-
242
- def getInnerGroupIRefs(self) -> List[InnerPortGroupInCompositionInstanceRef]:
243
- return self._inner_group_iref
244
-
245
- def addOuterPortRef(self, ref: RefType):
246
- self._outer_port_ref.append(ref)
247
-
248
- def getOuterPortRefs(self) -> List[RefType]:
249
- return self._outer_port_ref
250
-
251
-
252
- class SwComponentType(ARElement, metaclass=ABCMeta):
253
- def __init__(self, parent: ARObject, short_name: str):
254
- super().__init__(parent, short_name)
255
-
256
- self.ports = [] # type: List[PortPrototype]
257
- self.portGroups = [] # type: List[PortGroup]
258
-
259
- def getPorts(self):
260
- return self.ports
261
-
262
- def createPPortPrototype(self, short_name: str) -> PPortPrototype:
263
- prototype = PPortPrototype(self, short_name)
264
- self.addElement(prototype)
265
- self.ports.append(prototype)
266
- return prototype
267
-
268
- def createRPortPrototype(self, short_name) -> RPortPrototype:
269
- prototype = RPortPrototype(self, short_name)
270
- self.addElement(prototype)
271
- self.ports.append(prototype)
272
- return prototype
273
-
274
- def createPRPortPrototype(self, short_name) -> PRPortPrototype:
275
- prototype = PRPortPrototype(self, short_name)
276
- self.addElement(prototype)
277
- self.ports.append(prototype)
278
- return prototype
279
-
280
- def getPPortPrototypes(self) -> List[PPortPrototype]:
281
- return list(sorted(filter(lambda c: isinstance(c, PPortPrototype), self.ports), key=lambda o: o.short_name))
282
-
283
- def getRPortPrototypes(self) -> List[RPortPrototype]:
284
- return list(sorted(filter(lambda c: isinstance(c, RPortPrototype), self.ports), key=lambda o: o.short_name))
285
-
286
- def getPRPortPrototypes(self) -> List[PRPortPrototype]:
287
- return list(sorted(filter(lambda c: isinstance(c, PRPortPrototype), self.ports), key=lambda o: o.short_name))
288
-
289
- def getPortPrototypes(self) -> List[PortPrototype]:
290
- return list(sorted(filter(lambda c: isinstance(c, PortPrototype), self.ports), key=lambda o: o.short_name))
291
-
292
- def getPortGroups(self) -> List[PortGroup]:
293
- return self.portGroups
294
-
295
- def createPortGroup(self, short_name) -> PortGroup:
296
- port_group = PortGroup(self, short_name)
297
- self.addElement(port_group)
298
- self.portGroups.append(port_group)
299
- return port_group
300
-
301
-
302
- class AtomicSwComponentType(SwComponentType, metaclass=ABCMeta):
303
- def __init__(self, parent: ARObject, short_name: str):
304
- super().__init__(parent, short_name)
305
-
306
- self.internalBehavior: SwcInternalBehavior = None
307
- self.symbolProps: SymbolProps = None
308
-
309
- def getInternalBehavior(self):
310
- return self.internalBehavior
311
-
312
- def createSwcInternalBehavior(self, short_name) -> SwcInternalBehavior:
313
- if (not self.IsElementExists(short_name, SwcInternalBehavior)):
314
- behavior = SwcInternalBehavior(self, short_name)
315
- self.addElement(behavior)
316
- self.internalBehavior = behavior
317
- return self.getElement(short_name, SwcInternalBehavior)
318
-
319
- def getSymbolProps(self):
320
- return self.symbolProps
321
-
322
- def setSymbolProps(self, value):
323
- if value is not None:
324
- self.symbolProps = value
325
- return self
326
-
327
- '''
328
- @property
329
- def internal_behavior(self) -> SwcInternalBehavior:
330
- return next(filter(lambda e: isinstance(e, SwcInternalBehavior), self.elements))
331
- '''
332
-
333
-
334
- class EcuAbstractionSwComponentType(AtomicSwComponentType):
335
- def __init__(self, parent: ARObject, short_name: str):
336
- super().__init__(parent, short_name)
337
-
338
- self.hardwareElementRefs = [] # List[RefType]
339
-
340
- def getHardwareElementRefs(self):
341
- return self.hardwareElementRefs
342
-
343
- def addHardwareElementRefs(self, value):
344
- if value is not None:
345
- self.hardwareElementRefs.append(value)
346
- return self
347
-
348
-
349
- class ApplicationSwComponentType(AtomicSwComponentType):
350
- def __init__(self, parent: ARObject, short_name: str):
351
- super().__init__(parent, short_name)
352
-
353
-
354
- class ComplexDeviceDriverSwComponentType(AtomicSwComponentType):
355
- def __init__(self, parent: ARObject, short_name: str):
356
- super().__init__(parent, short_name)
357
-
358
- self.hardwareElementRefs = [] # List[RefType]
359
-
360
- def getHardwareElementRefs(self):
361
- return self.hardwareElementRefs
362
-
363
- def addHardwareElementRefs(self, value):
364
- if value is not None:
365
- self.hardwareElementRefs.append(value)
366
- return self
367
-
368
-
369
- class NvBlockSwComponentType(AtomicSwComponentType):
370
- def __init__(self, parent: ARObject, short_name: str):
371
- super().__init__(parent, short_name)
372
-
373
- self.bulkNvDataDescriptors = [] # type: List[BulkNvDataDescriptor]
374
- self.nvBlockDescriptors = [] # type: List[NvBlockDescriptor]
375
-
376
- def getBulkNvDataDescriptors(self):
377
- return self.bulkNvDataDescriptors
378
-
379
- def addBulkNvDataDescriptor(self, value):
380
- if value is not None:
381
- self.bulkNvDataDescriptors.append(value)
382
- return self
383
-
384
- def getNvBlockDescriptors(self):
385
- return self.nvBlockDescriptors
386
-
387
- def setNvBlockDescriptor(self, value):
388
- if value is not None:
389
- self.nvBlockDescriptors.append(value)
390
- return self
391
-
392
-
393
- class SensorActuatorSwComponentType(AtomicSwComponentType):
394
- def __init__(self, parent: ARObject, short_name: str):
395
- super().__init__(parent, short_name)
396
-
397
-
398
- class ServiceProxySwComponentType(AtomicSwComponentType):
399
- def __init__(self, parent: ARObject, short_name: str):
400
- super().__init__(parent, short_name)
401
-
402
-
403
- class ServiceSwComponentType(AtomicSwComponentType):
404
- def __init__(self, parent: ARObject, short_name: str):
405
- super().__init__(parent, short_name)
406
-
407
-
408
- class CompositionSwComponentType(SwComponentType):
409
- def __init__(self, parent: ARObject, short_name: str):
410
- super().__init__(parent, short_name)
411
-
412
- self.components = [] # type: List[SwComponentPrototype]
413
- self.constantValueMappingRefs = [] # type: List[RefType]
414
- self.dataTypeMappingRefs = [] # type: List[RefType]
415
- self.instantiationRTEEventProps = [] # type: List[InstantiationRTEEventProps]
416
-
417
- def removeAllAssemblySwConnector(self):
418
- for sw_connector in self.getAssemblySwConnectors():
419
- self.elements.remove(sw_connector)
420
-
421
- def removeAllDelegationSwConnector(self):
422
- for sw_connector in self.getDelegationSwConnectors():
423
- self.elements.remove(sw_connector)
424
-
425
- def createAssemblySwConnector(self, short_name: str) -> AssemblySwConnector:
426
- if not self.IsElementExists(short_name):
427
- connector = AssemblySwConnector(self, short_name)
428
- self.addElement(connector)
429
- return self.getElement(short_name, AssemblySwConnector)
430
-
431
- def createDelegationSwConnector(self, short_name: str) -> DelegationSwConnector:
432
- if not self.IsElementExists(short_name):
433
- connector = DelegationSwConnector(self, short_name)
434
- self.addElement(connector)
435
- return self.getElement(short_name, DelegationSwConnector)
436
-
437
- def getAssemblySwConnectors(self) -> List[AssemblySwConnector]:
438
- return list(sorted(filter(lambda e: isinstance(e, AssemblySwConnector), self.elements), key=lambda c: c.short_name))
439
-
440
- def getDelegationSwConnectors(self) -> List[DelegationSwConnector]:
441
- return list(sorted(filter(lambda e: isinstance(e, DelegationSwConnector), self.elements), key=lambda c: c.short_name))
442
-
443
- # def getSwConnectors(self) -> List[SwConnector]:
444
- # return list(sorted(filter(lambda e: isinstance(e, SwConnector), self.elements), key=lambda c: c.short_name))
445
-
446
- def getSwConnectors(self) -> List[SwConnector]:
447
- return list(filter(lambda e: isinstance(e, SwConnector), self.elements))
448
-
449
- def createSwComponentPrototype(self, short_name: str) -> SwComponentPrototype:
450
- if not self.IsElementExists(short_name):
451
- prototype = SwComponentPrototype(self, short_name)
452
- self.addElement(prototype)
453
- self.components.append(prototype)
454
- return self.getElement(short_name, SwComponentPrototype)
455
-
456
- def getComponents(self) -> List[SwComponentPrototype]:
457
- return self.components
458
-
459
- def addDataTypeMapping(self, data_type_mapping_ref: RefType):
460
- self.dataTypeMappingRefs.append(data_type_mapping_ref)
461
-
462
- def getDataTypeMappings(self) -> List[RefType]:
463
- return self.dataTypeMappingRefs
1
+ from abc import ABC
2
+ from typing import List
3
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpPrototype, AtpStructureElement
4
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwComponentType import SwComponentType
5
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Composition import AssemblySwConnector, DelegationSwConnector, SwComponentPrototype, SwConnector
6
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import InnerPortGroupInCompositionInstanceRef
7
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior
8
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.Implementation import ImplementationProps
9
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, ARElement
10
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
11
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TRefType
12
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, RefType
13
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
14
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec
15
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec
16
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import RPortComSpec, ServerComSpec
17
+
18
+
19
+ class SymbolProps(ImplementationProps):
20
+ def __init__(self, parent: ARObject, short_name: str):
21
+ super().__init__(parent, short_name)
22
+
23
+
24
+ class PortPrototype(AtpPrototype, ABC):
25
+ def __init__(self, parent: ARObject, short_name: str):
26
+ if type(self) is PortPrototype:
27
+ raise TypeError("PortPrototype is an abstract class.")
28
+ super().__init__(parent, short_name)
29
+
30
+ self.clientServerAnnotations = []
31
+ self.delegatedPortAnnotation = None
32
+ self.ioHwAbstractionServerAnnotations = []
33
+ self.modePortAnnotations = []
34
+ self.nvDataPortAnnotations = []
35
+ self.parameterPortAnnotations = []
36
+ self.senderReceiverAnnotations = []
37
+ self.triggerPortAnnotations = []
38
+
39
+ def getClientServerAnnotations(self):
40
+ return self.clientServerAnnotations
41
+
42
+ def addClientServerAnnotation(self, value):
43
+ self.clientServerAnnotations.append(value)
44
+ return self
45
+
46
+ def getDelegatedPortAnnotation(self):
47
+ return self.delegatedPortAnnotation
48
+
49
+ def setDelegatedPortAnnotation(self, value):
50
+ self.delegatedPortAnnotation = value
51
+ return self
52
+
53
+ def getIoHwAbstractionServerAnnotations(self):
54
+ return self.ioHwAbstractionServerAnnotations
55
+
56
+ def addIoHwAbstractionServerAnnotation(self, value):
57
+ self.ioHwAbstractionServerAnnotations.append(value)
58
+ return self
59
+
60
+ def getModePortAnnotations(self):
61
+ return self.modePortAnnotations
62
+
63
+ def addModePortAnnotation(self, value):
64
+ self.modePortAnnotations.append(value)
65
+ return self
66
+
67
+ def getNvDataPortAnnotations(self):
68
+ return self.nvDataPortAnnotations
69
+
70
+ def addNvDataPortAnnotation(self, value):
71
+ self.nvDataPortAnnotations.append(value)
72
+ return self
73
+
74
+ def getParameterPortAnnotations(self):
75
+ return self.parameterPortAnnotations
76
+
77
+ def addParameterPortAnnotation(self, value):
78
+ self.parameterPortAnnotations.append(value)
79
+ return self
80
+
81
+ def getSenderReceiverAnnotations(self):
82
+ return self.senderReceiverAnnotations
83
+
84
+ def addSenderReceiverAnnotation(self, value):
85
+ self.senderReceiverAnnotations.append(value)
86
+ return self
87
+
88
+ def getTriggerPortAnnotations(self):
89
+ return self.triggerPortAnnotations
90
+
91
+ def addTriggerPortAnnotation(self, value):
92
+ self.triggerPortAnnotations.append(value)
93
+ return self
94
+
95
+
96
+ class AbstractProvidedPortPrototype(PortPrototype):
97
+ def __init__(self, parent: ARObject, short_name: str):
98
+ if type(self) is AbstractProvidedPortPrototype:
99
+ raise TypeError("AbstractProvidedPortPrototype is an abstract class.")
100
+ super().__init__(parent, short_name)
101
+
102
+ self.providedComSpecs = [] # type: List[PPortComSpec]
103
+
104
+ def _validateRPortComSpec(self, com_spec: PPortComSpec):
105
+ if isinstance(com_spec, NonqueuedSenderComSpec):
106
+ if com_spec.dataElementRef is None:
107
+ raise ValueError(
108
+ "operation of NonqueuedSenderComSpec is invalid")
109
+ if com_spec.dataElementRef.dest != "VARIABLE-DATA-PROTOTYPE":
110
+ raise ValueError(
111
+ "Invalid operation dest of NonqueuedSenderComSpec")
112
+ elif isinstance(com_spec, ServerComSpec):
113
+ pass
114
+ elif isinstance(com_spec, QueuedSenderComSpec):
115
+ pass
116
+ elif isinstance(com_spec, ModeSwitchSenderComSpec):
117
+ pass
118
+ else:
119
+ raise ValueError("Unsupported com spec")
120
+
121
+ def addProvidedComSpec(self, com_spec):
122
+ self._validateRPortComSpec(com_spec)
123
+ self.providedComSpecs.append(com_spec)
124
+
125
+ def getProvidedComSpecs(self) -> List[PPortComSpec]:
126
+ return self.providedComSpecs
127
+
128
+ def getNonqueuedSenderComSpecs(self) -> List[NonqueuedSenderComSpec]:
129
+ return filter(lambda c: isinstance(c, NonqueuedSenderComSpec), self.providedComSpecs)
130
+
131
+
132
+ class AbstractRequiredPortPrototype(PortPrototype):
133
+ def __init__(self, parent: ARObject, short_name: str):
134
+ if type(self) is AbstractRequiredPortPrototype:
135
+ raise TypeError("AbstractRequiredPortPrototype is an abstract class.")
136
+ super().__init__(parent, short_name)
137
+
138
+ self.requiredComSpecs = [] # type: List[RPortComSpec]
139
+
140
+ def _validateRPortComSpec(self, com_spec: RPortComSpec):
141
+ if (isinstance(com_spec, ClientComSpec)):
142
+ if com_spec.getOperationRef() is not None:
143
+ if com_spec.getOperationRef().getDest() != "CLIENT-SERVER-OPERATION":
144
+ raise ValueError("Invalid operation dest of ClientComSpec.")
145
+ elif isinstance(com_spec, NonqueuedReceiverComSpec):
146
+ if com_spec.getDataElementRef() is not None:
147
+ if com_spec.getDataElementRef().getDest() != "VARIABLE-DATA-PROTOTYPE":
148
+ raise ValueError("Invalid date element dest of NonqueuedReceiverComSpec.")
149
+ elif isinstance(com_spec, QueuedReceiverComSpec):
150
+ pass
151
+ elif isinstance(com_spec, ModeSwitchReceiverComSpec):
152
+ pass
153
+ elif isinstance(com_spec, ParameterRequireComSpec):
154
+ if com_spec.getParameterRef() is not None:
155
+ if com_spec.getParameterRef().getDest() != "PARAMETER-DATA-PROTOTYPE":
156
+ raise ValueError("Invalid parameter dest of ParameterRequireComSpec.")
157
+ else:
158
+ raise ValueError("Unsupported RPortComSpec <%s>" % type(com_spec))
159
+
160
+ def addRequiredComSpec(self, com_spec: RPortComSpec):
161
+ self._validateRPortComSpec(com_spec)
162
+ self.requiredComSpecs.append(com_spec)
163
+
164
+ def getRequiredComSpecs(self) -> List[RPortComSpec]:
165
+ return self.requiredComSpecs
166
+
167
+ def getClientComSpecs(self) -> List[ClientComSpec]:
168
+ return filter(lambda c: isinstance(c, ClientComSpec), self.requiredComSpecs)
169
+
170
+ def getNonqueuedReceiverComSpecs(self) -> List[NonqueuedReceiverComSpec]:
171
+ return filter(lambda c: isinstance(c, NonqueuedReceiverComSpec), self.requiredComSpecs)
172
+
173
+
174
+ class PPortPrototype(AbstractProvidedPortPrototype):
175
+ def __init__(self, parent: ARObject, short_name: str):
176
+ super().__init__(parent, short_name)
177
+
178
+ self.providedInterfaceTRef = None # type: TRefType
179
+
180
+ def getProvidedInterfaceTRef(self):
181
+ return self.providedInterfaceTRef
182
+
183
+ def setProvidedInterfaceTRef(self, value):
184
+ self.providedInterfaceTRef = value
185
+ return self
186
+
187
+
188
+ class RPortPrototype(AbstractRequiredPortPrototype):
189
+ def __init__(self, parent: ARObject, short_name: str):
190
+ super().__init__(parent, short_name)
191
+
192
+ self.mayBeUnconnected = None # type: ARBoolean
193
+ self.requiredInterfaceTRef = None # type: TRefType
194
+
195
+ def getMayBeUnconnected(self):
196
+ return self.mayBeUnconnected
197
+
198
+ def setMayBeUnconnected(self, value):
199
+ self.mayBeUnconnected = value
200
+ return self
201
+
202
+ def getRequiredInterfaceTRef(self):
203
+ return self.requiredInterfaceTRef
204
+
205
+ def setRequiredInterfaceTRef(self, value):
206
+ self.requiredInterfaceTRef = value
207
+ return self
208
+
209
+
210
+ class PRPortPrototype(PortPrototype):
211
+ def __init__(self, parent, short_name):
212
+ super().__init__(parent, short_name)
213
+
214
+ self.providedComSpecs = [] # type: List[PPortComSpec]
215
+ self.requiredComSpecs = [] # type: List[RPortComSpec]
216
+ self.providedRequiredInterface = None # type: TRefType
217
+
218
+ def getProvidedComSpecs(self):
219
+ return self.providedComSpecs
220
+
221
+ def addProvidedComSpec(self, value):
222
+ self.providedComSpecs.append(value)
223
+ return self
224
+
225
+ def getRequiredComSpecs(self):
226
+ return self.requiredComSpecs
227
+
228
+ def addRequiredComSpec(self, value):
229
+ self.requiredComSpecs.append(value)
230
+ return self
231
+
232
+ def getProvidedRequiredInterface(self):
233
+ return self.providedRequiredInterface
234
+
235
+ def setProvidedRequiredInterface(self, value):
236
+ self.providedRequiredInterface = value
237
+ return self
238
+
239
+
240
+ class PortGroup(AtpStructureElement):
241
+ def __init__(self, parent: ARObject, short_name: str):
242
+ super().__init__(parent, short_name)
243
+
244
+ self._inner_group_iref = [] # type: List[InnerPortGroupInCompositionInstanceRef]
245
+ self._outer_port_ref = [] # type: List[RefType]
246
+
247
+ def addInnerGroupIRef(self, iref: InnerPortGroupInCompositionInstanceRef):
248
+ self._inner_group_iref.append(iref)
249
+
250
+ def getInnerGroupIRefs(self) -> List[InnerPortGroupInCompositionInstanceRef]:
251
+ return self._inner_group_iref
252
+
253
+ def addOuterPortRef(self, ref: RefType):
254
+ self._outer_port_ref.append(ref)
255
+
256
+ def getOuterPortRefs(self) -> List[RefType]:
257
+ return self._outer_port_ref
258
+
259
+
260
+ class AtomicSwComponentType(SwComponentType, ABC):
261
+ def __init__(self, parent: ARObject, short_name: str):
262
+ super().__init__(parent, short_name)
263
+
264
+ self.internalBehavior: SwcInternalBehavior = None
265
+ self.symbolProps: SymbolProps = None
266
+
267
+ def getInternalBehavior(self):
268
+ return self.internalBehavior
269
+
270
+ def createSwcInternalBehavior(self, short_name) -> SwcInternalBehavior:
271
+ if (not self.IsElementExists(short_name, SwcInternalBehavior)):
272
+ behavior = SwcInternalBehavior(self, short_name)
273
+ self.addElement(behavior)
274
+ self.internalBehavior = behavior
275
+ return self.getElement(short_name, SwcInternalBehavior)
276
+
277
+ def getSymbolProps(self):
278
+ return self.symbolProps
279
+
280
+ def setSymbolProps(self, value):
281
+ if value is not None:
282
+ self.symbolProps = value
283
+ return self
284
+
285
+ '''
286
+ @property
287
+ def internal_behavior(self) -> SwcInternalBehavior:
288
+ return next(filter(lambda e: isinstance(e, SwcInternalBehavior), self.elements))
289
+ '''
290
+
291
+
292
+ class EcuAbstractionSwComponentType(AtomicSwComponentType):
293
+ def __init__(self, parent: ARObject, short_name: str):
294
+ super().__init__(parent, short_name)
295
+
296
+ self.hardwareElementRefs = [] # List[RefType]
297
+
298
+ def getHardwareElementRefs(self):
299
+ return self.hardwareElementRefs
300
+
301
+ def addHardwareElementRefs(self, value):
302
+ if value is not None:
303
+ self.hardwareElementRefs.append(value)
304
+ return self
305
+
306
+
307
+ class ApplicationSwComponentType(AtomicSwComponentType):
308
+ def __init__(self, parent: ARObject, short_name: str):
309
+ super().__init__(parent, short_name)
310
+
311
+
312
+ class ComplexDeviceDriverSwComponentType(AtomicSwComponentType):
313
+ def __init__(self, parent: ARObject, short_name: str):
314
+ super().__init__(parent, short_name)
315
+
316
+ self.hardwareElementRefs = [] # List[RefType]
317
+
318
+ def getHardwareElementRefs(self):
319
+ return self.hardwareElementRefs
320
+
321
+ def addHardwareElementRefs(self, value):
322
+ if value is not None:
323
+ self.hardwareElementRefs.append(value)
324
+ return self
325
+
326
+
327
+ class NvBlockSwComponentType(AtomicSwComponentType):
328
+ def __init__(self, parent: ARObject, short_name: str):
329
+ super().__init__(parent, short_name)
330
+
331
+ self.bulkNvDataDescriptors = [] # type: List[BulkNvDataDescriptor]
332
+ self.nvBlockDescriptors = [] # type: List[NvBlockDescriptor]
333
+
334
+ def getBulkNvDataDescriptors(self):
335
+ return self.bulkNvDataDescriptors
336
+
337
+ def addBulkNvDataDescriptor(self, value):
338
+ if value is not None:
339
+ self.bulkNvDataDescriptors.append(value)
340
+ return self
341
+
342
+ def getNvBlockDescriptors(self):
343
+ return self.nvBlockDescriptors
344
+
345
+ def setNvBlockDescriptor(self, value):
346
+ if value is not None:
347
+ self.nvBlockDescriptors.append(value)
348
+ return self
349
+
350
+
351
+ class SensorActuatorSwComponentType(AtomicSwComponentType):
352
+ def __init__(self, parent: ARObject, short_name: str):
353
+ super().__init__(parent, short_name)
354
+
355
+
356
+ class ServiceProxySwComponentType(AtomicSwComponentType):
357
+ def __init__(self, parent: ARObject, short_name: str):
358
+ super().__init__(parent, short_name)
359
+
360
+
361
+ class ServiceSwComponentType(AtomicSwComponentType):
362
+ def __init__(self, parent: ARObject, short_name: str):
363
+ super().__init__(parent, short_name)