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