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,641 +1,647 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from .....M2.AUTOSARTemplates.CommonStructure import TextValueSpecification
5
- from .....M2.AUTOSARTemplates.CommonStructure.TriggerDeclaration import Trigger, TriggerMapping
6
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
7
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, ArgumentDirectionEnum, Boolean
9
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger
10
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype, AutosarDataPrototype
11
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
12
- from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype, ModeDeclarationGroupPrototypeMapping
13
- from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
14
- from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
15
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
16
-
17
-
18
- class PortInterface(AtpType, metaclass=ABCMeta):
19
- def __init__(self, parent: ARObject, short_name: str):
20
- if type(self) is PortInterface:
21
- raise NotImplementedError("PortInterface is an abstract class.")
22
- super().__init__(parent, short_name)
23
-
24
- self.isService = None # type: ARBoolean
25
- self.serviceKind = None # type: ARLiteral
26
-
27
- def getIsService(self):
28
- return self.isService
29
-
30
- def setIsService(self, value):
31
- self.isService = value
32
- return self
33
-
34
- def getServiceKind(self):
35
- return self.serviceKind
36
-
37
- def setServiceKind(self, value):
38
- self.serviceKind = value
39
- return self
40
-
41
-
42
- class DataInterface(PortInterface, metaclass=ABCMeta):
43
- def __init__(self, parent: ARObject, short_name: str):
44
- if type(self) is DataInterface:
45
- raise NotImplementedError("DataInterface is an abstract class.")
46
- super().__init__(parent, short_name)
47
-
48
-
49
- class NvDataInterface(DataInterface):
50
- def __init__(self, parent: ARObject, short_name: str):
51
- super().__init__(parent, short_name)
52
-
53
- self.nvDatas = [] # type: List[VariableDataPrototype]
54
-
55
- def getNvDatas(self):
56
- return self.nvDatas
57
-
58
- def setNvData(self, value):
59
- self.nvDatas.append(value)
60
- return self
61
-
62
-
63
- class ParameterInterface(DataInterface):
64
- def __init__(self, parent: ARObject, short_name: str):
65
- super().__init__(parent, short_name)
66
-
67
- self.parameters = [] # type: List[ParameterDataPrototype]
68
-
69
- def getParameters(self):
70
- return self.parameters
71
-
72
- def createParameterDataPrototype(self, short_name: str) -> ParameterDataPrototype:
73
- prototype = ParameterDataPrototype(self, short_name)
74
- self.addElement(prototype)
75
- self.parameters.append(prototype)
76
- return prototype
77
-
78
-
79
- class InvalidationPolicy(ARObject):
80
- def __init__(self):
81
- super().__init__()
82
-
83
- self.dataElementRef = None # type: RefType
84
- self.handleInvalid = None # type: ARLiteral
85
-
86
- def getDataElementRef(self):
87
- return self.dataElementRef
88
-
89
- def setDataElementRef(self, value):
90
- self.dataElementRef = value
91
- return self
92
-
93
- def getHandleInvalid(self):
94
- return self.handleInvalid
95
-
96
- def setHandleInvalid(self, value):
97
- self.handleInvalid = value
98
- return self
99
-
100
-
101
- class MetaDataItem(ARObject):
102
- def __init__(self):
103
- super().__init__()
104
-
105
- self.length = None # type: PositiveInteger
106
- self.metaDataItemType = None # type: TextValueSpecification
107
-
108
- def getLength(self):
109
- return self.length
110
-
111
- def setLength(self, value):
112
- self.length = value
113
- return self
114
-
115
- def getMetaDataItemType(self):
116
- return self.metaDataItemType
117
-
118
- def setMetaDataItemType(self, value):
119
- self.metaDataItemType = value
120
- return self
121
-
122
-
123
- class MetaDataItemSet(ARObject):
124
- def __init__(self):
125
- super().__init__()
126
-
127
- self.dataElementRefs = [] # type: List[RefType]
128
- self.metaDataItems = [] # type: List[MetaDataItem]
129
-
130
- def getDataElementRefs(self):
131
- return self.dataElementRefs
132
-
133
- def addDataElementRef(self, value):
134
- self.dataElementRefs.append(value)
135
- return self
136
-
137
- def getMetaDataItems(self):
138
- return self.metaDataItems
139
-
140
- def addMetaDataItem(self, value):
141
- self.metaDataItems.append(value)
142
- return self
143
-
144
-
145
- class SenderReceiverInterface(DataInterface):
146
- def __init__(self, parent: ARObject, short_name: str):
147
- super().__init__(parent, short_name)
148
-
149
- self.invalidationPolicies = [] # type: List[InvalidationPolicy]
150
- self.metaDataItemSets = [] # type: List[MetaDataItemSet]
151
-
152
- def getInvalidationPolicies(self):
153
- return self.invalidationPolicies
154
-
155
- def addInvalidationPolicy(self, value):
156
- self.invalidationPolicies.append(value)
157
- return self
158
-
159
- def getMetaDataItemSets(self):
160
- return self.metaDataItemSets
161
-
162
- def addMetaDataItemSet(self, value):
163
- self.metaDataItemSets.append(value)
164
- return self
165
-
166
- def createDataElement(self, short_name) -> VariableDataPrototype:
167
- if (not self.IsElementExists(short_name)):
168
- data_element = VariableDataPrototype(self, short_name)
169
- self.addElement(data_element)
170
- return self.getElement(short_name, VariableDataPrototype)
171
-
172
- def getDataElements(self) -> List[VariableDataPrototype]:
173
- return list(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements))
174
-
175
- def getDataElement(self, short_name) -> VariableDataPrototype:
176
- return self.getElement(short_name, VariableDataPrototype)
177
-
178
- def createInvalidationPolicy(self) -> InvalidationPolicy:
179
- policy = InvalidationPolicy(self)
180
- self.invalidationPolicies.append(policy)
181
- return policy
182
-
183
- def getInvalidationPolicys(self) -> List[InvalidationPolicy]:
184
- return list(filter(lambda c: isinstance(c, InvalidationPolicy), self.invalidationPolicies))
185
-
186
-
187
- class ArgumentDataPrototype(AutosarDataPrototype):
188
- def __init__(self, parent: ARObject, short_name: str):
189
- super().__init__(parent, short_name)
190
-
191
- self.direction: ArgumentDirectionEnum = None
192
- self.serverArgumentImplPolicy = None # type: ServerArgumentImplPolicyEnum
193
-
194
- def getDirection(self):
195
- return self.direction
196
-
197
- def setDirection(self, value):
198
- if value is not None:
199
- self.direction = value
200
- return self
201
-
202
- def getServerArgumentImplPolicy(self):
203
- return self.serverArgumentImplPolicy
204
-
205
- def setServerArgumentImplPolicy(self, value):
206
- if value is not None:
207
- self.serverArgumentImplPolicy = value
208
- return self
209
-
210
-
211
- class ApplicationError(Identifiable):
212
- def __init__(self, parent: ARObject, short_name: str):
213
- super().__init__(parent, short_name)
214
-
215
- self.error_code = None # type: ARNumerical
216
-
217
-
218
- class ClientServerOperation(AtpFeature):
219
- """
220
- An operation declared within the scope of a client/server interface.
221
- Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
222
- Base: ARObject, AtpClassifier , AtpFeature, AtpStructureElement, Identifiable, MultilanguageReferrable, Referrable
223
-
224
- Attributes:
225
- -----------
226
- _argument: ArgumentDataPrototype (optional)
227
- An argument of this ClientServerOperation
228
-
229
- _possibleError: RefType -> ApplicationError (optional)
230
- Possible errors that may by raised by the referring operation
231
-
232
- Methods:
233
- --------
234
- addArgumentDataPrototype add the argument
235
- getArgumentDataPrototypes get the arguments
236
- addPossibleErrorRef add the possible error
237
- getPossbileErrorRefs get the possible errors
238
-
239
- """
240
- def __init__(self, parent: ARObject, short_name: str):
241
- super().__init__(parent, short_name)
242
-
243
- self.arguments = [] # type: List[ArgumentDataPrototype]
244
- self.possibleErrorRefs = [] # type: List[RefType]
245
-
246
- def getArguments(self):
247
- return self.arguments
248
-
249
- def createArgumentDataPrototype(self, short_name):
250
- if not self.IsElementExists(short_name):
251
- prototype = ArgumentDataPrototype(self, short_name)
252
- self.addElement(prototype)
253
- self.arguments.append(prototype)
254
- return self.getElement(short_name)
255
-
256
- def getPossibleErrorRefs(self):
257
- return self.possibleErrorRefs
258
-
259
- def addPossibleErrorRef(self, value):
260
- if value is not None:
261
- self.possibleErrorRefs.append(value)
262
- return self
263
-
264
-
265
- class ClientServerInterface(PortInterface):
266
- """
267
- A client/server interface declares a number of operations that can be invoked on a server by a client.
268
- Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
269
- Base: ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier , AtpType, CollectableElement, Identifiable, MultilanguageReferrable,
270
- PackageableElement, PortInterface, Referrable
271
-
272
- Methods:
273
- --------
274
- createOperation create ClientServerOperation(s) of this ClientServerInterface.
275
- createApplicationError create Application errors that are defined as part of this interface
276
- getOperations get all ClientServerOperation(s) of this ClientServerInterface
277
- getPossibleErrors get all Application error(s) of this ClientServerInterface
278
-
279
- """
280
- def __init__(self, parent: ARObject, short_name: str):
281
- super().__init__(parent, short_name)
282
-
283
- def createOperation(self, short_name: str) -> ClientServerOperation:
284
- if (not self.IsElementExists(short_name)):
285
- operation = ClientServerOperation(self, short_name)
286
- self.addElement(operation)
287
- return self.getElement(short_name, ClientServerOperation)
288
-
289
- def createApplicationError(self, short_name: str) -> ApplicationError:
290
- if (not self.IsElementExists(short_name)):
291
- error = ApplicationError(self, short_name)
292
- self.addElement(error)
293
- return self.getElement(short_name, ApplicationError)
294
-
295
- def getOperations(self) -> List[ClientServerOperation]:
296
- return list(filter(lambda c: isinstance(c, ClientServerOperation), self.elements))
297
-
298
- def getPossibleErrors(self) -> List[ApplicationError]:
299
- return list(filter(lambda c: isinstance(c, ApplicationError), self.elements))
300
-
301
-
302
- class TriggerInterface(PortInterface):
303
- def __init__(self, parent: ARObject, short_name: str):
304
- super().__init__(parent, short_name)
305
-
306
- self._triggers = [] # type: Trigger
307
-
308
-
309
- class ModeSwitchInterface(PortInterface):
310
- def __init__(self, parent: ARObject, short_name: str):
311
- super().__init__(parent, short_name)
312
-
313
- self._modeGroup = [] # type: List[ModeDeclarationGroupPrototype]
314
-
315
- def createModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
316
- if not self.IsElementExists(short_name):
317
- prototype = ModeDeclarationGroupPrototype(self, short_name)
318
- self.addElement(prototype)
319
- return self.getElement(short_name, ModeDeclarationGroupPrototype)
320
-
321
- def getModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
322
- return list(sorted(filter(lambda c: isinstance(c, ModeDeclarationGroupPrototype), self.elements), key=lambda o: o.short_name))
323
-
324
-
325
- class PortInterfaceMapping(Identifiable, metaclass=ABCMeta):
326
- def __init__(self, parent: ARObject, short_name: str):
327
- if type(self) is PortInterfaceMapping:
328
- raise NotImplementedError("PortInterfaceMapping is an abstract class.")
329
- super().__init__(parent, short_name)
330
-
331
-
332
- class ClientServerApplicationErrorMapping(ARObject):
333
- def __init__(self):
334
- super().__init__()
335
-
336
- self.firstApplicationErrorRef = None # type: RefType
337
- self.secondApplicationErrorRef = None # type: RefType
338
-
339
- def getFirstApplicationErrorRef(self):
340
- return self.firstApplicationErrorRef
341
-
342
- def setFirstApplicationErrorRef(self, value):
343
- self.firstApplicationErrorRef = value
344
- return self
345
-
346
- def getSecondApplicationErrorRef(self):
347
- return self.secondApplicationErrorRef
348
-
349
- def setSecondApplicationErrorRef(self, value):
350
- self.secondApplicationErrorRef = value
351
- return self
352
-
353
-
354
- class ClientServerOperationMapping(ARObject):
355
- def __init__(self):
356
- super().__init__()
357
-
358
- self.argumentMappings = [] # type: List[DataPrototypeMapping]
359
- self.firstOperationRef = None # type: RefType
360
- self.firstToSecondDataTransformationRef = None # type: RefType
361
- self.secondOperationRef = None # type: RefType
362
-
363
- def getArgumentMappings(self):
364
- return self.argumentMappings
365
-
366
- def addArgumentMapping(self, value):
367
- self.argumentMappings.append(value)
368
- return self
369
-
370
- def getFirstOperationRef(self):
371
- return self.firstOperationRef
372
-
373
- def setFirstOperationRef(self, value):
374
- self.firstOperationRef = value
375
- return self
376
-
377
- def getFirstToSecondDataTransformationRef(self):
378
- return self.firstToSecondDataTransformationRef
379
-
380
- def setFirstToSecondDataTransformationRef(self, value):
381
- self.firstToSecondDataTransformationRef = value
382
- return self
383
-
384
- def getSecondOperationRef(self):
385
- return self.secondOperationRef
386
-
387
- def setSecondOperationRef(self, value):
388
- self.secondOperationRef = value
389
- return self
390
-
391
-
392
- class DataPrototypeMapping(ARObject):
393
- def __init__(self):
394
- super().__init__()
395
-
396
- self.firstDataPrototypeRef = None # type: RefType
397
- self.firstToSecondDataTransformationRef = None # type: RefType
398
- self.secondDataPrototypeRef = None # type: RefType
399
- self.secondToFirstDataTransformationRef = None # type: RefType
400
- self.subElementMappings = [] # type: List[SubElementMapping]
401
- self.textTableMappings = [] # type: List[TextTableMapping]
402
-
403
- def getFirstDataPrototypeRef(self):
404
- return self.firstDataPrototypeRef
405
-
406
- def setFirstDataPrototypeRef(self, value):
407
- self.firstDataPrototypeRef = value
408
- return self
409
-
410
- def getFirstToSecondDataTransformationRef(self):
411
- return self.firstToSecondDataTransformationRef
412
-
413
- def setFirstToSecondDataTransformationRef(self, value):
414
- self.firstToSecondDataTransformationRef = value
415
- return self
416
-
417
- def getSecondDataPrototypeRef(self):
418
- return self.secondDataPrototypeRef
419
-
420
- def setSecondDataPrototypeRef(self, value):
421
- self.secondDataPrototypeRef = value
422
- return self
423
-
424
- def getSecondToFirstDataTransformationRef(self):
425
- return self.secondToFirstDataTransformationRef
426
-
427
- def setSecondToFirstDataTransformationRef(self, value):
428
- self.secondToFirstDataTransformationRef = value
429
- return self
430
-
431
- def getSubElementMappings(self):
432
- return self.subElementMappings
433
-
434
- def setSubElementMappings(self, value):
435
- self.subElementMappings = value
436
- return self
437
-
438
- def getTextTableMappings(self):
439
- return self.textTableMappings
440
-
441
- def setTextTableMappings(self, value):
442
- self.textTableMappings = value
443
- return self
444
-
445
-
446
- class ClientServerInterfaceMapping(PortInterfaceMapping):
447
- def __init__(self, parent: ARObject, short_name: str):
448
- super().__init__(parent, short_name)
449
-
450
- self.errorMappings = [] # type: List[ClientServerApplicationErrorMapping]
451
- self.operationMappings = [] # type: List[ClientServerOperationMapping]
452
-
453
- def getErrorMappings(self):
454
- return self.errorMappings
455
-
456
- def addErrorMapping(self, value):
457
- if value is not None:
458
- self.errorMappings.append(value)
459
- return self
460
-
461
- def getOperationMappings(self):
462
- return self.operationMappings
463
-
464
- def addOperationMapping(self, value):
465
- if value is not None:
466
- self.operationMappings.append(value)
467
- return self
468
-
469
-
470
- class VariableAndParameterInterfaceMapping(PortInterfaceMapping):
471
- def __init__(self, parent: ARObject, short_name: str):
472
- super().__init__(parent, short_name)
473
-
474
- self.dataMappings = [] # type: List[DataPrototypeMapping]
475
-
476
- def getDataMappings(self):
477
- return self.dataMappings
478
-
479
- def addDataMapping(self, value):
480
- self.dataMappings.append(value)
481
- return self
482
-
483
-
484
- class ModeInterfaceMapping(PortInterfaceMapping):
485
- def __init__(self, parent: ARObject, short_name: str):
486
- super().__init__(parent, short_name)
487
-
488
- self.modeMapping = None # type: ModeDeclarationGroupPrototypeMapping
489
-
490
- def getModeMapping(self):
491
- return self.modeMapping
492
-
493
- def setModeMapping(self, value):
494
- if value is not None:
495
- self.modeMapping = value
496
- return self
497
-
498
-
499
- class TriggerInterfaceMapping(PortInterfaceMapping):
500
- def __init__(self, parent: ARObject, short_name: str):
501
- super().__init__(parent, short_name)
502
-
503
- self.triggerMapping: List[TriggerMapping] = []
504
-
505
- def getTriggerMapping(self) -> List[TriggerMapping]:
506
- return self.triggerMapping
507
-
508
- def setTriggerMapping(self, value: List[TriggerMapping]):
509
- if value is not None:
510
- self.triggerMapping = value
511
- return self
512
-
513
-
514
- class ModeDeclarationMapping(Identifiable):
515
- def __init__(self, parent: ARObject, short_name: str):
516
- super().__init__(parent, short_name)
517
-
518
- self.firstModeRefs: List[RefType] = []
519
- self.secondModeRef: RefType = []
520
-
521
- def getFirstModeRefs(self) -> List[RefType]:
522
- return self.firstModeRefs
523
-
524
- def addFirstModeRef(self, value: List[RefType]):
525
- if value is not None:
526
- self.firstModeRefs.append(value)
527
- return self
528
-
529
- def getSecondModeRef(self) -> RefType:
530
- return self.secondModeRef
531
-
532
- def setSecondModeRef(self, value: RefType):
533
- if value is not None:
534
- self.secondModeRef = value
535
- return self
536
-
537
-
538
- class ModeDeclarationMappingSet(ARElement):
539
- def __init__(self, parent: ARObject, short_name: str):
540
- super().__init__(parent, short_name)
541
-
542
- self.modeDeclarationMappings: List[ModeDeclarationMapping] = []
543
-
544
- def getModeDeclarationMappings(self) -> List[ModeDeclarationMapping]:
545
- return self.modeDeclarationMappings
546
-
547
- def createModeDeclarationMapping(self, short_name: str) -> ModeDeclarationMapping:
548
- if (not self.IsElementExists(short_name)):
549
- mapping = ModeDeclarationMapping(self, short_name)
550
- self.addElement(mapping)
551
- self.modeDeclarationMappings.append(mapping)
552
- return self.getElement(short_name)
553
-
554
-
555
- class PortInterfaceMappingSet(ARElement):
556
- def __init__(self, parent: ARObject, short_name: str):
557
- super().__init__(parent, short_name)
558
-
559
- self.portInterfaceMappings = [] # type: List[PortInterfaceMapping]
560
-
561
- def getPortInterfaceMappings(self):
562
- return self.portInterfaceMappings
563
-
564
- def createVariableAndParameterInterfaceMapping(self, short_name: str):
565
- if (not self.IsElementExists(short_name)):
566
- mapping = VariableAndParameterInterfaceMapping(self, short_name)
567
- self.addElement(mapping)
568
- self.portInterfaceMappings.append(mapping)
569
- return self.getElement(short_name)
570
-
571
- def createClientServerInterfaceMapping(self, short_name: str):
572
- if (not self.IsElementExists(short_name)):
573
- mapping = ClientServerInterfaceMapping(self, short_name)
574
- self.addElement(mapping)
575
- self.portInterfaceMappings.append(mapping)
576
- return self.getElement(short_name)
577
-
578
- def createModeInterfaceMapping(self, short_name: str):
579
- if (not self.IsElementExists(short_name)):
580
- mapping = ModeInterfaceMapping(self, short_name)
581
- self.addElement(mapping)
582
- self.portInterfaceMappings.append(mapping)
583
- return self.getElement(short_name)
584
-
585
- def createTriggerInterfaceMapping(self, short_name: str):
586
- if (not self.IsElementExists(short_name)):
587
- mapping = TriggerInterfaceMapping(self, short_name)
588
- self.addElement(mapping)
589
- self.portInterfaceMappings.append(mapping)
590
- return self.getElement(short_name)
591
-
592
-
593
- class TextTableMapping(ARObject):
594
- def __init__(self):
595
- super().__init__()
596
-
597
- self.bitfieldTextTableMaskFirst = None # type: PositiveInteger
598
- self.bitfieldTextTableMaskSecond = None # type: PositiveInteger
599
- self.identicalMapping = None # type: Boolean
600
- self.mappingDirection = None # type: MappingDirectionEnum
601
- self.valuePairs = [] # type: List[TextTableValuePair]
602
-
603
- def getBitfieldTextTableMaskFirst(self):
604
- return self.bitfieldTextTableMaskFirst
605
-
606
- def setBitfieldTextTableMaskFirst(self, value):
607
- if value is not None:
608
- self.bitfieldTextTableMaskFirst = value
609
- return self
610
-
611
- def getBitfieldTextTableMaskSecond(self):
612
- return self.bitfieldTextTableMaskSecond
613
-
614
- def setBitfieldTextTableMaskSecond(self, value):
615
- if value is not None:
616
- self.bitfieldTextTableMaskSecond = value
617
- return self
618
-
619
- def getIdenticalMapping(self):
620
- return self.identicalMapping
621
-
622
- def setIdenticalMapping(self, value):
623
- if value is not None:
624
- self.identicalMapping = value
625
- return self
626
-
627
- def getMappingDirection(self):
628
- return self.mappingDirection
629
-
630
- def setMappingDirection(self, value):
631
- if value is not None:
632
- self.mappingDirection = value
633
- return self
634
-
635
- def getValuePairs(self):
636
- return self.valuePairs
637
-
638
- def setValuePairs(self, value):
639
- if value is not None:
640
- self.valuePairs = value
641
- return self
1
+ """
2
+ This module contains classes for representing AUTOSAR port interfaces
3
+ in the SWComponentTemplate module. It includes various types of port
4
+ interfaces such as sender/receiver, client/server, mode switch, and
5
+ parameter interfaces, as well as mapping classes for interface mappings.
6
+ """
7
+
8
+ from abc import ABC
9
+ from typing import List
10
+
11
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure import TextValueSpecification
12
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.TriggerDeclaration import Trigger, TriggerMapping
13
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpStructureElement, AtpType, AtpBlueprintable
14
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
15
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
16
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, ArgumentDirectionEnum, Boolean
17
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger
18
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype, AutosarDataPrototype
19
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
20
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype, ModeDeclarationGroupPrototypeMapping
21
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
22
+
23
+
24
+ class PortInterface(AtpType, ABC):
25
+ def __init__(self, parent: ARObject, short_name: str):
26
+ if type(self) is PortInterface:
27
+ raise TypeError("PortInterface is an abstract class.")
28
+ super().__init__(parent, short_name)
29
+
30
+ self.isService: ARBoolean = None
31
+ self.serviceKind: ARLiteral = None
32
+
33
+ def getIsService(self):
34
+ return self.isService
35
+
36
+ def setIsService(self, value):
37
+ self.isService = value
38
+ return self
39
+
40
+ def getServiceKind(self):
41
+ return self.serviceKind
42
+
43
+ def setServiceKind(self, value):
44
+ self.serviceKind = value
45
+ return self
46
+
47
+
48
+ class DataInterface(PortInterface, ABC):
49
+ def __init__(self, parent: ARObject, short_name: str):
50
+ if type(self) is DataInterface:
51
+ raise TypeError("DataInterface is an abstract class.")
52
+ super().__init__(parent, short_name)
53
+
54
+
55
+ class NvDataInterface(DataInterface):
56
+ def __init__(self, parent: ARObject, short_name: str):
57
+ super().__init__(parent, short_name)
58
+
59
+ self.nvDatas: List[VariableDataPrototype] = []
60
+
61
+ def getNvDatas(self):
62
+ return self.nvDatas
63
+
64
+ def setNvData(self, value):
65
+ self.nvDatas.append(value)
66
+ return self
67
+
68
+
69
+ class ParameterInterface(DataInterface):
70
+ def __init__(self, parent: ARObject, short_name: str):
71
+ super().__init__(parent, short_name)
72
+
73
+ self.parameters: List[ParameterDataPrototype] = []
74
+
75
+ def getParameters(self):
76
+ return self.parameters
77
+
78
+ def createParameterDataPrototype(self, short_name: str) -> ParameterDataPrototype:
79
+ prototype = ParameterDataPrototype(self, short_name)
80
+ self.addElement(prototype)
81
+ self.parameters.append(prototype)
82
+ return prototype
83
+
84
+
85
+ class InvalidationPolicy(ARObject):
86
+ def __init__(self):
87
+ super().__init__()
88
+
89
+ self.dataElementRef: RefType = None
90
+ self.handleInvalid: ARLiteral = None
91
+
92
+ def getDataElementRef(self):
93
+ return self.dataElementRef
94
+
95
+ def setDataElementRef(self, value):
96
+ self.dataElementRef = value
97
+ return self
98
+
99
+ def getHandleInvalid(self):
100
+ return self.handleInvalid
101
+
102
+ def setHandleInvalid(self, value):
103
+ self.handleInvalid = value
104
+ return self
105
+
106
+
107
+ class MetaDataItem(ARObject):
108
+ def __init__(self):
109
+ super().__init__()
110
+
111
+ self.length: PositiveInteger = None
112
+ self.metaDataItemType: TextValueSpecification = None
113
+
114
+ def getLength(self):
115
+ return self.length
116
+
117
+ def setLength(self, value):
118
+ self.length = value
119
+ return self
120
+
121
+ def getMetaDataItemType(self):
122
+ return self.metaDataItemType
123
+
124
+ def setMetaDataItemType(self, value):
125
+ self.metaDataItemType = value
126
+ return self
127
+
128
+
129
+ class MetaDataItemSet(ARObject):
130
+ def __init__(self):
131
+ super().__init__()
132
+
133
+ self.dataElementRefs: List[RefType] = []
134
+ self.metaDataItems: List[MetaDataItem] = []
135
+
136
+ def getDataElementRefs(self):
137
+ return self.dataElementRefs
138
+
139
+ def addDataElementRef(self, value):
140
+ self.dataElementRefs.append(value)
141
+ return self
142
+
143
+ def getMetaDataItems(self):
144
+ return self.metaDataItems
145
+
146
+ def addMetaDataItem(self, value):
147
+ self.metaDataItems.append(value)
148
+ return self
149
+
150
+
151
+ class SenderReceiverInterface(DataInterface):
152
+ def __init__(self, parent: ARObject, short_name: str):
153
+ super().__init__(parent, short_name)
154
+
155
+ self.invalidationPolicies: List[InvalidationPolicy] = []
156
+ self.metaDataItemSets: List[MetaDataItemSet] = []
157
+
158
+ def getInvalidationPolicies(self):
159
+ return self.invalidationPolicies
160
+
161
+ def addInvalidationPolicy(self, value):
162
+ self.invalidationPolicies.append(value)
163
+ return self
164
+
165
+ def getMetaDataItemSets(self):
166
+ return self.metaDataItemSets
167
+
168
+ def addMetaDataItemSet(self, value):
169
+ self.metaDataItemSets.append(value)
170
+ return self
171
+
172
+ def createDataElement(self, short_name) -> VariableDataPrototype:
173
+ if (not self.IsElementExists(short_name)):
174
+ data_element = VariableDataPrototype(self, short_name)
175
+ self.addElement(data_element)
176
+ return self.getElement(short_name, VariableDataPrototype)
177
+
178
+ def getDataElements(self) -> List[VariableDataPrototype]:
179
+ return list(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements))
180
+
181
+ def getDataElement(self, short_name) -> VariableDataPrototype:
182
+ return self.getElement(short_name, VariableDataPrototype)
183
+
184
+ def createInvalidationPolicy(self) -> InvalidationPolicy:
185
+ policy = InvalidationPolicy()
186
+ self.invalidationPolicies.append(policy)
187
+ return policy
188
+
189
+ def getInvalidationPolicys(self) -> List[InvalidationPolicy]:
190
+ return list(filter(lambda c: isinstance(c, InvalidationPolicy), self.invalidationPolicies))
191
+
192
+
193
+ class ArgumentDataPrototype(AutosarDataPrototype):
194
+ def __init__(self, parent: ARObject, short_name: str):
195
+ super().__init__(parent, short_name)
196
+
197
+ self.direction: ArgumentDirectionEnum = None
198
+ self.serverArgumentImplPolicy = None
199
+
200
+ def getDirection(self):
201
+ return self.direction
202
+
203
+ def setDirection(self, value):
204
+ if value is not None:
205
+ self.direction = value
206
+ return self
207
+
208
+ def getServerArgumentImplPolicy(self):
209
+ return self.serverArgumentImplPolicy
210
+
211
+ def setServerArgumentImplPolicy(self, value):
212
+ if value is not None:
213
+ self.serverArgumentImplPolicy = value
214
+ return self
215
+
216
+
217
+ class ApplicationError(Identifiable):
218
+ def __init__(self, parent: ARObject, short_name: str):
219
+ super().__init__(parent, short_name)
220
+
221
+ self.error_code: ARNumerical = None
222
+
223
+
224
+ class ClientServerOperation(AtpStructureElement):
225
+ """
226
+ An operation declared within the scope of a client/server interface.
227
+ Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
228
+ Base: ARObject, AtpClassifier , AtpBlueprintable, AtpStructureElement, Identifiable, MultilanguageReferrable, Referrable
229
+
230
+ Attributes:
231
+ -----------
232
+ _argument: ArgumentDataPrototype (optional)
233
+ An argument of this ClientServerOperation
234
+
235
+ _possibleError: RefType -> ApplicationError (optional)
236
+ Possible errors that may by raised by the referring operation
237
+
238
+ Methods:
239
+ --------
240
+ addArgumentDataPrototype add the argument
241
+ getArgumentDataPrototypes get the arguments
242
+ addPossibleErrorRef add the possible error
243
+ getPossbileErrorRefs get the possible errors
244
+
245
+ """
246
+ def __init__(self, parent: ARObject, short_name: str):
247
+ super().__init__(parent, short_name)
248
+
249
+ self.arguments: List[ArgumentDataPrototype] = []
250
+ self.possibleErrorRefs: List[RefType] = []
251
+
252
+ def getArguments(self):
253
+ return self.arguments
254
+
255
+ def createArgumentDataPrototype(self, short_name):
256
+ if not self.IsElementExists(short_name):
257
+ prototype = ArgumentDataPrototype(self, short_name)
258
+ self.addElement(prototype)
259
+ self.arguments.append(prototype)
260
+ return self.getElement(short_name)
261
+
262
+ def getPossibleErrorRefs(self):
263
+ return self.possibleErrorRefs
264
+
265
+ def addPossibleErrorRef(self, value):
266
+ if value is not None:
267
+ self.possibleErrorRefs.append(value)
268
+ return self
269
+
270
+
271
+ class ClientServerInterface(PortInterface):
272
+ """
273
+ A client/server interface declares a number of operations that can be invoked on a server by a client.
274
+ Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
275
+ Base: ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier , AtpType, CollectableElement, Identifiable, MultilanguageReferrable,
276
+ PackageableElement, PortInterface, Referrable
277
+
278
+ Methods:
279
+ --------
280
+ createOperation create ClientServerOperation(s) of this ClientServerInterface.
281
+ createApplicationError create Application errors that are defined as part of this interface
282
+ getOperations get all ClientServerOperation(s) of this ClientServerInterface
283
+ getPossibleErrors get all Application error(s) of this ClientServerInterface
284
+
285
+ """
286
+ def __init__(self, parent: ARObject, short_name: str):
287
+ super().__init__(parent, short_name)
288
+
289
+ def createOperation(self, short_name: str) -> ClientServerOperation:
290
+ if (not self.IsElementExists(short_name)):
291
+ operation = ClientServerOperation(self, short_name)
292
+ self.addElement(operation)
293
+ return self.getElement(short_name, ClientServerOperation)
294
+
295
+ def createApplicationError(self, short_name: str) -> ApplicationError:
296
+ if (not self.IsElementExists(short_name)):
297
+ error = ApplicationError(self, short_name)
298
+ self.addElement(error)
299
+ return self.getElement(short_name, ApplicationError)
300
+
301
+ def getOperations(self) -> List[ClientServerOperation]:
302
+ return list(filter(lambda c: isinstance(c, ClientServerOperation), self.elements))
303
+
304
+ def getPossibleErrors(self) -> List[ApplicationError]:
305
+ return list(filter(lambda c: isinstance(c, ApplicationError), self.elements))
306
+
307
+
308
+ class TriggerInterface(PortInterface):
309
+ def __init__(self, parent: ARObject, short_name: str):
310
+ super().__init__(parent, short_name)
311
+
312
+ self._triggers: List[Trigger] = []
313
+
314
+
315
+ class ModeSwitchInterface(PortInterface):
316
+ def __init__(self, parent: ARObject, short_name: str):
317
+ super().__init__(parent, short_name)
318
+
319
+ self._modeGroup: List[ModeDeclarationGroupPrototype] = []
320
+
321
+ def createModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
322
+ if not self.IsElementExists(short_name):
323
+ prototype = ModeDeclarationGroupPrototype(self, short_name)
324
+ self.addElement(prototype)
325
+ return self.getElement(short_name, ModeDeclarationGroupPrototype)
326
+
327
+ def getModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
328
+ return list(sorted(filter(lambda c: isinstance(c, ModeDeclarationGroupPrototype), self.elements), key=lambda o: o.short_name))
329
+
330
+
331
+ class PortInterfaceMapping(AtpBlueprintable, ABC):
332
+ def __init__(self, parent: ARObject, short_name: str):
333
+ if type(self) is PortInterfaceMapping:
334
+ raise TypeError("PortInterfaceMapping is an abstract class.")
335
+ super().__init__(parent, short_name)
336
+
337
+
338
+ class ClientServerApplicationErrorMapping(ARObject):
339
+ def __init__(self):
340
+ super().__init__()
341
+
342
+ self.firstApplicationErrorRef: RefType = None
343
+ self.secondApplicationErrorRef: RefType = None
344
+
345
+ def getFirstApplicationErrorRef(self):
346
+ return self.firstApplicationErrorRef
347
+
348
+ def setFirstApplicationErrorRef(self, value):
349
+ self.firstApplicationErrorRef = value
350
+ return self
351
+
352
+ def getSecondApplicationErrorRef(self):
353
+ return self.secondApplicationErrorRef
354
+
355
+ def setSecondApplicationErrorRef(self, value):
356
+ self.secondApplicationErrorRef = value
357
+ return self
358
+
359
+
360
+ class ClientServerOperationMapping(ARObject):
361
+ def __init__(self):
362
+ super().__init__()
363
+
364
+ self.argumentMappings: List['DataPrototypeMapping'] = []
365
+ self.firstOperationRef: RefType = None
366
+ self.firstToSecondDataTransformationRef: RefType = None
367
+ self.secondOperationRef: RefType = None
368
+
369
+ def getArgumentMappings(self):
370
+ return self.argumentMappings
371
+
372
+ def addArgumentMapping(self, value):
373
+ self.argumentMappings.append(value)
374
+ return self
375
+
376
+ def getFirstOperationRef(self):
377
+ return self.firstOperationRef
378
+
379
+ def setFirstOperationRef(self, value):
380
+ self.firstOperationRef = value
381
+ return self
382
+
383
+ def getFirstToSecondDataTransformationRef(self):
384
+ return self.firstToSecondDataTransformationRef
385
+
386
+ def setFirstToSecondDataTransformationRef(self, value):
387
+ self.firstToSecondDataTransformationRef = value
388
+ return self
389
+
390
+ def getSecondOperationRef(self):
391
+ return self.secondOperationRef
392
+
393
+ def setSecondOperationRef(self, value):
394
+ self.secondOperationRef = value
395
+ return self
396
+
397
+
398
+ class DataPrototypeMapping(ARObject):
399
+ def __init__(self):
400
+ super().__init__()
401
+
402
+ self.firstDataPrototypeRef: RefType = None
403
+ self.firstToSecondDataTransformationRef: RefType = None
404
+ self.secondDataPrototypeRef: RefType = None
405
+ self.secondToFirstDataTransformationRef: RefType = None
406
+ self.subElementMappings = []
407
+ self.textTableMappings: List['TextTableMapping'] = []
408
+
409
+ def getFirstDataPrototypeRef(self):
410
+ return self.firstDataPrototypeRef
411
+
412
+ def setFirstDataPrototypeRef(self, value):
413
+ self.firstDataPrototypeRef = value
414
+ return self
415
+
416
+ def getFirstToSecondDataTransformationRef(self):
417
+ return self.firstToSecondDataTransformationRef
418
+
419
+ def setFirstToSecondDataTransformationRef(self, value):
420
+ self.firstToSecondDataTransformationRef = value
421
+ return self
422
+
423
+ def getSecondDataPrototypeRef(self):
424
+ return self.secondDataPrototypeRef
425
+
426
+ def setSecondDataPrototypeRef(self, value):
427
+ self.secondDataPrototypeRef = value
428
+ return self
429
+
430
+ def getSecondToFirstDataTransformationRef(self):
431
+ return self.secondToFirstDataTransformationRef
432
+
433
+ def setSecondToFirstDataTransformationRef(self, value):
434
+ self.secondToFirstDataTransformationRef = value
435
+ return self
436
+
437
+ def getSubElementMappings(self):
438
+ return self.subElementMappings
439
+
440
+ def setSubElementMappings(self, value):
441
+ self.subElementMappings = value
442
+ return self
443
+
444
+ def getTextTableMappings(self):
445
+ return self.textTableMappings
446
+
447
+ def setTextTableMappings(self, value):
448
+ self.textTableMappings = value
449
+ return self
450
+
451
+
452
+ class ClientServerInterfaceMapping(PortInterfaceMapping):
453
+ def __init__(self, parent: ARObject, short_name: str):
454
+ super().__init__(parent, short_name)
455
+
456
+ self.errorMappings: List['ClientServerApplicationErrorMapping'] = []
457
+ self.operationMappings: List['ClientServerOperationMapping'] = []
458
+
459
+ def getErrorMappings(self):
460
+ return self.errorMappings
461
+
462
+ def addErrorMapping(self, value):
463
+ if value is not None:
464
+ self.errorMappings.append(value)
465
+ return self
466
+
467
+ def getOperationMappings(self):
468
+ return self.operationMappings
469
+
470
+ def addOperationMapping(self, value):
471
+ if value is not None:
472
+ self.operationMappings.append(value)
473
+ return self
474
+
475
+
476
+ class VariableAndParameterInterfaceMapping(PortInterfaceMapping):
477
+ def __init__(self, parent: ARObject, short_name: str):
478
+ super().__init__(parent, short_name)
479
+
480
+ self.dataMappings: List['DataPrototypeMapping'] = []
481
+
482
+ def getDataMappings(self):
483
+ return self.dataMappings
484
+
485
+ def addDataMapping(self, value):
486
+ self.dataMappings.append(value)
487
+ return self
488
+
489
+
490
+ class ModeInterfaceMapping(PortInterfaceMapping):
491
+ def __init__(self, parent: ARObject, short_name: str):
492
+ super().__init__(parent, short_name)
493
+
494
+ self.modeMapping: 'ModeDeclarationGroupPrototypeMapping' = None
495
+
496
+ def getModeMapping(self):
497
+ return self.modeMapping
498
+
499
+ def setModeMapping(self, value):
500
+ if value is not None:
501
+ self.modeMapping = value
502
+ return self
503
+
504
+
505
+ class TriggerInterfaceMapping(PortInterfaceMapping):
506
+ def __init__(self, parent: ARObject, short_name: str):
507
+ super().__init__(parent, short_name)
508
+
509
+ self.triggerMapping: List[TriggerMapping] = []
510
+
511
+ def getTriggerMapping(self) -> List[TriggerMapping]:
512
+ return self.triggerMapping
513
+
514
+ def setTriggerMapping(self, value: List[TriggerMapping]):
515
+ if value is not None:
516
+ self.triggerMapping = value
517
+ return self
518
+
519
+
520
+ class ModeDeclarationMapping(AtpStructureElement):
521
+ def __init__(self, parent: ARObject, short_name: str):
522
+ super().__init__(parent, short_name)
523
+
524
+ self.firstModeRefs: List[RefType] = []
525
+ self.secondModeRef: RefType = []
526
+
527
+ def getFirstModeRefs(self) -> List[RefType]:
528
+ return self.firstModeRefs
529
+
530
+ def addFirstModeRef(self, value: 'RefType'):
531
+ if value is not None:
532
+ self.firstModeRefs.append(value)
533
+ return self
534
+
535
+ def getSecondModeRef(self) -> RefType:
536
+ return self.secondModeRef
537
+
538
+ def setSecondModeRef(self, value: RefType):
539
+ if value is not None:
540
+ self.secondModeRef = value
541
+ return self
542
+
543
+
544
+ class ModeDeclarationMappingSet(AtpType):
545
+ def __init__(self, parent: ARObject, short_name: str):
546
+ super().__init__(parent, short_name)
547
+
548
+ self.modeDeclarationMappings: List[ModeDeclarationMapping] = []
549
+
550
+ def getModeDeclarationMappings(self) -> List[ModeDeclarationMapping]:
551
+ return self.modeDeclarationMappings
552
+
553
+ def createModeDeclarationMapping(self, short_name: str) -> ModeDeclarationMapping:
554
+ if (not self.IsElementExists(short_name)):
555
+ mapping = ModeDeclarationMapping(self, short_name)
556
+ self.addElement(mapping)
557
+ self.modeDeclarationMappings.append(mapping)
558
+ return self.getElement(short_name)
559
+
560
+
561
+ class PortInterfaceMappingSet(AtpBlueprintable):
562
+ def __init__(self, parent: ARObject, short_name: str):
563
+ super().__init__(parent, short_name)
564
+
565
+ self.portInterfaceMappings = [] # type: List[PortInterfaceMapping]
566
+
567
+ def getPortInterfaceMappings(self):
568
+ return self.portInterfaceMappings
569
+
570
+ def createVariableAndParameterInterfaceMapping(self, short_name: str):
571
+ if (not self.IsElementExists(short_name)):
572
+ mapping = VariableAndParameterInterfaceMapping(self, short_name)
573
+ self.addElement(mapping)
574
+ self.portInterfaceMappings.append(mapping)
575
+ return self.getElement(short_name)
576
+
577
+ def createClientServerInterfaceMapping(self, short_name: str):
578
+ if (not self.IsElementExists(short_name)):
579
+ mapping = ClientServerInterfaceMapping(self, short_name)
580
+ self.addElement(mapping)
581
+ self.portInterfaceMappings.append(mapping)
582
+ return self.getElement(short_name)
583
+
584
+ def createModeInterfaceMapping(self, short_name: str):
585
+ if (not self.IsElementExists(short_name)):
586
+ mapping = ModeInterfaceMapping(self, short_name)
587
+ self.addElement(mapping)
588
+ self.portInterfaceMappings.append(mapping)
589
+ return self.getElement(short_name)
590
+
591
+ def createTriggerInterfaceMapping(self, short_name: str):
592
+ if (not self.IsElementExists(short_name)):
593
+ mapping = TriggerInterfaceMapping(self, short_name)
594
+ self.addElement(mapping)
595
+ self.portInterfaceMappings.append(mapping)
596
+ return self.getElement(short_name)
597
+
598
+
599
+ class TextTableMapping(ARObject):
600
+ def __init__(self):
601
+ super().__init__()
602
+
603
+ self.bitfieldTextTableMaskFirst: PositiveInteger = None
604
+ self.bitfieldTextTableMaskSecond: PositiveInteger = None
605
+ self.identicalMapping: Boolean = None
606
+ self.mappingDirection = None
607
+ self.valuePairs = []
608
+
609
+ def getBitfieldTextTableMaskFirst(self):
610
+ return self.bitfieldTextTableMaskFirst
611
+
612
+ def setBitfieldTextTableMaskFirst(self, value):
613
+ if value is not None:
614
+ self.bitfieldTextTableMaskFirst = value
615
+ return self
616
+
617
+ def getBitfieldTextTableMaskSecond(self):
618
+ return self.bitfieldTextTableMaskSecond
619
+
620
+ def setBitfieldTextTableMaskSecond(self, value):
621
+ if value is not None:
622
+ self.bitfieldTextTableMaskSecond = value
623
+ return self
624
+
625
+ def getIdenticalMapping(self):
626
+ return self.identicalMapping
627
+
628
+ def setIdenticalMapping(self, value):
629
+ if value is not None:
630
+ self.identicalMapping = value
631
+ return self
632
+
633
+ def getMappingDirection(self):
634
+ return self.mappingDirection
635
+
636
+ def setMappingDirection(self, value):
637
+ if value is not None:
638
+ self.mappingDirection = value
639
+ return self
640
+
641
+ def getValuePairs(self):
642
+ return self.valuePairs
643
+
644
+ def setValuePairs(self, value):
645
+ if value is not None:
646
+ self.valuePairs = value
647
+ return self