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,489 +1,473 @@
1
- from typing import Dict, List
2
-
3
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
4
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortAPIOption
5
- from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
6
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype
7
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
8
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PerInstanceMemory import PerInstanceMemory
9
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent
10
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataSendCompletedEvent
11
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent
12
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import ModeSwitchedAckEvent, OperationInvokedEvent, RTEEvent
13
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import SwcModeSwitchEvent, TimingEvent
14
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import SwcServiceDependency
15
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, Boolean, RefType, ARBoolean
16
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
17
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServerCall import ServerCallPoint
18
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet, ModeAccessPoint
19
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import ModeSwitchPoint
20
- from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.Trigger import ExternalTriggeringPoint, InternalTriggeringPoint
21
- from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
22
- from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
23
-
24
-
25
- class RunnableEntityArgument(ARObject):
26
- def __init__(self):
27
- super().__init__()
28
-
29
- self.symbol = None # type: ARLiteral
30
-
31
- def getSymbol(self):
32
- return self.symbol
33
-
34
- def setSymbol(self, value):
35
- self.symbol = value
36
- return self
37
-
38
-
39
- class AsynchronousServerCallResultPoint(AbstractAccessPoint):
40
- def __init__(self, parent: ARObject, short_name: str):
41
- super().__init__(parent, short_name)
42
-
43
- self.asynchronousServerCallPointRef = None # type: RefType
44
-
45
- def getAsynchronousServerCallPointRef(self):
46
- return self.asynchronousServerCallPointRef
47
-
48
- def setAsynchronousServerCallPointRef(self, value):
49
- self.asynchronousServerCallPointRef = value
50
- return self
51
-
52
-
53
- class AsynchronousServerCallPoint(ServerCallPoint):
54
- def __init__(self, parent: ARObject, short_name: str):
55
- super().__init__(parent, short_name)
56
-
57
-
58
- class SynchronousServerCallPoint(ServerCallPoint):
59
- def __init__(self, parent: ARObject, short_name: str):
60
- super().__init__(parent, short_name)
61
-
62
- self.calledFromWithinExclusiveAreaRef = None # type: RefType
63
-
64
- def getCalledFromWithinExclusiveAreaRef(self):
65
- return self.calledFromWithinExclusiveAreaRef
66
-
67
- def setCalledFromWithinExclusiveAreaRef(self, value):
68
- self.calledFromWithinExclusiveAreaRef = value
69
- return self
70
-
71
-
72
- class RunnableEntity(ExecutableEntity):
73
- def __init__(self, parent: ARObject, short_name: str):
74
- super().__init__(parent, short_name)
75
-
76
- self.arguments: List[RunnableEntityArgument] = []
77
- self.asynchronousServerCallResultPoints: List[AsynchronousServerCallResultPoint] = []
78
- self.canBeInvokedConcurrently: ARBoolean = None
79
- self.dataReadAccesses: List[VariableAccess] = []
80
- self.dataReceivePointByArguments: List[VariableAccess] = []
81
- self.dataReceivePointByValues: List[VariableAccess] = []
82
- self.dataSendPoints: List[VariableAccess] = []
83
- self.dataWriteAccesses: List[VariableAccess] = []
84
- self.externalTriggeringPoints: List[ExternalTriggeringPoint] = []
85
- self.internalTriggeringPoints: List[InternalTriggeringPoint] = []
86
- self.modeAccessPoints: List[ModeAccessPoint] = []
87
- self.modeSwitchPoints: List[ModeSwitchPoint] = []
88
- self.parameterAccesses: List[ParameterAccess] = []
89
- self.readLocalVariables: List[VariableAccess] = []
90
- self.serverCallPoints: List[ServerCallPoint] = []
91
- self.symbol: ARLiteral = None
92
- # type: Dict[str, WaitPoint]
93
- self.waitPoints = {}
94
- self.writtenLocalVariables: List[VariableAccess] = []
95
-
96
- def _createVariableAccess(self, short_name, variable_accesses: List[VariableAccess]):
97
- if not self.IsElementExists(short_name):
98
- variable_access = VariableAccess(self, short_name)
99
- self.addElement(variable_access)
100
- variable_accesses.append(variable_access)
101
- return self.getElement(short_name, VariableAccess)
102
-
103
- def getArguments(self):
104
- return self.arguments
105
-
106
- def addArgument(self, value):
107
- self.arguments.append(value)
108
- return self
109
-
110
- def getCanBeInvokedConcurrently(self):
111
- return self.canBeInvokedConcurrently
112
-
113
- def setCanBeInvokedConcurrently(self, value):
114
- self.canBeInvokedConcurrently = value
115
- return self
116
-
117
- def createDataReadAccess(self, short_name: str) -> VariableAccess:
118
- return self._createVariableAccess(short_name, self.dataReadAccesses)
119
-
120
- def getDataReadAccesses(self) -> List[VariableAccess]:
121
- return sorted(self.dataReadAccesses, key=lambda v: v.short_name)
122
-
123
- def createDataWriteAccess(self, short_name: str) -> VariableAccess:
124
- return self._createVariableAccess(short_name, self.dataWriteAccesses)
125
-
126
- def getDataWriteAccesses(self) -> List[VariableAccess]:
127
- return sorted(self.dataWriteAccesses, key=lambda v: v.short_name)
128
-
129
- def createDataReceivePointByArgument(self, short_name: str) -> VariableAccess:
130
- return self._createVariableAccess(short_name, self.dataReceivePointByArguments)
131
-
132
- def getDataReceivePointByArguments(self) -> List[VariableAccess]:
133
- return sorted(self.dataReceivePointByArguments, key=lambda v: v.short_name)
134
-
135
- def createDataReceivePointByValue(self, short_name: str) -> VariableAccess:
136
- return self._createVariableAccess(short_name, self.dataReceivePointByValues)
137
-
138
- def getDataReceivePointByValues(self) -> List[VariableAccess]:
139
- return sorted(self.dataReceivePointByValues, key=lambda v: v.short_name)
140
-
141
- def createDataSendPoint(self, short_name: str) -> VariableAccess:
142
- return self._createVariableAccess(short_name, self.dataSendPoints)
143
-
144
- def getDataSendPoints(self) -> List[VariableAccess]:
145
- # return sorted(self.dataSendPoints.values(), key=lambda v: v.short_name)
146
- return self.dataSendPoints
147
-
148
- def createReadLocalVariable(self, short_name: str) -> VariableAccess:
149
- return self._createVariableAccess(short_name, self.readLocalVariables)
150
-
151
- def getReadLocalVariables(self) -> List[VariableAccess]:
152
- # return sorted(self.readLocalVariables.values(), key=lambda v: v.short_name)
153
- return self.readLocalVariables
154
-
155
- def createWrittenLocalVariable(self, short_name: str) -> VariableAccess:
156
- return self._createVariableAccess(short_name, self.writtenLocalVariables)
157
-
158
- def getWrittenLocalVariables(self) -> List[VariableAccess]:
159
- return self.writtenLocalVariables
160
-
161
- def getParameterAccesses(self) -> List[ParameterAccess]:
162
- return list(sorted(filter(lambda a: isinstance(a, ParameterAccess), self.elements), key=lambda o: o.short_name))
163
-
164
- def createParameterAccess(self, short_name: str) -> ParameterAccess:
165
- if not self.IsElementExists(short_name):
166
- access = ParameterAccess(self, short_name)
167
- self.addElement(access)
168
- return self.getElement(short_name)
169
-
170
- def createSynchronousServerCallPoint(self, short_name: str) -> SynchronousServerCallPoint:
171
- if (short_name not in self.serverCallPoints):
172
- point = SynchronousServerCallPoint(self, short_name)
173
- self.addElement(point)
174
- return self.getElement(short_name)
175
- # self.serverCallPoints[short_name] = server_call_point
176
- # return self.serverCallPoints[short_name]
177
-
178
- def createAsynchronousServerCallPoint(self, short_name: str) -> AsynchronousServerCallPoint:
179
- if (short_name not in self.serverCallPoints):
180
- point = AsynchronousServerCallPoint(self, short_name)
181
- self.addElement(point)
182
- return self.getElement(short_name, AsynchronousServerCallPoint)
183
- # self.serverCallPoints[short_name] = server_call_point
184
- # return self.serverCallPoints[short_name]
185
-
186
- def createAsynchronousServerCallResultPoint(self, short_name: str) -> AsynchronousServerCallResultPoint:
187
- if (short_name not in self.serverCallPoints):
188
- point = AsynchronousServerCallResultPoint(self, short_name)
189
- self.addElement(point)
190
- return self.getElement(short_name)
191
-
192
- def getSynchronousServerCallPoint(self) -> List[SynchronousServerCallPoint]:
193
- return list(sorted(filter(lambda a: isinstance(a, SynchronousServerCallPoint), self.elements), key=lambda o: o.getShortName()))
194
-
195
- def getAsynchronousServerCallPoint(self) -> List[AsynchronousServerCallPoint]:
196
- return list(sorted(filter(lambda a: isinstance(a, AsynchronousServerCallPoint), self.elements), key=lambda o: o.getShortName()))
197
-
198
- def getAsynchronousServerCallResultPoints(self) -> List[AsynchronousServerCallResultPoint]:
199
- return list(sorted(filter(lambda a: isinstance(a, AsynchronousServerCallResultPoint), self.elements), key=lambda o: o.getShortName())) # noqa E501
200
-
201
- def getServerCallPoints(self) -> List[ServerCallPoint]:
202
- return list(sorted(filter(lambda a: isinstance(a, ServerCallPoint), self.elements), key=lambda o: o.getShortName()))
203
-
204
- def createInternalTriggeringPoint(self, short_name: str) -> InternalTriggeringPoint:
205
- if not self.IsElementExists(short_name):
206
- point = InternalTriggeringPoint(self, short_name)
207
- self.addElement(point)
208
- return self.getElement(short_name, InternalTriggeringPoint)
209
-
210
- def getInternalTriggeringPoints(self) -> List[InternalTriggeringPoint]:
211
- return filter(lambda o: isinstance(o, InternalTriggeringPoint), self.elements)
212
-
213
- def getModeAccessPoints(self) -> List[ModeAccessPoint]:
214
- return self.modeAccessPoints
215
-
216
- def addModeAccessPoint(self, value):
217
- self.modeAccessPoints.append(value)
218
-
219
- def getModeSwitchPoints(self) -> List[ModeSwitchPoint]:
220
- return list(sorted(filter(lambda a: isinstance(a, ModeSwitchPoint), self.elements), key=lambda o: o.short_name))
221
-
222
- def createModeSwitchPoint(self, short_name: str) -> ModeSwitchPoint:
223
- if not self.IsElementExists(short_name):
224
- access = ModeSwitchPoint(self, short_name)
225
- self.addElement(access)
226
- self.modeSwitchPoints.append(access)
227
- return self.getElement(short_name, ModeSwitchPoint)
228
-
229
- def getSymbol(self):
230
- return self.symbol
231
-
232
- def setSymbol(self, value):
233
- self.symbol = value
234
- return self
235
-
236
-
237
- class SwcInternalBehavior(InternalBehavior):
238
- def __init__(self, parent: ARObject, short_name: str):
239
- super().__init__(parent, short_name)
240
-
241
- # type: List[VariableDataPrototype]
242
- self.arTypedPerInstanceMemories = []
243
- # type: List[RTEEvent]
244
- self.events = []
245
- # type: List[SwcExclusiveAreaPolicy]
246
- self.exclusiveAreaPolicies = []
247
- # type: List[VariableDataPrototype]
248
- self.explicitInterRunnableVariables = []
249
- self.handleTerminationAndRestart = None # type: str
250
- # type: List[VariableDataPrototype]
251
- self.implicitInterRunnableVariables = []
252
- # type: List[IncludedDataTypeSet]
253
- self.includedDataTypeSets = []
254
- # type: List[IncludedModeDeclarationGroupSet]
255
- self.includedModeDeclarationGroupSets = []
256
- # type: List[InstantiationDataDefProps]
257
- self.instantiationDataDefProps = []
258
- # type: List[PerInstanceMemory]
259
- self.perInstanceMemories = []
260
- # type: List[ParameterDataPrototype]
261
- self.perInstanceParameters = []
262
- # type: List[PortAPIOption]
263
- self.portAPIOptions = []
264
- # type: List[RunnableEntity]
265
- self.runnables = []
266
- # type: List[SwcServiceDependency]
267
- self.serviceDependencies = []
268
- # type: List[ParameterDataPrototype]
269
- self.sharedParameters = []
270
- self.supportsMultipleInstantiation = None # type: Boolean
271
- # type: VariationPointProxy
272
- self.variationPointProxies = []
273
-
274
- def getArTypedPerInstanceMemories(self) -> List[VariableDataPrototype]:
275
- return self.arTypedPerInstanceMemories
276
-
277
- def createArTypedPerInstanceMemory(self, short_name: str) -> VariableDataPrototype:
278
- if not self.IsElementExists(short_name):
279
- prototype = VariableDataPrototype(self, short_name)
280
- self.addElement(prototype)
281
- self.arTypedPerInstanceMemories.append(prototype)
282
- return self.getElement(short_name)
283
-
284
- def getExplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
285
- return self.explicitInterRunnableVariables
286
-
287
- def createExplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
288
- if not self.IsElementExists(short_name):
289
- prototype = VariableDataPrototype(self, short_name)
290
- self.addElement(prototype)
291
- self.explicitInterRunnableVariables.append(prototype)
292
- return self.getElement(short_name)
293
-
294
- def getHandleTerminationAndRestart(self):
295
- return self.handleTerminationAndRestart
296
-
297
- def setHandleTerminationAndRestart(self, value):
298
- self.handleTerminationAndRestart = value
299
- return self
300
-
301
- def getImplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
302
- return self.implicitInterRunnableVariables
303
-
304
- def getPerInstanceMemories(self) -> List[PerInstanceMemory]:
305
- return self.perInstanceMemories
306
-
307
- def getPerInstanceParameters(self) -> List[ParameterDataPrototype]:
308
- return self.perInstanceParameters
309
-
310
- def addPortAPIOption(self, option: PortAPIOption):
311
- self.portAPIOptions.append(option)
312
-
313
- def getPortAPIOptions(self) -> List[PortAPIOption]:
314
- return self.portAPIOptions
315
-
316
- def addIncludedDataTypeSet(self, set: IncludedDataTypeSet):
317
- self.includedDataTypeSets.append(set)
318
-
319
- def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
320
- return self.includedDataTypeSets
321
-
322
- def getIncludedModeDeclarationGroupSets(self):
323
- return self.includedModeDeclarationGroupSets
324
-
325
- def addIncludedModeDeclarationGroupSet(self, value):
326
- if value is not None:
327
- self.includedModeDeclarationGroupSets.append(value)
328
- return self
329
-
330
- def createOperationInvokedEvent(self, short_name: str) -> OperationInvokedEvent:
331
- if not self.IsElementExists(short_name):
332
- event = OperationInvokedEvent(self, short_name)
333
- self.addElement(event)
334
- return self.getElement(short_name, OperationInvokedEvent)
335
-
336
- def createTimingEvent(self, short_name: str) -> TimingEvent:
337
- if not self.IsElementExists(short_name):
338
- event = TimingEvent(self, short_name)
339
- self.addElement(event)
340
- return self.getElement(short_name, TimingEvent)
341
-
342
- def createInitEvent(self, short_name: str) -> InitEvent:
343
- if not self.IsElementExists(short_name):
344
- event = InitEvent(self, short_name)
345
- self.addElement(event)
346
- return self.getElement(short_name, InitEvent)
347
-
348
- def createAsynchronousServerCallReturnsEvent(self, short_name: str) -> AsynchronousServerCallReturnsEvent:
349
- if not self.IsElementExists(short_name):
350
- event = AsynchronousServerCallReturnsEvent(self, short_name)
351
- self.addElement(event)
352
- return self.getElement(short_name, AsynchronousServerCallReturnsEvent)
353
-
354
- def createDataReceivedEvent(self, short_name: str) -> DataReceivedEvent:
355
- if not self.IsElementExists(short_name):
356
- event = DataReceivedEvent(self, short_name)
357
- self.addElement(event)
358
- return self.getElement(short_name, DataReceivedEvent)
359
-
360
- def createSwcModeSwitchEvent(self, short_name: str) -> SwcModeSwitchEvent:
361
- if not self.IsElementExists(short_name):
362
- event = SwcModeSwitchEvent(self, short_name)
363
- self.addElement(event)
364
- return self.getElement(short_name, SwcModeSwitchEvent)
365
-
366
- def createInternalTriggerOccurredEvent(self, short_name: str) -> InternalTriggerOccurredEvent:
367
- if not self.IsElementExists(short_name):
368
- event = InternalTriggerOccurredEvent(self, short_name)
369
- self.addElement(event)
370
- return self.getElement(short_name, InternalTriggerOccurredEvent)
371
-
372
- def createSwcServiceDependency(self, short_name: str) -> SwcServiceDependency:
373
- if not self.IsElementExists(short_name):
374
- event = SwcServiceDependency(self, short_name)
375
- self.addElement(event)
376
- return self.getElement(short_name, SwcServiceDependency)
377
-
378
- def createModeSwitchedAckEvent(self, short_name: str) -> ModeSwitchedAckEvent:
379
- if not self.IsElementExists(short_name):
380
- event = ModeSwitchedAckEvent(self, short_name)
381
- self.addElement(event)
382
- return self.getElement(short_name, ModeSwitchedAckEvent)
383
-
384
- def createBackgroundEvent(self, short_name: str) -> BackgroundEvent:
385
- if not self.IsElementExists(short_name):
386
- event = BackgroundEvent(self, short_name)
387
- self.addElement(event)
388
- return self.getElement(short_name, BackgroundEvent)
389
-
390
- def createDataSendCompletedEvent(self, short_name: str) -> DataSendCompletedEvent:
391
- if not self.IsElementExists(short_name):
392
- event = DataSendCompletedEvent(self, short_name)
393
- self.addElement(event)
394
- return self.getElement(short_name, DataSendCompletedEvent)
395
-
396
- def getRteEvents(self) -> List[RTEEvent]:
397
- return sorted(filter(lambda c: isinstance(c, RTEEvent), self.elements), key=lambda e: e.short_name)
398
-
399
- def getOperationInvokedEvents(self) -> List[OperationInvokedEvent]:
400
- return sorted(filter(lambda c: isinstance(c, OperationInvokedEvent), self.elements), key=lambda e: e.short_name)
401
-
402
- def getInitEvents(self) -> List[InitEvent]:
403
- return sorted(filter(lambda c: isinstance(c, InitEvent), self.elements), key=lambda e: e.short_name)
404
-
405
- def getTimingEvents(self) -> List[TimingEvent]:
406
- return sorted(filter(lambda c: isinstance(c, TimingEvent), self.elements), key=lambda e: e.short_name)
407
-
408
- def getDataReceivedEvents(self) -> List[DataReceivedEvent]:
409
- return sorted(filter(lambda c: isinstance(c, DataReceivedEvent), self.elements), key=lambda e: e.short_name)
410
-
411
- def getSwcModeSwitchEvents(self) -> List[SwcModeSwitchEvent]:
412
- return sorted(filter(lambda c: isinstance(c, SwcModeSwitchEvent), self.elements), key=lambda e: e.short_name)
413
-
414
- def getInternalTriggerOccurredEvents(self) -> List[InternalTriggerOccurredEvent]:
415
- return sorted(filter(lambda c: isinstance(c, InternalTriggerOccurredEvent), self.elements), key=lambda e: e.short_name)
416
-
417
- def getModeSwitchedAckEvents(self) -> List[ModeSwitchedAckEvent]:
418
- return sorted(filter(lambda c: isinstance(c, ModeSwitchedAckEvent), self.elements), key=lambda e: e.short_name)
419
-
420
- def getBackgroundEvents(self) -> List[BackgroundEvent]:
421
- return sorted(filter(lambda c: isinstance(c, BackgroundEvent), self.elements), key=lambda e: e.short_name)
422
-
423
- def getDataSendCompletedEvents(self) -> List[DataSendCompletedEvent]:
424
- return sorted(filter(lambda c: isinstance(c, DataSendCompletedEvent), self.elements), key=lambda e: e.short_name)
425
-
426
- def getSwcServiceDependencies(self) -> List[SwcServiceDependency]:
427
- return sorted(filter(lambda c: isinstance(c, SwcServiceDependency), self.elements), key=lambda e: e.short_name)
428
-
429
- def getEvent(self, short_name: str) -> RTEEvent:
430
- '''
431
- if (not isinstance(self.elements[short_name], RTEEvent)):
432
- raise ValueError("Invalid Event Type <%s> of <%s>" %
433
- type(self.elements[short_name]), short_name)
434
- return self.elements[short_name]'
435
- '''
436
- return self.getElement(short_name, RTEEvent)
437
-
438
- def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
439
- if not self.IsElementExists(short_name):
440
- prototype = VariableDataPrototype(self, short_name)
441
- self.addElement(prototype)
442
- self.implicitInterRunnableVariables.append(prototype)
443
- return self.getElement(short_name)
444
-
445
- def createPerInstanceMemory(self, short_name: str) -> PerInstanceMemory:
446
- if not self.IsElementExists(short_name):
447
- memory = PerInstanceMemory(self, short_name)
448
- self.addElement(memory)
449
- self.perInstanceMemories.append(memory)
450
- return self.getElement(short_name)
451
-
452
- def createPerInstanceParameter(self, short_name: str) -> ParameterDataPrototype:
453
- if not self.IsElementExists(short_name):
454
- prototype = ParameterDataPrototype(self, short_name)
455
- self.addElement(prototype)
456
- self.perInstanceParameters.append(prototype)
457
- return self.getElement(short_name)
458
-
459
- def getVariableDataPrototypes(self) -> List[VariableDataPrototype]:
460
- return sorted(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements), key=lambda e: e.short_name)
461
-
462
- def createRunnableEntity(self, short_name: str) -> RunnableEntity:
463
- if not self.IsElementExists(short_name):
464
- runnable = RunnableEntity(self, short_name)
465
- self.addElement(runnable)
466
- return self.getElement(short_name)
467
-
468
- def getRunnableEntities(self) -> List[RunnableEntity]:
469
- return sorted(filter(lambda c: isinstance(c, RunnableEntity), self.elements), key=lambda r: r.short_name)
470
-
471
- def getRunnableEntity(self, short_name) -> RunnableEntity:
472
- return self.getElement(short_name, RunnableEntity)
473
-
474
- def getSharedParameters(self) -> List[ParameterDataPrototype]:
475
- return self.sharedParameters
476
-
477
- def createSharedParameter(self, short_name: str) -> ParameterDataPrototype:
478
- if not self.IsElementExists(short_name):
479
- memory = ParameterDataPrototype(self, short_name)
480
- self.addElement(memory)
481
- self.sharedParameters.append(memory)
482
- return self.getElement(short_name)
483
-
484
- def getSupportsMultipleInstantiation(self):
485
- return self.supportsMultipleInstantiation
486
-
487
- def setSupportsMultipleInstantiation(self, value):
488
- self.supportsMultipleInstantiation = value
489
- return self
1
+ from typing import Dict, List
2
+
3
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
4
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortAPIOption
5
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
6
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype
7
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
8
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PerInstanceMemory import PerInstanceMemory
9
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent
10
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataSendCompletedEvent
11
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent
12
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import ModeSwitchedAckEvent, OperationInvokedEvent, RTEEvent
13
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import SwcModeSwitchEvent, TimingEvent
14
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import SwcServiceDependency
15
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, Boolean, RefType, ARBoolean
16
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
17
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServerCall import ServerCallPoint
18
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet, ModeAccessPoint
19
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import ModeSwitchPoint
20
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.Trigger import ExternalTriggeringPoint, InternalTriggeringPoint
21
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
22
+ from armodel.models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
23
+
24
+
25
+ class RunnableEntityArgument(ARObject):
26
+ def __init__(self):
27
+ super().__init__()
28
+
29
+ self.symbol = None # type: ARLiteral
30
+
31
+ def getSymbol(self):
32
+ return self.symbol
33
+
34
+ def setSymbol(self, value):
35
+ self.symbol = value
36
+ return self
37
+
38
+
39
+ class AsynchronousServerCallResultPoint(AbstractAccessPoint):
40
+ def __init__(self, parent: ARObject, short_name: str):
41
+ super().__init__(parent, short_name)
42
+
43
+ self.asynchronousServerCallPointRef = None # type: RefType
44
+
45
+ def getAsynchronousServerCallPointRef(self):
46
+ return self.asynchronousServerCallPointRef
47
+
48
+ def setAsynchronousServerCallPointRef(self, value):
49
+ self.asynchronousServerCallPointRef = value
50
+ return self
51
+
52
+
53
+ class AsynchronousServerCallPoint(ServerCallPoint):
54
+ def __init__(self, parent: ARObject, short_name: str):
55
+ super().__init__(parent, short_name)
56
+
57
+
58
+ class SynchronousServerCallPoint(ServerCallPoint):
59
+ def __init__(self, parent: ARObject, short_name: str):
60
+ super().__init__(parent, short_name)
61
+
62
+ self.calledFromWithinExclusiveAreaRef = None # type: RefType
63
+
64
+ def getCalledFromWithinExclusiveAreaRef(self):
65
+ return self.calledFromWithinExclusiveAreaRef
66
+
67
+ def setCalledFromWithinExclusiveAreaRef(self, value):
68
+ self.calledFromWithinExclusiveAreaRef = value
69
+ return self
70
+
71
+
72
+ class RunnableEntity(ExecutableEntity):
73
+ def __init__(self, parent: ARObject, short_name: str):
74
+ super().__init__(parent, short_name)
75
+
76
+ self.arguments: List[RunnableEntityArgument] = []
77
+ self.asynchronousServerCallResultPoints: List[AsynchronousServerCallResultPoint] = []
78
+ self.canBeInvokedConcurrently: ARBoolean = None
79
+ self.dataReadAccesses: List[VariableAccess] = []
80
+ self.dataReceivePointByArguments: List[VariableAccess] = []
81
+ self.dataReceivePointByValues: List[VariableAccess] = []
82
+ self.dataSendPoints: List[VariableAccess] = []
83
+ self.dataWriteAccesses: List[VariableAccess] = []
84
+ self.externalTriggeringPoints: List[ExternalTriggeringPoint] = []
85
+ self.internalTriggeringPoints: List[InternalTriggeringPoint] = []
86
+ self.modeAccessPoints: List[ModeAccessPoint] = []
87
+ self.modeSwitchPoints: List[ModeSwitchPoint] = []
88
+ self.parameterAccesses: List[ParameterAccess] = []
89
+ self.readLocalVariables: List[VariableAccess] = []
90
+ self.serverCallPoints: List[ServerCallPoint] = []
91
+ self.symbol: ARLiteral = None
92
+ self.waitPoints = {} # type: Dict[str, WaitPoint]
93
+ self.writtenLocalVariables: List[VariableAccess] = []
94
+
95
+ def _createVariableAccess(self, short_name, variable_accesses: List[VariableAccess]):
96
+ if not self.IsElementExists(short_name):
97
+ variable_access = VariableAccess(self, short_name)
98
+ self.addElement(variable_access)
99
+ variable_accesses.append(variable_access)
100
+ return self.getElement(short_name, VariableAccess)
101
+
102
+ def getArguments(self):
103
+ return self.arguments
104
+
105
+ def addArgument(self, value):
106
+ self.arguments.append(value)
107
+ return self
108
+
109
+ def getCanBeInvokedConcurrently(self):
110
+ return self.canBeInvokedConcurrently
111
+
112
+ def setCanBeInvokedConcurrently(self, value):
113
+ self.canBeInvokedConcurrently = value
114
+ return self
115
+
116
+ def createDataReadAccess(self, short_name: str) -> VariableAccess:
117
+ return self._createVariableAccess(short_name, self.dataReadAccesses)
118
+
119
+ def getDataReadAccesses(self) -> List[VariableAccess]:
120
+ return sorted(self.dataReadAccesses, key=lambda v: v.short_name)
121
+
122
+ def createDataWriteAccess(self, short_name: str) -> VariableAccess:
123
+ return self._createVariableAccess(short_name, self.dataWriteAccesses)
124
+
125
+ def getDataWriteAccesses(self) -> List[VariableAccess]:
126
+ return sorted(self.dataWriteAccesses, key=lambda v: v.short_name)
127
+
128
+ def createDataReceivePointByArgument(self, short_name: str) -> VariableAccess:
129
+ return self._createVariableAccess(short_name, self.dataReceivePointByArguments)
130
+
131
+ def getDataReceivePointByArguments(self) -> List[VariableAccess]:
132
+ return sorted(self.dataReceivePointByArguments, key=lambda v: v.short_name)
133
+
134
+ def createDataReceivePointByValue(self, short_name: str) -> VariableAccess:
135
+ return self._createVariableAccess(short_name, self.dataReceivePointByValues)
136
+
137
+ def getDataReceivePointByValues(self) -> List[VariableAccess]:
138
+ return sorted(self.dataReceivePointByValues, key=lambda v: v.short_name)
139
+
140
+ def createDataSendPoint(self, short_name: str) -> VariableAccess:
141
+ return self._createVariableAccess(short_name, self.dataSendPoints)
142
+
143
+ def getDataSendPoints(self) -> List[VariableAccess]:
144
+ # return sorted(self.dataSendPoints.values(), key=lambda v: v.short_name)
145
+ return self.dataSendPoints
146
+
147
+ def createReadLocalVariable(self, short_name: str) -> VariableAccess:
148
+ return self._createVariableAccess(short_name, self.readLocalVariables)
149
+
150
+ def getReadLocalVariables(self) -> List[VariableAccess]:
151
+ # return sorted(self.readLocalVariables.values(), key=lambda v: v.short_name)
152
+ return self.readLocalVariables
153
+
154
+ def createWrittenLocalVariable(self, short_name: str) -> VariableAccess:
155
+ return self._createVariableAccess(short_name, self.writtenLocalVariables)
156
+
157
+ def getWrittenLocalVariables(self) -> List[VariableAccess]:
158
+ return self.writtenLocalVariables
159
+
160
+ def getParameterAccesses(self) -> List[ParameterAccess]:
161
+ return list(sorted(filter(lambda a: isinstance(a, ParameterAccess), self.elements), key=lambda o: o.short_name))
162
+
163
+ def createParameterAccess(self, short_name: str) -> ParameterAccess:
164
+ if not self.IsElementExists(short_name):
165
+ access = ParameterAccess(self, short_name)
166
+ self.addElement(access)
167
+ return self.getElement(short_name)
168
+
169
+ def createSynchronousServerCallPoint(self, short_name: str) -> SynchronousServerCallPoint:
170
+ if (short_name not in self.serverCallPoints):
171
+ point = SynchronousServerCallPoint(self, short_name)
172
+ self.addElement(point)
173
+ return self.getElement(short_name)
174
+ # self.serverCallPoints[short_name] = server_call_point
175
+ # return self.serverCallPoints[short_name]
176
+
177
+ def createAsynchronousServerCallPoint(self, short_name: str) -> AsynchronousServerCallPoint:
178
+ if (short_name not in self.serverCallPoints):
179
+ point = AsynchronousServerCallPoint(self, short_name)
180
+ self.addElement(point)
181
+ return self.getElement(short_name, AsynchronousServerCallPoint)
182
+ # self.serverCallPoints[short_name] = server_call_point
183
+ # return self.serverCallPoints[short_name]
184
+
185
+ def createAsynchronousServerCallResultPoint(self, short_name: str) -> AsynchronousServerCallResultPoint:
186
+ if (short_name not in self.serverCallPoints):
187
+ point = AsynchronousServerCallResultPoint(self, short_name)
188
+ self.addElement(point)
189
+ return self.getElement(short_name)
190
+
191
+ def getSynchronousServerCallPoint(self) -> List[SynchronousServerCallPoint]:
192
+ return list(sorted(filter(lambda a: isinstance(a, SynchronousServerCallPoint), self.elements), key=lambda o: o.getShortName()))
193
+
194
+ def getAsynchronousServerCallPoint(self) -> List[AsynchronousServerCallPoint]:
195
+ return list(sorted(filter(lambda a: isinstance(a, AsynchronousServerCallPoint), self.elements), key=lambda o: o.getShortName()))
196
+
197
+ def getAsynchronousServerCallResultPoints(self) -> List[AsynchronousServerCallResultPoint]:
198
+ return list(sorted(filter(lambda a: isinstance(a, AsynchronousServerCallResultPoint), self.elements), key=lambda o: o.getShortName())) # noqa E501
199
+
200
+ def getServerCallPoints(self) -> List[ServerCallPoint]:
201
+ return list(sorted(filter(lambda a: isinstance(a, ServerCallPoint), self.elements), key=lambda o: o.getShortName()))
202
+
203
+ def createInternalTriggeringPoint(self, short_name: str) -> InternalTriggeringPoint:
204
+ if not self.IsElementExists(short_name):
205
+ point = InternalTriggeringPoint(self, short_name)
206
+ self.addElement(point)
207
+ return self.getElement(short_name, InternalTriggeringPoint)
208
+
209
+ def getInternalTriggeringPoints(self) -> List[InternalTriggeringPoint]:
210
+ return filter(lambda o: isinstance(o, InternalTriggeringPoint), self.elements)
211
+
212
+ def getModeAccessPoints(self) -> List[ModeAccessPoint]:
213
+ return self.modeAccessPoints
214
+
215
+ def addModeAccessPoint(self, value):
216
+ self.modeAccessPoints.append(value)
217
+
218
+ def getModeSwitchPoints(self) -> List[ModeSwitchPoint]:
219
+ return list(sorted(filter(lambda a: isinstance(a, ModeSwitchPoint), self.elements), key=lambda o: o.short_name))
220
+
221
+ def createModeSwitchPoint(self, short_name: str) -> ModeSwitchPoint:
222
+ if not self.IsElementExists(short_name):
223
+ access = ModeSwitchPoint(self, short_name)
224
+ self.addElement(access)
225
+ self.modeSwitchPoints.append(access)
226
+ return self.getElement(short_name, ModeSwitchPoint)
227
+
228
+ def getSymbol(self):
229
+ return self.symbol
230
+
231
+ def setSymbol(self, value):
232
+ self.symbol = value
233
+ return self
234
+
235
+
236
+ class SwcInternalBehavior(InternalBehavior):
237
+ def __init__(self, parent: ARObject, short_name: str):
238
+ super().__init__(parent, short_name)
239
+
240
+ self.arTypedPerInstanceMemories = [] # type: List[VariableDataPrototype]
241
+ self.events = [] # type: List[RTEEvent]
242
+ self.exclusiveAreaPolicies = [] # type: List[SwcExclusiveAreaPolicy]
243
+ self.explicitInterRunnableVariables = [] # type: List[VariableDataPrototype]
244
+ self.handleTerminationAndRestart = None # type: str
245
+ self.implicitInterRunnableVariables = [] # type: List[VariableDataPrototype]
246
+ self.includedDataTypeSets = [] # type: List[IncludedDataTypeSet]
247
+ self.includedModeDeclarationGroupSets = [] # type: List[IncludedModeDeclarationGroupSet]
248
+ self.instantiationDataDefProps = [] # type: List[InstantiationDataDefProps]
249
+ self.perInstanceMemories = [] # type: List[PerInstanceMemory]
250
+ self.perInstanceParameters = [] # type: List[ParameterDataPrototype]
251
+ self.portAPIOptions = [] # type: List[PortAPIOption]
252
+ self.runnables = [] # type: List[RunnableEntity]
253
+ self.serviceDependencies = [] # type: List[SwcServiceDependency]
254
+ self.sharedParameters = [] # type: List[ParameterDataPrototype]
255
+ self.supportsMultipleInstantiation = None # type: Boolean
256
+ self.variationPointProxies = [] # type: List[VariationPointProxy]
257
+
258
+ def getArTypedPerInstanceMemories(self) -> List[VariableDataPrototype]:
259
+ return self.arTypedPerInstanceMemories
260
+
261
+ def createArTypedPerInstanceMemory(self, short_name: str) -> VariableDataPrototype:
262
+ if not self.IsElementExists(short_name):
263
+ prototype = VariableDataPrototype(self, short_name)
264
+ self.addElement(prototype)
265
+ self.arTypedPerInstanceMemories.append(prototype)
266
+ return self.getElement(short_name)
267
+
268
+ def getExplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
269
+ return self.explicitInterRunnableVariables
270
+
271
+ def createExplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
272
+ if not self.IsElementExists(short_name):
273
+ prototype = VariableDataPrototype(self, short_name)
274
+ self.addElement(prototype)
275
+ self.explicitInterRunnableVariables.append(prototype)
276
+ return self.getElement(short_name)
277
+
278
+ def getHandleTerminationAndRestart(self):
279
+ return self.handleTerminationAndRestart
280
+
281
+ def setHandleTerminationAndRestart(self, value):
282
+ self.handleTerminationAndRestart = value
283
+ return self
284
+
285
+ def getImplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
286
+ return self.implicitInterRunnableVariables
287
+
288
+ def getPerInstanceMemories(self) -> List[PerInstanceMemory]:
289
+ return self.perInstanceMemories
290
+
291
+ def getPerInstanceParameters(self) -> List[ParameterDataPrototype]:
292
+ return self.perInstanceParameters
293
+
294
+ def addPortAPIOption(self, option: PortAPIOption):
295
+ self.portAPIOptions.append(option)
296
+
297
+ def getPortAPIOptions(self) -> List[PortAPIOption]:
298
+ return self.portAPIOptions
299
+
300
+ def addIncludedDataTypeSet(self, set: IncludedDataTypeSet):
301
+ self.includedDataTypeSets.append(set)
302
+
303
+ def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
304
+ return self.includedDataTypeSets
305
+
306
+ def getIncludedModeDeclarationGroupSets(self):
307
+ return self.includedModeDeclarationGroupSets
308
+
309
+ def addIncludedModeDeclarationGroupSet(self, value):
310
+ if value is not None:
311
+ self.includedModeDeclarationGroupSets.append(value)
312
+ return self
313
+
314
+ def createOperationInvokedEvent(self, short_name: str) -> OperationInvokedEvent:
315
+ if not self.IsElementExists(short_name):
316
+ event = OperationInvokedEvent(self, short_name)
317
+ self.addElement(event)
318
+ return self.getElement(short_name, OperationInvokedEvent)
319
+
320
+ def createTimingEvent(self, short_name: str) -> TimingEvent:
321
+ if not self.IsElementExists(short_name):
322
+ event = TimingEvent(self, short_name)
323
+ self.addElement(event)
324
+ return self.getElement(short_name, TimingEvent)
325
+
326
+ def createInitEvent(self, short_name: str) -> InitEvent:
327
+ if not self.IsElementExists(short_name):
328
+ event = InitEvent(self, short_name)
329
+ self.addElement(event)
330
+ return self.getElement(short_name, InitEvent)
331
+
332
+ def createAsynchronousServerCallReturnsEvent(self, short_name: str) -> AsynchronousServerCallReturnsEvent:
333
+ if not self.IsElementExists(short_name):
334
+ event = AsynchronousServerCallReturnsEvent(self, short_name)
335
+ self.addElement(event)
336
+ return self.getElement(short_name, AsynchronousServerCallReturnsEvent)
337
+
338
+ def createDataReceivedEvent(self, short_name: str) -> DataReceivedEvent:
339
+ if not self.IsElementExists(short_name):
340
+ event = DataReceivedEvent(self, short_name)
341
+ self.addElement(event)
342
+ return self.getElement(short_name, DataReceivedEvent)
343
+
344
+ def createSwcModeSwitchEvent(self, short_name: str) -> SwcModeSwitchEvent:
345
+ if not self.IsElementExists(short_name):
346
+ event = SwcModeSwitchEvent(self, short_name)
347
+ self.addElement(event)
348
+ return self.getElement(short_name, SwcModeSwitchEvent)
349
+
350
+ def createInternalTriggerOccurredEvent(self, short_name: str) -> InternalTriggerOccurredEvent:
351
+ if not self.IsElementExists(short_name):
352
+ event = InternalTriggerOccurredEvent(self, short_name)
353
+ self.addElement(event)
354
+ return self.getElement(short_name, InternalTriggerOccurredEvent)
355
+
356
+ def createSwcServiceDependency(self, short_name: str) -> SwcServiceDependency:
357
+ if not self.IsElementExists(short_name):
358
+ event = SwcServiceDependency(self, short_name)
359
+ self.addElement(event)
360
+ return self.getElement(short_name, SwcServiceDependency)
361
+
362
+ def createModeSwitchedAckEvent(self, short_name: str) -> ModeSwitchedAckEvent:
363
+ if not self.IsElementExists(short_name):
364
+ event = ModeSwitchedAckEvent(self, short_name)
365
+ self.addElement(event)
366
+ return self.getElement(short_name, ModeSwitchedAckEvent)
367
+
368
+ def createBackgroundEvent(self, short_name: str) -> BackgroundEvent:
369
+ if not self.IsElementExists(short_name):
370
+ event = BackgroundEvent(self, short_name)
371
+ self.addElement(event)
372
+ return self.getElement(short_name, BackgroundEvent)
373
+
374
+ def createDataSendCompletedEvent(self, short_name: str) -> DataSendCompletedEvent:
375
+ if not self.IsElementExists(short_name):
376
+ event = DataSendCompletedEvent(self, short_name)
377
+ self.addElement(event)
378
+ return self.getElement(short_name, DataSendCompletedEvent)
379
+
380
+ def getRteEvents(self) -> List[RTEEvent]:
381
+ return sorted(filter(lambda c: isinstance(c, RTEEvent), self.elements), key=lambda e: e.short_name)
382
+
383
+ def getOperationInvokedEvents(self) -> List[OperationInvokedEvent]:
384
+ return sorted(filter(lambda c: isinstance(c, OperationInvokedEvent), self.elements), key=lambda e: e.short_name)
385
+
386
+ def getInitEvents(self) -> List[InitEvent]:
387
+ return sorted(filter(lambda c: isinstance(c, InitEvent), self.elements), key=lambda e: e.short_name)
388
+
389
+ def getTimingEvents(self) -> List[TimingEvent]:
390
+ return sorted(filter(lambda c: isinstance(c, TimingEvent), self.elements), key=lambda e: e.short_name)
391
+
392
+ def getDataReceivedEvents(self) -> List[DataReceivedEvent]:
393
+ return sorted(filter(lambda c: isinstance(c, DataReceivedEvent), self.elements), key=lambda e: e.short_name)
394
+
395
+ def getSwcModeSwitchEvents(self) -> List[SwcModeSwitchEvent]:
396
+ return sorted(filter(lambda c: isinstance(c, SwcModeSwitchEvent), self.elements), key=lambda e: e.short_name)
397
+
398
+ def getInternalTriggerOccurredEvents(self) -> List[InternalTriggerOccurredEvent]:
399
+ return sorted(filter(lambda c: isinstance(c, InternalTriggerOccurredEvent), self.elements), key=lambda e: e.short_name)
400
+
401
+ def getModeSwitchedAckEvents(self) -> List[ModeSwitchedAckEvent]:
402
+ return sorted(filter(lambda c: isinstance(c, ModeSwitchedAckEvent), self.elements), key=lambda e: e.short_name)
403
+
404
+ def getBackgroundEvents(self) -> List[BackgroundEvent]:
405
+ return sorted(filter(lambda c: isinstance(c, BackgroundEvent), self.elements), key=lambda e: e.short_name)
406
+
407
+ def getDataSendCompletedEvents(self) -> List[DataSendCompletedEvent]:
408
+ return sorted(filter(lambda c: isinstance(c, DataSendCompletedEvent), self.elements), key=lambda e: e.short_name)
409
+
410
+ def getSwcServiceDependencies(self) -> List[SwcServiceDependency]:
411
+ return sorted(filter(lambda c: isinstance(c, SwcServiceDependency), self.elements), key=lambda e: e.short_name)
412
+
413
+ def getEvent(self, short_name: str) -> RTEEvent:
414
+ '''
415
+ if (not isinstance(self.elements[short_name], RTEEvent)):
416
+ raise ValueError("Invalid Event Type <%s> of <%s>" %
417
+ type(self.elements[short_name]), short_name)
418
+ return self.elements[short_name]'
419
+ '''
420
+ return self.getElement(short_name, RTEEvent)
421
+
422
+ def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
423
+ if not self.IsElementExists(short_name):
424
+ prototype = VariableDataPrototype(self, short_name)
425
+ self.addElement(prototype)
426
+ self.implicitInterRunnableVariables.append(prototype)
427
+ return self.getElement(short_name)
428
+
429
+ def createPerInstanceMemory(self, short_name: str) -> PerInstanceMemory:
430
+ if not self.IsElementExists(short_name):
431
+ memory = PerInstanceMemory(self, short_name)
432
+ self.addElement(memory)
433
+ self.perInstanceMemories.append(memory)
434
+ return self.getElement(short_name)
435
+
436
+ def createPerInstanceParameter(self, short_name: str) -> ParameterDataPrototype:
437
+ if not self.IsElementExists(short_name):
438
+ prototype = ParameterDataPrototype(self, short_name)
439
+ self.addElement(prototype)
440
+ self.perInstanceParameters.append(prototype)
441
+ return self.getElement(short_name)
442
+
443
+ def getVariableDataPrototypes(self) -> List[VariableDataPrototype]:
444
+ return sorted(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements), key=lambda e: e.short_name)
445
+
446
+ def createRunnableEntity(self, short_name: str) -> RunnableEntity:
447
+ if not self.IsElementExists(short_name):
448
+ runnable = RunnableEntity(self, short_name)
449
+ self.addElement(runnable)
450
+ return self.getElement(short_name)
451
+
452
+ def getRunnableEntities(self) -> List[RunnableEntity]:
453
+ return sorted(filter(lambda c: isinstance(c, RunnableEntity), self.elements), key=lambda r: r.short_name)
454
+
455
+ def getRunnableEntity(self, short_name) -> RunnableEntity:
456
+ return self.getElement(short_name, RunnableEntity)
457
+
458
+ def getSharedParameters(self) -> List[ParameterDataPrototype]:
459
+ return self.sharedParameters
460
+
461
+ def createSharedParameter(self, short_name: str) -> ParameterDataPrototype:
462
+ if not self.IsElementExists(short_name):
463
+ memory = ParameterDataPrototype(self, short_name)
464
+ self.addElement(memory)
465
+ self.sharedParameters.append(memory)
466
+ return self.getElement(short_name)
467
+
468
+ def getSupportsMultipleInstantiation(self):
469
+ return self.supportsMultipleInstantiation
470
+
471
+ def setSupportsMultipleInstantiation(self, value):
472
+ self.supportsMultipleInstantiation = value
473
+ return self