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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. armodel/__init__.py +19 -3
  2. armodel/cli/arxml_dump_cli.py +196 -197
  3. armodel/cli/arxml_format_cli.py +84 -84
  4. armodel/cli/connector2xlsx_cli.py +73 -73
  5. armodel/cli/connector_update_cli.py +73 -73
  6. armodel/cli/file_list_cli.py +69 -69
  7. armodel/cli/format_xml_cli.py +62 -62
  8. armodel/cli/memory_section_cli.py +74 -75
  9. armodel/cli/swc_list_cli.py +79 -79
  10. armodel/cli/system_signal_cli.py +73 -73
  11. armodel/cli/uuid_checker_cli.py +95 -95
  12. armodel/data_models/sw_connector.py +21 -21
  13. armodel/lib/__init__.py +4 -4
  14. armodel/lib/cli_args_parser.py +36 -35
  15. armodel/lib/sw_component.py +34 -35
  16. armodel/lib/system_signal.py +36 -36
  17. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRule.py +62 -0
  18. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRuleProps.py +83 -0
  19. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/StateDependentFirewall.py +62 -0
  20. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/__init__.py +5 -0
  21. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +3 -0
  22. armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
  23. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure/__init__.py +320 -0
  24. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +315 -296
  25. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswAsynchronousServerCallReturnsEvent.py +27 -0
  26. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswExclusiveAreaPolicy.py +22 -0
  27. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswInterruptEvent.py +18 -0
  28. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeManagerErrorEvent.py +18 -0
  29. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeReceiverPolicy.py +22 -0
  30. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswSchedulerNamePrefix.py +26 -0
  31. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswServiceDependency.py +27 -0
  32. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswTriggerDirectImplementation.py +21 -0
  33. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/RoleBasedBswModuleEntryAssignment.py +35 -0
  34. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2223 -792
  35. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +180 -60
  36. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationship.py +26 -0
  37. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipEnum.py +24 -0
  38. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipSet.py +24 -0
  39. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +586 -200
  40. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/ModeInBswModuleDescriptionInstanceRef.py +17 -0
  41. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +445 -179
  42. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +0 -4
  43. armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
  44. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
  45. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
  46. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
  47. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
  48. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
  49. armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
  50. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
  51. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
  52. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
  53. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
  54. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
  55. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
  56. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
  57. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
  58. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
  59. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
  60. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
  61. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
  62. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
  63. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
  64. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
  65. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
  66. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
  67. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
  68. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
  69. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
  70. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
  71. armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
  72. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
  73. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
  74. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
  75. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
  76. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
  77. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
  78. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
  79. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
  80. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
  81. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
  82. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
  83. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
  84. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
  85. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
  86. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
  87. armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
  88. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
  89. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
  90. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
  91. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
  92. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
  93. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
  94. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
  95. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
  96. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
  97. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
  98. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
  99. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
  100. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
  101. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
  102. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
  103. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
  104. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
  105. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
  106. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
  107. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
  108. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
  109. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
  110. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
  111. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
  112. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
  113. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
  114. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
  115. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
  116. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
  117. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
  118. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
  119. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
  120. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
  121. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
  122. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
  123. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
  124. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
  125. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
  126. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
  127. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
  128. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
  129. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
  130. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
  131. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
  132. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
  133. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
  134. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
  135. armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
  136. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
  137. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
  138. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
  139. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
  140. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
  141. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
  142. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
  143. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
  144. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
  145. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
  146. armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
  147. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
  148. armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
  149. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
  150. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +784 -712
  151. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
  152. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
  153. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
  154. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
  155. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
  156. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
  157. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
  158. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
  159. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
  160. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
  161. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
  162. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
  163. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
  164. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
  165. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
  166. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
  167. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
  168. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
  169. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
  170. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
  171. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
  172. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
  173. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
  174. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
  175. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
  176. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +488 -489
  177. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
  178. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
  179. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
  180. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
  181. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
  182. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
  183. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
  184. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
  185. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
  186. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
  187. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
  188. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
  189. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
  190. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
  191. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
  192. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
  193. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
  194. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
  195. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
  196. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
  197. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
  198. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
  199. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
  200. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
  201. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
  202. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
  203. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
  204. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
  205. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
  206. armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
  207. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
  208. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
  209. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
  210. armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
  211. armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
  212. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
  213. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
  214. armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
  215. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
  216. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
  217. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
  218. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
  219. armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
  220. armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
  221. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
  222. armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
  223. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
  224. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
  225. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
  226. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
  227. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
  228. armodel/models/M2/MSR/Documentation/__init__.py +3 -3
  229. armodel/models/M2/MSR/documentation/__init__.py +3 -0
  230. armodel/models/__init__.py +86 -85
  231. armodel/models/utils/uuid_mgr.py +28 -29
  232. armodel/parser/__init__.py +2 -2
  233. armodel/parser/abstract_arxml_parser.py +323 -325
  234. armodel/parser/arxml_parser.py +5832 -5830
  235. armodel/parser/connector_xlsx_parser.py +192 -193
  236. armodel/parser/excel_parser.py +17 -17
  237. armodel/parser/file_parser.py +46 -46
  238. armodel/report/__init__.py +1 -1
  239. armodel/report/connector_xls_report.py +76 -77
  240. armodel/report/excel_report.py +41 -41
  241. armodel/transformer/abstract.py +6 -6
  242. armodel/transformer/admin_data.py +31 -31
  243. armodel/writer/__init__.py +1 -1
  244. armodel/writer/abstract_arxml_writer.py +146 -147
  245. armodel/writer/arxml_writer.py +5969 -5965
  246. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/METADATA +850 -656
  247. armodel-1.9.1.dist-info/RECORD +273 -0
  248. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/WHEEL +1 -1
  249. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/entry_points.txt +0 -1
  250. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info/licenses}/LICENSE +21 -21
  251. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  252. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  253. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  254. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  255. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  256. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  257. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  258. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  259. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  260. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  261. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  262. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  263. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  264. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  265. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  266. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  267. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
  268. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
  269. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  270. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  271. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  272. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  273. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  274. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  275. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  276. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  277. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  278. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  279. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  280. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  281. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  282. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  283. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  284. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  285. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  286. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  287. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  288. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  289. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  290. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  291. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  292. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  293. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  294. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  295. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  296. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  297. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  298. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  299. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  300. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  301. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  302. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  303. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  304. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  305. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  306. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  307. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  308. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  309. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  310. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  311. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  312. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  313. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  314. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  315. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  316. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  317. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  318. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  319. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  320. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  321. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  322. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  323. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  324. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  325. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  326. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  327. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  328. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  329. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  330. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  331. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  332. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  333. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  334. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  335. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  336. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  337. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  338. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  339. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  340. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  341. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  342. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  343. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  344. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  345. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  346. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  347. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  348. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  349. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  350. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  351. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  352. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  353. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  354. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  355. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  356. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  357. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  358. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  359. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  360. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  361. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  362. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  363. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  364. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  365. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  366. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  367. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  368. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  369. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  370. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  371. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  372. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  373. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  374. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  375. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  376. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  377. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  378. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  379. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  380. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  381. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  382. armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
  383. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  384. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  385. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  386. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  387. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  388. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  389. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  390. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  391. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  392. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  393. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  394. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  395. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  396. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  397. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  398. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  399. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  400. armodel/tests/__init__.py +0 -0
  401. armodel/tests/test_armodel/__init__.py +0 -0
  402. armodel/tests/test_armodel/models/__init__.py +0 -0
  403. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
  404. armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
  405. armodel/tests/test_armodel/models/test_ar_object.py +0 -154
  406. armodel/tests/test_armodel/models/test_ar_package.py +0 -304
  407. armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
  408. armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
  409. armodel/tests/test_armodel/models/test_common_structure.py +0 -82
  410. armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
  411. armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
  412. armodel/tests/test_armodel/models/test_datatype.py +0 -251
  413. armodel/tests/test_armodel/models/test_general_structure.py +0 -56
  414. armodel/tests/test_armodel/models/test_implementation.py +0 -27
  415. armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
  416. armodel/tests/test_armodel/models/test_port_interface.py +0 -202
  417. armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
  418. armodel/tests/test_armodel/parser/__init__.py +0 -0
  419. armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
  420. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
  421. armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
  422. armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
  423. armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
  424. armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
  425. armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
  426. armodel/tests/test_armodel/parser/test_system.py +0 -23
  427. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  428. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  429. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  430. armodel-1.8.6.dist-info/RECORD +0 -360
  431. {armodel-1.8.6.dist-info → armodel-1.9.1.dist-info}/top_level.txt +0 -0
@@ -1,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)