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,200 +1,586 @@
1
- from typing import List
2
-
3
- from ....M2.MSR.DataDictionary.ServiceProcessTask import SwServiceArg
4
- from ....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import ServiceNeeds
5
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable, Referrable
7
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, Boolean, Identifier, NameToken, RefType
8
- from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger
9
-
10
-
11
- class BswModuleDependency(Identifiable):
12
- def __init__(self, parent: ARObject, short_name: str):
13
- super().__init__(parent, short_name)
14
-
15
- self.serviceItems = [] # type: List[ServiceNeeds]
16
- self.targetModuleId = None # type: PositiveInteger
17
- self.targetModuleRef = None # type: RefType
18
-
19
- def getServiceItems(self):
20
- return self.serviceItems
21
-
22
- def setServiceItems(self, value):
23
- if value is not None:
24
- self.serviceItems = value
25
- return self
26
-
27
- def getTargetModuleId(self):
28
- return self.targetModuleId
29
-
30
- def setTargetModuleId(self, value):
31
- if value is not None:
32
- self.targetModuleId = value
33
- return self
34
-
35
- def getTargetModuleRef(self):
36
- return self.targetModuleRef
37
-
38
- def setTargetModuleRef(self, value):
39
- if value is not None:
40
- self.targetModuleRef = value
41
- return self
42
-
43
-
44
- class BswModuleEntry(ARElement):
45
- def __init__(self, parent: ARObject, short_name: str):
46
- super().__init__(parent, short_name)
47
-
48
- self.arguments = [] # type
49
- self.bswEntryKind = None # type: BswEntryKindEnum
50
- self.callType = None # type: BswCallType
51
- self.executionContext = None # type: BswExecutionContext
52
- self.functionPrototypeEmitter = None # type: NameToken
53
- self.isReentrant = None # type: Boolean
54
- self.isSynchronous = None # type: Boolean
55
- self.returnType = None # type: SwServiceArg
56
- self.role = None # type: Identifier
57
- self.serviceId = None # type: ARNumerical
58
- self.swServiceImplPolicy = None # type: SwServiceImplPolicyEnum
59
-
60
- def getArguments(self):
61
- return self.arguments
62
-
63
- def createArgument(self, short_name: str) -> SwServiceArg:
64
- if (short_name not in self.elements):
65
- arg = SwServiceArg(self, short_name)
66
- self.addElement(arg)
67
- self.arguments.append(arg)
68
- return self.getElement(short_name)
69
-
70
- def getBswEntryKind(self):
71
- return self.bswEntryKind
72
-
73
- def setBswEntryKind(self, value):
74
- self.bswEntryKind = value
75
- return self
76
-
77
- def getCallType(self):
78
- return self.callType
79
-
80
- def setCallType(self, value):
81
- self.callType = value
82
- return self
83
-
84
- def getExecutionContext(self):
85
- return self.executionContext
86
-
87
- def setExecutionContext(self, value):
88
- if value.upper() not in ("HOOK", "INTERRUPT-CAT-1", "INTERRUPT-CAT-2", "TASK", "UNSPECIFIED"):
89
- raise ValueError("Invalid execution context <%s> of BswModuleEntry <%s>" % (value, self.short_name))
90
- self.executionContext = value
91
- return self
92
-
93
- def getFunctionPrototypeEmitter(self):
94
- return self.functionPrototypeEmitter
95
-
96
- def setFunctionPrototypeEmitter(self, value):
97
- self.functionPrototypeEmitter = value
98
- return self
99
-
100
- def getIsReentrant(self):
101
- return self.isReentrant
102
-
103
- def setIsReentrant(self, value):
104
- self.isReentrant = value
105
- return self
106
-
107
- def getIsSynchronous(self):
108
- return self.isSynchronous
109
-
110
- def setIsSynchronous(self, value):
111
- self.isSynchronous = value
112
- return self
113
-
114
- def getReturnType(self):
115
- return self.returnType
116
-
117
- def createReturnType(self, short_name: str) -> SwServiceArg:
118
- if (short_name not in self.elements):
119
- arg = SwServiceArg(self, short_name)
120
- self.addElement(arg)
121
- self.returnType = arg
122
- return self.getElement(short_name)
123
-
124
- def getRole(self):
125
- return self.role
126
-
127
- def setRole(self, value):
128
- self.role = value
129
- return self
130
-
131
- def getServiceId(self):
132
- return self.serviceId
133
-
134
- def setServiceId(self, value):
135
- self.serviceId = value
136
- return self
137
-
138
- def getSwServiceImplPolicy(self):
139
- return self.swServiceImplPolicy
140
-
141
- def setSwServiceImplPolicy(self, value):
142
- if value.upper() not in ("INLINE", "INLINE-CONDITIONAL", "MACRO", "STANDARD"):
143
- raise ValueError("Invalid SwServiceImplPolicy <%s> of BswModuleEntry <%s>" % (value, self.short_name))
144
- self.swServiceImplPolicy = value
145
- return self
146
-
147
- def __str__(self) -> str:
148
- result = []
149
-
150
- result.append("short_name : %s" % self.short_name)
151
- if self.serviceId is not None:
152
- result.append("service_id : %d" % self.serviceId)
153
- if self.isReentrant is not None:
154
- result.append("is_reentrant : %s" % self.isReentrant)
155
- if self.isSynchronous is not None:
156
- result.append("is_synchronous : %s" % self.isSynchronous)
157
- if self.callType is not None:
158
- result.append("call_type : %s" % self.callType)
159
- if self.executionContext is not None:
160
- result.append("execution_context : %s" % self.executionContext)
161
- if self.swServiceImplPolicy is not None:
162
- result.append("sw_service_impl_policy : %s" % self.swServiceImplPolicy)
163
-
164
- return "\n".join(result)
165
-
166
-
167
- class BswModuleClientServerEntry(Referrable):
168
- def __init__(self, parent: ARObject, short_name: str):
169
- super().__init__(parent, short_name)
170
-
171
- self.encapsulatedEntryRef = None # type: RefType
172
- self.isReentrant = None # type: Boolean
173
- self.isSynchronous = None # type: Boolean
174
-
175
- def getEncapsulatedEntryRef(self):
176
- return self.encapsulatedEntryRef
177
-
178
- def setEncapsulatedEntryRef(self, value):
179
- if value is not None:
180
- self.encapsulatedEntryRef = value
181
- return self
182
-
183
- def getIsReentrant(self):
184
- return self.isReentrant
185
-
186
- def setIsReentrant(self, value):
187
- if value is not None:
188
- self.isReentrant = value
189
- return self
190
-
191
- def getIsSynchronous(self):
192
- return self.isSynchronous
193
-
194
- def setIsSynchronous(self, value):
195
- if value is not None:
196
- self.isSynchronous = value
197
- return self
198
-
199
-
200
-
1
+ """
2
+ This module contains classes for representing AUTOSAR Basic Software (BSW) interfaces.
3
+ BSW interfaces define how BSW modules interact with other software components,
4
+ including dependencies, module entries, and client-server interfaces.
5
+ """
6
+
7
+ from typing import List
8
+ from enum import Enum
9
+
10
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpBlueprintable
11
+ from armodel.models.M2.MSR.DataDictionary.ServiceProcessTask import SwServiceArg
12
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import ServiceNeeds
13
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
14
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable, Referrable
15
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, Boolean, Identifier, NameToken, RefType
16
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger
17
+
18
+
19
+ class BswEntryKindEnum(str, Enum):
20
+ """
21
+ Enumeration for BSW Entry Kind values.
22
+ Defines the types of entries that can exist in BSW modules.
23
+ """
24
+ # Function entry type for BSW module entries
25
+ FUNCTION = "FUNCTION"
26
+
27
+
28
+ class BswCallType(str, Enum):
29
+ """
30
+ Enumeration for BSW Call Type values.
31
+ Defines how BSW module entries can be called (synchronously or asynchronously).
32
+ """
33
+ # Synchronous call type - caller waits for completion
34
+ SYNCHRONOUS = "SYNCHRONOUS"
35
+ # Asynchronous call type - caller does not wait for completion
36
+ ASYNCHRONOUS = "ASYNCHRONOUS"
37
+
38
+
39
+ class BswExecutionContext(str, Enum):
40
+ """
41
+ Enumeration for BSW Execution Context values.
42
+ Defines where BSW module entries can execute in the system.
43
+ """
44
+ # Execution in a hook function context
45
+ HOOK = "HOOK"
46
+ # Execution in interrupt category 1 context (high priority)
47
+ INTERRUPT_CAT_1 = "INTERRUPT-CAT-1"
48
+ # Execution in interrupt category 2 context (medium priority)
49
+ INTERRUPT_CAT_2 = "INTERRUPT-CAT-2"
50
+ # Execution in a task context
51
+ TASK = "TASK"
52
+ # Execution context is unspecified
53
+ UNSPECIFIED = "UNSPECIFIED"
54
+
55
+
56
+ class SwServiceImplPolicyEnum(str, Enum):
57
+ """
58
+ Enumeration for SW Service Implementation Policy values.
59
+ Defines how software service implementations should be generated in code.
60
+ """
61
+ # Implementation should be inlined
62
+ INLINE = "INLINE"
63
+ # Implementation should be inlined conditionally based on configuration
64
+ INLINE_CONDITIONAL = "INLINE-CONDITIONAL"
65
+ # Implementation should be generated as a macro
66
+ MACRO = "MACRO"
67
+ # Standard implementation (not inlined)
68
+ STANDARD = "STANDARD"
69
+
70
+
71
+ class BswModuleDependency(Identifiable):
72
+ """
73
+ Represents a dependency relationship between BSW modules.
74
+ This class defines how one BSW module depends on services from another module.
75
+ """
76
+
77
+ def __init__(self, parent: ARObject, short_name: str):
78
+ """
79
+ Initializes the BSW module dependency with a parent and short name.
80
+
81
+ Args:
82
+ parent: The parent ARObject that contains this dependency
83
+ short_name: The unique short name of this dependency
84
+ """
85
+ super().__init__(parent, short_name)
86
+
87
+ # List of service needs that this dependency requires
88
+ self.serviceItems: List[ServiceNeeds] = []
89
+ # Unique identifier for the target module in the dependency
90
+ self.targetModuleId: PositiveInteger = None
91
+ # Reference to the target module in the dependency
92
+ self.targetModuleRef: RefType = None
93
+
94
+ def getServiceItems(self):
95
+ """
96
+ Gets the list of service needs that this dependency requires.
97
+
98
+ Returns:
99
+ List of ServiceNeeds instances
100
+ """
101
+ return self.serviceItems
102
+
103
+ def setServiceItems(self, value):
104
+ """
105
+ Sets the list of service needs that this dependency requires.
106
+ Only sets the value if it is not None.
107
+
108
+ Args:
109
+ value: List of ServiceNeeds instances to set
110
+
111
+ Returns:
112
+ self for method chaining
113
+ """
114
+ if value is not None:
115
+ self.serviceItems = value
116
+ return self
117
+
118
+ def getTargetModuleId(self):
119
+ """
120
+ Gets the unique identifier for the target module in the dependency.
121
+
122
+ Returns:
123
+ Positive integer representing the target module ID
124
+ """
125
+ return self.targetModuleId
126
+
127
+ def setTargetModuleId(self, value):
128
+ """
129
+ Sets the unique identifier for the target module in the dependency.
130
+ Only sets the value if it is not None.
131
+
132
+ Args:
133
+ value: The target module ID to set
134
+
135
+ Returns:
136
+ self for method chaining
137
+ """
138
+ if value is not None:
139
+ self.targetModuleId = value
140
+ return self
141
+
142
+ def getTargetModuleRef(self):
143
+ """
144
+ Gets the reference to the target module in the dependency.
145
+
146
+ Returns:
147
+ RefType to the target module
148
+ """
149
+ return self.targetModuleRef
150
+
151
+ def setTargetModuleRef(self, value):
152
+ """
153
+ Sets the reference to the target module in the dependency.
154
+ Only sets the value if it is not None.
155
+
156
+ Args:
157
+ value: The target module reference to set
158
+
159
+ Returns:
160
+ self for method chaining
161
+ """
162
+ if value is not None:
163
+ self.targetModuleRef = value
164
+ return self
165
+
166
+
167
+ class BswModuleEntry(AtpBlueprintable):
168
+ """
169
+ Represents an entry point in a BSW module.
170
+ This class defines how BSW module functions can be accessed and executed.
171
+ """
172
+
173
+ def __init__(self, parent: ARObject, short_name: str):
174
+ """
175
+ Initializes the BSW module entry with a parent and short name.
176
+
177
+ Args:
178
+ parent: The parent ARObject that contains this entry
179
+ short_name: The unique short name of this entry
180
+ """
181
+ super().__init__(parent, short_name)
182
+
183
+ # List of arguments for this module entry
184
+ self.arguments: List[SwServiceArg] = []
185
+ # Kind of BSW entry (e.g., FUNCTION)
186
+ self.bswEntryKind: BswEntryKindEnum = None
187
+ # Call type (synchronous or asynchronous)
188
+ self.callType: BswCallType = None
189
+ # Execution context where this entry runs
190
+ self.executionContext: BswExecutionContext = None
191
+ # Function prototype emitter name token
192
+ self.functionPrototypeEmitter: NameToken = None
193
+ # Flag indicating if this entry is reentrant (can be called concurrently)
194
+ self.isReentrant: Boolean = None
195
+ # Flag indicating if this entry is synchronous
196
+ self.isSynchronous: Boolean = None
197
+ # Return type of this entry
198
+ self.returnType: SwServiceArg = None
199
+ # Role identifier for this entry
200
+ self.role: Identifier = None
201
+ # Service identifier for this entry
202
+ self.serviceId: ARNumerical = None
203
+ # Software service implementation policy
204
+ self.swServiceImplPolicy: SwServiceImplPolicyEnum = None
205
+
206
+ def getArguments(self):
207
+ """
208
+ Gets the list of arguments for this module entry.
209
+
210
+ Returns:
211
+ List of SwServiceArg instances
212
+ """
213
+ return self.arguments
214
+
215
+ def createArgument(self, short_name: str) -> SwServiceArg:
216
+ """
217
+ Creates and adds an argument to this module entry.
218
+
219
+ Args:
220
+ short_name: The short name for the new argument
221
+
222
+ Returns:
223
+ The created SwServiceArg instance
224
+ """
225
+ if (short_name not in self.elements):
226
+ arg = SwServiceArg(self, short_name)
227
+ self.addElement(arg)
228
+ self.arguments.append(arg)
229
+ return self.getElement(short_name)
230
+
231
+ def getBswEntryKind(self):
232
+ """
233
+ Gets the kind of BSW entry.
234
+
235
+ Returns:
236
+ BswEntryKindEnum value
237
+ """
238
+ return self.bswEntryKind
239
+
240
+ def setBswEntryKind(self, value):
241
+ """
242
+ Sets the kind of BSW entry.
243
+
244
+ Args:
245
+ value: The BswEntryKindEnum value to set
246
+
247
+ Returns:
248
+ self for method chaining
249
+ """
250
+ self.bswEntryKind = value
251
+ return self
252
+
253
+ def getCallType(self):
254
+ """
255
+ Gets the call type for this module entry.
256
+
257
+ Returns:
258
+ BswCallType value
259
+ """
260
+ return self.callType
261
+
262
+ def setCallType(self, value):
263
+ """
264
+ Sets the call type for this module entry.
265
+
266
+ Args:
267
+ value: The BswCallType value to set
268
+
269
+ Returns:
270
+ self for method chaining
271
+ """
272
+ self.callType = value
273
+ return self
274
+
275
+ def getExecutionContext(self):
276
+ """
277
+ Gets the execution context for this module entry.
278
+
279
+ Returns:
280
+ BswExecutionContext value
281
+ """
282
+ return self.executionContext
283
+
284
+ def setExecutionContext(self, value):
285
+ """
286
+ Sets the execution context for this module entry.
287
+ Validates that the value is one of the allowed execution contexts.
288
+
289
+ Args:
290
+ value: The BswExecutionContext value to set
291
+
292
+ Returns:
293
+ self for method chaining
294
+
295
+ Raises:
296
+ ValueError: If the execution context is not valid
297
+ """
298
+ if value.upper() not in ("HOOK", "INTERRUPT-CAT-1", "INTERRUPT-CAT-2", "TASK", "UNSPECIFIED"):
299
+ raise ValueError("Invalid execution context <%s> of BswModuleEntry <%s>" % (value, self.short_name))
300
+ self.executionContext = value
301
+ return self
302
+
303
+ def getFunctionPrototypeEmitter(self):
304
+ """
305
+ Gets the function prototype emitter name token.
306
+
307
+ Returns:
308
+ NameToken for the function prototype emitter
309
+ """
310
+ return self.functionPrototypeEmitter
311
+
312
+ def setFunctionPrototypeEmitter(self, value):
313
+ """
314
+ Sets the function prototype emitter name token.
315
+
316
+ Args:
317
+ value: The NameToken to set
318
+
319
+ Returns:
320
+ self for method chaining
321
+ """
322
+ self.functionPrototypeEmitter = value
323
+ return self
324
+
325
+ def getIsReentrant(self):
326
+ """
327
+ Gets the reentrant flag for this module entry.
328
+
329
+ Returns:
330
+ Boolean indicating if this entry is reentrant
331
+ """
332
+ return self.isReentrant
333
+
334
+ def setIsReentrant(self, value):
335
+ """
336
+ Sets the reentrant flag for this module entry.
337
+
338
+ Args:
339
+ value: The reentrant flag to set
340
+
341
+ Returns:
342
+ self for method chaining
343
+ """
344
+ self.isReentrant = value
345
+ return self
346
+
347
+ def getIsSynchronous(self):
348
+ """
349
+ Gets the synchronous flag for this module entry.
350
+
351
+ Returns:
352
+ Boolean indicating if this entry is synchronous
353
+ """
354
+ return self.isSynchronous
355
+
356
+ def setIsSynchronous(self, value):
357
+ """
358
+ Sets the synchronous flag for this module entry.
359
+
360
+ Args:
361
+ value: The synchronous flag to set
362
+
363
+ Returns:
364
+ self for method chaining
365
+ """
366
+ self.isSynchronous = value
367
+ return self
368
+
369
+ def getReturnType(self):
370
+ """
371
+ Gets the return type for this module entry.
372
+
373
+ Returns:
374
+ SwServiceArg instance representing the return type
375
+ """
376
+ return self.returnType
377
+
378
+ def createReturnType(self, short_name: str) -> SwServiceArg:
379
+ """
380
+ Creates and sets the return type for this module entry.
381
+
382
+ Args:
383
+ short_name: The short name for the new return type
384
+
385
+ Returns:
386
+ The created SwServiceArg instance
387
+ """
388
+ if (short_name not in self.elements):
389
+ arg = SwServiceArg(self, short_name)
390
+ self.addElement(arg)
391
+ self.returnType = arg
392
+ return self.getElement(short_name)
393
+
394
+ def getRole(self):
395
+ """
396
+ Gets the role identifier for this module entry.
397
+
398
+ Returns:
399
+ Identifier for the role
400
+ """
401
+ return self.role
402
+
403
+ def setRole(self, value):
404
+ """
405
+ Sets the role identifier for this module entry.
406
+
407
+ Args:
408
+ value: The role identifier to set
409
+
410
+ Returns:
411
+ self for method chaining
412
+ """
413
+ self.role = value
414
+ return self
415
+
416
+ def getServiceId(self):
417
+ """
418
+ Gets the service identifier for this module entry.
419
+
420
+ Returns:
421
+ ARNumerical representing the service ID
422
+ """
423
+ return self.serviceId
424
+
425
+ def setServiceId(self, value):
426
+ """
427
+ Sets the service identifier for this module entry.
428
+
429
+ Args:
430
+ value: The service ID to set
431
+
432
+ Returns:
433
+ self for method chaining
434
+ """
435
+ self.serviceId = value
436
+ return self
437
+
438
+ def getSwServiceImplPolicy(self):
439
+ """
440
+ Gets the software service implementation policy for this module entry.
441
+
442
+ Returns:
443
+ SwServiceImplPolicyEnum value
444
+ """
445
+ return self.swServiceImplPolicy
446
+
447
+ def setSwServiceImplPolicy(self, value):
448
+ """
449
+ Sets the software service implementation policy for this module entry.
450
+ Validates that the value is one of the allowed implementation policies.
451
+
452
+ Args:
453
+ value: The SwServiceImplPolicyEnum value to set
454
+
455
+ Returns:
456
+ self for method chaining
457
+
458
+ Raises:
459
+ ValueError: If the implementation policy is not valid
460
+ """
461
+ if value.upper() not in ("INLINE", "INLINE-CONDITIONAL", "MACRO", "STANDARD"):
462
+ raise ValueError("Invalid SwServiceImplPolicy <%s> of BswModuleEntry <%s>" % (value, self.short_name))
463
+ self.swServiceImplPolicy = value
464
+ return self
465
+
466
+ def __str__(self) -> str:
467
+ """
468
+ Returns a string representation of this BSW module entry.
469
+ Shows the key properties of the entry in a formatted way.
470
+
471
+ Returns:
472
+ Formatted string representation of the BSW module entry
473
+ """
474
+ result = []
475
+
476
+ result.append("short_name : %s" % self.short_name)
477
+ if self.serviceId is not None:
478
+ result.append("service_id : %d" % self.serviceId.getValue())
479
+ if self.isReentrant is not None:
480
+ result.append("is_reentrant : %s" % self.isReentrant)
481
+ if self.isSynchronous is not None:
482
+ result.append("is_synchronous : %s" % self.isSynchronous)
483
+ if self.callType is not None:
484
+ result.append("call_type : %s" % self.callType)
485
+ if self.executionContext is not None:
486
+ result.append("execution_context : %s" % self.executionContext)
487
+ if self.swServiceImplPolicy is not None:
488
+ result.append("sw_service_impl_policy : %s" % self.swServiceImplPolicy)
489
+
490
+ return "\n".join(result)
491
+
492
+
493
+ class BswModuleClientServerEntry(Referrable):
494
+ """
495
+ Represents a client-server entry in a BSW module.
496
+ This class defines how BSW modules implement client-server communication patterns.
497
+ """
498
+
499
+ def __init__(self, parent: ARObject, short_name: str):
500
+ """
501
+ Initializes the BSW module client-server entry with a parent and short name.
502
+
503
+ Args:
504
+ parent: The parent ARObject that contains this client-server entry
505
+ short_name: The unique short name of this client-server entry
506
+ """
507
+ super().__init__(parent, short_name)
508
+
509
+ # Reference to the encapsulated entry that this client-server entry wraps
510
+ self.encapsulatedEntryRef: RefType = None
511
+ # Flag indicating if this client-server entry is reentrant
512
+ self.isReentrant: Boolean = None
513
+ # Flag indicating if this client-server entry is synchronous
514
+ self.isSynchronous: Boolean = None
515
+
516
+ def getEncapsulatedEntryRef(self):
517
+ """
518
+ Gets the reference to the encapsulated entry that this client-server entry wraps.
519
+
520
+ Returns:
521
+ RefType to the encapsulated entry
522
+ """
523
+ return self.encapsulatedEntryRef
524
+
525
+ def setEncapsulatedEntryRef(self, value):
526
+ """
527
+ Sets the reference to the encapsulated entry that this client-server entry wraps.
528
+ Only sets the value if it is not None.
529
+
530
+ Args:
531
+ value: The encapsulated entry reference to set
532
+
533
+ Returns:
534
+ self for method chaining
535
+ """
536
+ if value is not None:
537
+ self.encapsulatedEntryRef = value
538
+ return self
539
+
540
+ def getIsReentrant(self):
541
+ """
542
+ Gets the reentrant flag for this client-server entry.
543
+
544
+ Returns:
545
+ Boolean indicating if this entry is reentrant
546
+ """
547
+ return self.isReentrant
548
+
549
+ def setIsReentrant(self, value):
550
+ """
551
+ Sets the reentrant flag for this client-server entry.
552
+ Only sets the value if it is not None.
553
+
554
+ Args:
555
+ value: The reentrant flag to set
556
+
557
+ Returns:
558
+ self for method chaining
559
+ """
560
+ if value is not None:
561
+ self.isReentrant = value
562
+ return self
563
+
564
+ def getIsSynchronous(self):
565
+ """
566
+ Gets the synchronous flag for this client-server entry.
567
+
568
+ Returns:
569
+ Boolean indicating if this entry is synchronous
570
+ """
571
+ return self.isSynchronous
572
+
573
+ def setIsSynchronous(self, value):
574
+ """
575
+ Sets the synchronous flag for this client-server entry.
576
+ Only sets the value if it is not None.
577
+
578
+ Args:
579
+ value: The synchronous flag to set
580
+
581
+ Returns:
582
+ self for method chaining
583
+ """
584
+ if value is not None:
585
+ self.isSynchronous = value
586
+ return self