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.
- armodel/__init__.py +19 -3
- armodel/cli/arxml_dump_cli.py +196 -197
- armodel/cli/arxml_format_cli.py +84 -84
- armodel/cli/connector2xlsx_cli.py +73 -73
- armodel/cli/connector_update_cli.py +73 -73
- armodel/cli/file_list_cli.py +69 -69
- armodel/cli/format_xml_cli.py +62 -62
- armodel/cli/memory_section_cli.py +74 -75
- armodel/cli/swc_list_cli.py +79 -79
- armodel/cli/system_signal_cli.py +73 -73
- armodel/cli/uuid_checker_cli.py +95 -95
- armodel/data_models/sw_connector.py +21 -21
- armodel/lib/__init__.py +4 -4
- armodel/lib/cli_args_parser.py +36 -35
- armodel/lib/sw_component.py +34 -35
- armodel/lib/system_signal.py +36 -36
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRule.py +62 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/FirewallRuleProps.py +83 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/StateDependentFirewall.py +62 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/Firewall/__init__.py +5 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure/__init__.py +320 -0
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +315 -318
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswAsynchronousServerCallReturnsEvent.py +27 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswExclusiveAreaPolicy.py +22 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswInterruptEvent.py +18 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeManagerErrorEvent.py +18 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswModeReceiverPolicy.py +22 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswSchedulerNamePrefix.py +26 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswServiceDependency.py +27 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/BswTriggerDirectImplementation.py +21 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior/RoleBasedBswModuleEntryAssignment.py +35 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2223 -791
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +180 -60
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationship.py +26 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipEnum.py +24 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces/BswEntryRelationshipSet.py +24 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +586 -200
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/ModeInBswModuleDescriptionInstanceRef.py +17 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +445 -179
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Constants/__init__.py +670 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +243 -96
- armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +273 -69
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +756 -243
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +336 -170
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +430 -136
- armodel/models/M2/AUTOSARTemplates/CommonStructure/McGroups.py +53 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/ImplementationElementInParameterInstanceRef.py +15 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataAccessDetails.py +60 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McDataInstance.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McFunction.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McParameterElementGroup.py +39 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSupportData.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/McSwEmulationMethodSupport.py +37 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RoleBasedMcDataAssignment.py +61 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/McFunctionDataRefSet.py +39 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptAccessEnum.py +12 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptComponent.py +60 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptEnablerImplTypeEnum.py +11 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntity.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutableEntityEvent.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionContext.py +38 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptExecutionControlEnum.py +11 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptPreparationEnum.py +11 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptServicePoint.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSupportData.py +111 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/RptSwPrototypingAccess.py +62 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/RptSupport/__init__.py +27 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/MeasurementCalibrationSupport/__init__.py +19 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +424 -148
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclarationExtra.py +73 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/ExecutionTime/__init__.py +132 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +93 -32
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +78 -10
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +239 -81
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +68 -23
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +274 -92
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +135 -53
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +2955 -839
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationControlEnum.py +11 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationElementProps.py +37 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationEventProps.py +37 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationProps.py +38 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/SignalServiceTranslationPropsSet.py +38 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SignalServiceTranslation/__init__.py +13 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/AtpBlueprint.py +32 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/AbstractBlueprintStructure/__init__.py +7 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +186 -73
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +10 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/BlueprintGenerator.py +37 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintGenerator/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/BlueprintMappingSet.py +38 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintMapping/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +126 -45
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +5 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +290 -77
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TDLETZoneClock.py +61 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClock.py +60 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/TimingClockSyncAccuracy.py +60 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingClock/__init__.py +5 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInBswInstanceRef.py +14 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/ModeInSwcInstanceRef.py +14 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingCondition.py +61 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingConditionFormula.py +37 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingExtensionResource.py +60 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/TimingModeInstance.py +61 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingCondition/__init__.py +15 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/AgeConstraint.py +57 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/EventTriggeringConstraint.py +203 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +193 -45
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionTimeConstraint.py +101 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/LatencyTimingConstraint.py +100 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/OffsetConstraint.py +56 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationPointConstraint.py +57 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/SynchronizationTiming.py +117 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +59 -24
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +69 -32
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__init__.py +48 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/Traceable.py +11 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__init__.py +16 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +147 -52
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +17 -205
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticCommonElement.py +11 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +137 -47
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +10 -0
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +285 -346
- armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1561 -1249
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwAttributeValue.py +117 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +176 -59
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementConnector.py +73 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +401 -145
- armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +293 -92
- armodel/models/M2/AUTOSARTemplates/GenericStructure/DocumentationOnM1/__init__.py +39 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1314 -816
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/AnyInstanceRef.py +88 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +37 -17
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +197 -74
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +129 -51
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Enumerations.py +16 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +599 -236
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +902 -594
- armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +395 -155
- armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/AtpDefinition.py +36 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/RolesAndRights/__init__.py +7 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/AttributeValueVariationPoints/__init__.py +36 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/VariantHandling/__init__.py +182 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/ApplicationAttributes/__init__.py +97 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +784 -712
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +186 -179
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +363 -463
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +160 -154
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +160 -100
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +145 -145
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +137 -131
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +191 -184
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py +45 -39
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +647 -641
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py +21 -17
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +84 -80
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwComponentType.py +76 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +37 -34
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +26 -21
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +39 -34
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +57 -52
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +32 -24
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +160 -155
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +68 -63
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +46 -40
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +91 -86
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +219 -206
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +33 -26
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +148 -137
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +54 -49
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +488 -489
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +334 -259
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +62 -58
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +48 -29
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/{EcuResourceMapping.py → ECUResourceMapping.py} +48 -45
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py +139 -122
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +628 -344
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__init__.py +2 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +267 -244
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +30 -16
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +750 -685
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +375 -327
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +924 -975
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +92 -76
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +669 -654
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +193 -149
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +110 -92
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +205 -205
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +1376 -1232
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +800 -662
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +269 -270
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +172 -172
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +90 -87
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +899 -789
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +43 -35
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +65 -52
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +105 -83
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +574 -524
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +739 -658
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +493 -458
- armodel/models/M2/MSR/AsamHdo/AdminData.py +150 -136
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +95 -76
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +367 -329
- armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +58 -41
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +99 -87
- armodel/models/M2/MSR/AsamHdo/Units.py +159 -105
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +55 -57
- armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +40 -41
- armodel/models/M2/MSR/DataDictionary/Axis.py +142 -144
- armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +35 -36
- armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +383 -351
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +207 -209
- armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +31 -33
- armodel/models/M2/MSR/DataDictionary/SystemConstant.py +32 -0
- armodel/models/M2/MSR/Documentation/Annotation.py +40 -41
- armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +162 -163
- armodel/models/M2/MSR/Documentation/BlockElements/Formula/__init__.py +26 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +55 -56
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +35 -30
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +110 -110
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +57 -44
- armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +59 -58
- armodel/models/M2/MSR/Documentation/__init__.py +3 -3
- armodel/models/M2/MSR/documentation/__init__.py +3 -0
- armodel/models/__init__.py +86 -86
- armodel/models/utils/uuid_mgr.py +28 -29
- armodel/parser/__init__.py +2 -2
- armodel/parser/abstract_arxml_parser.py +323 -325
- armodel/parser/arxml_parser.py +5832 -5830
- armodel/parser/connector_xlsx_parser.py +192 -193
- armodel/parser/excel_parser.py +17 -17
- armodel/parser/file_parser.py +46 -46
- armodel/report/__init__.py +1 -1
- armodel/report/connector_xls_report.py +76 -77
- armodel/report/excel_report.py +41 -41
- armodel/transformer/abstract.py +6 -6
- armodel/transformer/admin_data.py +31 -31
- armodel/writer/__init__.py +1 -1
- armodel/writer/abstract_arxml_writer.py +146 -147
- armodel/writer/arxml_writer.py +5969 -5965
- {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/METADATA +850 -662
- armodel-1.9.1.dist-info/RECORD +273 -0
- {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/WHEEL +1 -1
- {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/entry_points.txt +0 -1
- {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info/licenses}/LICENSE +21 -21
- armodel/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +0 -24
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/BlockElements.py +0 -18
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
- armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
- armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
- armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
- armodel/tests/__init__.py +0 -0
- armodel/tests/test_armodel/__init__.py +0 -0
- armodel/tests/test_armodel/models/__init__.py +0 -0
- armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +0 -116
- armodel/tests/test_armodel/models/test_Identifiable.py +0 -85
- armodel/tests/test_armodel/models/test_ar_object.py +0 -154
- armodel/tests/test_armodel/models/test_ar_package.py +0 -304
- armodel/tests/test_armodel/models/test_ar_ref.py +0 -81
- armodel/tests/test_armodel/models/test_bsw_module_template.py +0 -52
- armodel/tests/test_armodel/models/test_common_structure.py +0 -82
- armodel/tests/test_armodel/models/test_data_dictionary.py +0 -30
- armodel/tests/test_armodel/models/test_data_prototype.py +0 -93
- armodel/tests/test_armodel/models/test_datatype.py +0 -251
- armodel/tests/test_armodel/models/test_general_structure.py +0 -56
- armodel/tests/test_armodel/models/test_implementation.py +0 -27
- armodel/tests/test_armodel/models/test_m2_msr.py +0 -79
- armodel/tests/test_armodel/models/test_port_interface.py +0 -202
- armodel/tests/test_armodel/models/test_port_prototype.py +0 -15
- armodel/tests/test_armodel/parser/__init__.py +0 -0
- armodel/tests/test_armodel/parser/test_arxml_parser.py +0 -53
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +0 -218
- armodel/tests/test_armodel/parser/test_implementation_data_type.py +0 -247
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +0 -202
- armodel/tests/test_armodel/parser/test_rte_event.py +0 -142
- armodel/tests/test_armodel/parser/test_runnable_entity.py +0 -135
- armodel/tests/test_armodel/parser/test_sw_components.py +0 -484
- armodel/tests/test_armodel/parser/test_system.py +0 -23
- armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
- armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
- armodel-1.8.7.dist-info/RECORD +0 -360
- {armodel-1.8.7.dist-info → armodel-1.9.1.dist-info}/top_level.txt +0 -0
|
@@ -1,792 +1,2224 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
def
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
self.
|
|
136
|
-
|
|
137
|
-
self.
|
|
138
|
-
|
|
139
|
-
def
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
return self.
|
|
171
|
-
|
|
172
|
-
def
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
super().__init__(parent, short_name)
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
def
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
def __init__(self):
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
self
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
self.
|
|
389
|
-
|
|
390
|
-
self.
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
return self.
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
self.
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
self.
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
self.
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
return self.
|
|
540
|
-
|
|
541
|
-
def
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
self
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
return self
|
|
564
|
-
|
|
565
|
-
def
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
def
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
self
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
return self.
|
|
743
|
-
|
|
744
|
-
def
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
return
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
def
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
def
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
self.
|
|
788
|
-
|
|
789
|
-
def
|
|
790
|
-
|
|
791
|
-
|
|
1
|
+
"""
|
|
2
|
+
This module contains classes for representing AUTOSAR Basic Software (BSW) module behavior.
|
|
3
|
+
BSW behavior describes how BSW modules execute, including their entities, events, and execution policies.
|
|
4
|
+
|
|
5
|
+
These classes are used to model:
|
|
6
|
+
- BSW module entities and their call points
|
|
7
|
+
- Different types of events that trigger execution
|
|
8
|
+
- Variable access patterns and data policies
|
|
9
|
+
- Internal behavior of BSW modules
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
from abc import ABC
|
|
13
|
+
from typing import List
|
|
14
|
+
|
|
15
|
+
from armodel.models.M2.MSR.DataDictionary.DataDefProperties import SwImplPolicyEnum
|
|
16
|
+
from armodel.models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import AbstractEvent, ExecutableEntity, InternalBehavior
|
|
17
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
18
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, AREnum, ARFloat, ARNumerical, Boolean
|
|
19
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, String, TimeValue
|
|
20
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
21
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
22
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Referrable
|
|
23
|
+
from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import VariableDataPrototype
|
|
24
|
+
from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
|
|
25
|
+
from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
|
|
26
|
+
from armodel.models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeActivationKind
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class BswModuleCallPoint(Referrable, ABC):
|
|
30
|
+
"""
|
|
31
|
+
Represents a call point for a BSW module, which defines how the module can be called.
|
|
32
|
+
This is an abstract base class for different types of call points.
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
36
|
+
"""
|
|
37
|
+
Initializes the BswModuleCallPoint with a parent and short name.
|
|
38
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
39
|
+
|
|
40
|
+
Args:
|
|
41
|
+
parent: The parent ARObject that contains this call point
|
|
42
|
+
short_name: The unique short name of this call point
|
|
43
|
+
"""
|
|
44
|
+
if type(self) is BswModuleCallPoint:
|
|
45
|
+
raise TypeError("BswModuleCallPoint is an abstract class.")
|
|
46
|
+
super().__init__(parent, short_name)
|
|
47
|
+
|
|
48
|
+
# List of context limitation references that apply to this call point
|
|
49
|
+
self.contextLimitationRefs: List[RefType] = []
|
|
50
|
+
|
|
51
|
+
def getContextLimitationRefs(self):
|
|
52
|
+
"""
|
|
53
|
+
Gets the list of context limitation references for this call point.
|
|
54
|
+
|
|
55
|
+
Returns:
|
|
56
|
+
List of context limitation references
|
|
57
|
+
"""
|
|
58
|
+
return self.contextLimitationRefs
|
|
59
|
+
|
|
60
|
+
def addContextLimitationRef(self, value):
|
|
61
|
+
"""
|
|
62
|
+
Adds a context limitation reference to this call point.
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
value: The context limitation reference to add
|
|
66
|
+
|
|
67
|
+
Returns:
|
|
68
|
+
self for method chaining
|
|
69
|
+
"""
|
|
70
|
+
self.contextLimitationRefs.append(value)
|
|
71
|
+
return self
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class BswAsynchronousServerCallPoint(BswModuleCallPoint):
|
|
75
|
+
"""
|
|
76
|
+
Represents an asynchronous server call point in a BSW module.
|
|
77
|
+
This call point is used when the server operation is executed asynchronously.
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
81
|
+
"""
|
|
82
|
+
Initializes the BswAsynchronousServerCallPoint with a parent and short name.
|
|
83
|
+
|
|
84
|
+
Args:
|
|
85
|
+
parent: The parent ARObject that contains this call point
|
|
86
|
+
short_name: The unique short name of this call point
|
|
87
|
+
"""
|
|
88
|
+
super().__init__(parent, short_name)
|
|
89
|
+
|
|
90
|
+
# Reference to the entry that is called by this asynchronous call point
|
|
91
|
+
self.calledEntryRef: RefType = None
|
|
92
|
+
|
|
93
|
+
def getCalledEntryRef(self):
|
|
94
|
+
"""
|
|
95
|
+
Gets the reference to the entry that is called by this call point.
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
Reference to the called entry
|
|
99
|
+
"""
|
|
100
|
+
return self.calledEntryRef
|
|
101
|
+
|
|
102
|
+
def setCalledEntryRef(self, value):
|
|
103
|
+
"""
|
|
104
|
+
Sets the reference to the entry that is called by this call point.
|
|
105
|
+
Only sets the value if it is not None.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
value: The entry reference to set
|
|
109
|
+
|
|
110
|
+
Returns:
|
|
111
|
+
self for method chaining
|
|
112
|
+
"""
|
|
113
|
+
if value is not None:
|
|
114
|
+
self.calledEntryRef = value
|
|
115
|
+
return self
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class BswDirectCallPoint(BswModuleCallPoint):
|
|
119
|
+
"""
|
|
120
|
+
Represents a direct call point in a BSW module.
|
|
121
|
+
This call point is used for direct synchronous calls to BSW module entries.
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
125
|
+
"""
|
|
126
|
+
Initializes the BswDirectCallPoint with a parent and short name.
|
|
127
|
+
|
|
128
|
+
Args:
|
|
129
|
+
parent: The parent ARObject that contains this call point
|
|
130
|
+
short_name: The unique short name of this call point
|
|
131
|
+
"""
|
|
132
|
+
super().__init__(parent, short_name)
|
|
133
|
+
|
|
134
|
+
# Reference to the entry that is called by this direct call point
|
|
135
|
+
self.calledEntryRef: RefType = None
|
|
136
|
+
# Reference to an exclusive area from which this call is made
|
|
137
|
+
self.calledFromWithinExclusiveAreaRef: RefType = None
|
|
138
|
+
|
|
139
|
+
def getCalledEntryRef(self):
|
|
140
|
+
"""
|
|
141
|
+
Gets the reference to the entry that is called by this direct call point.
|
|
142
|
+
|
|
143
|
+
Returns:
|
|
144
|
+
Reference to the called entry
|
|
145
|
+
"""
|
|
146
|
+
return self.calledEntryRef
|
|
147
|
+
|
|
148
|
+
def setCalledEntryRef(self, value):
|
|
149
|
+
"""
|
|
150
|
+
Sets the reference to the entry that is called by this direct call point.
|
|
151
|
+
Only sets the value if it is not None.
|
|
152
|
+
|
|
153
|
+
Args:
|
|
154
|
+
value: The entry reference to set
|
|
155
|
+
|
|
156
|
+
Returns:
|
|
157
|
+
self for method chaining
|
|
158
|
+
"""
|
|
159
|
+
if value is not None:
|
|
160
|
+
self.calledEntryRef = value
|
|
161
|
+
return self
|
|
162
|
+
|
|
163
|
+
def getCalledFromWithinExclusiveAreaRef(self):
|
|
164
|
+
"""
|
|
165
|
+
Gets the reference to the exclusive area from which this call is made.
|
|
166
|
+
|
|
167
|
+
Returns:
|
|
168
|
+
Reference to the exclusive area
|
|
169
|
+
"""
|
|
170
|
+
return self.calledFromWithinExclusiveAreaRef
|
|
171
|
+
|
|
172
|
+
def setCalledFromWithinExclusiveAreaRef(self, value):
|
|
173
|
+
"""
|
|
174
|
+
Sets the reference to the exclusive area from which this call is made.
|
|
175
|
+
Only sets the value if it is not None.
|
|
176
|
+
|
|
177
|
+
Args:
|
|
178
|
+
value: The exclusive area reference to set
|
|
179
|
+
|
|
180
|
+
Returns:
|
|
181
|
+
self for method chaining
|
|
182
|
+
"""
|
|
183
|
+
if value is not None:
|
|
184
|
+
self.calledFromWithinExclusiveAreaRef = value
|
|
185
|
+
return self
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class BswSynchronousServerCallPoint(BswModuleCallPoint):
|
|
189
|
+
"""
|
|
190
|
+
Represents a synchronous server call point in a BSW module.
|
|
191
|
+
This call point is used when the server operation is executed synchronously.
|
|
192
|
+
"""
|
|
193
|
+
|
|
194
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
195
|
+
"""
|
|
196
|
+
Initializes the BswSynchronousServerCallPoint with a parent and short name.
|
|
197
|
+
|
|
198
|
+
Args:
|
|
199
|
+
parent: The parent ARObject that contains this call point
|
|
200
|
+
short_name: The unique short name of this call point
|
|
201
|
+
"""
|
|
202
|
+
super().__init__(parent, short_name)
|
|
203
|
+
|
|
204
|
+
# Reference to the entry that is called by this synchronous call point
|
|
205
|
+
self.calledEntryRef: RefType = None
|
|
206
|
+
# Reference to an exclusive area from which this call is made
|
|
207
|
+
self.calledFromWithinExclusiveAreaRef: RefType = None
|
|
208
|
+
|
|
209
|
+
def getCalledEntryRef(self):
|
|
210
|
+
"""
|
|
211
|
+
Gets the reference to the entry that is called by this synchronous call point.
|
|
212
|
+
|
|
213
|
+
Returns:
|
|
214
|
+
Reference to the called entry
|
|
215
|
+
"""
|
|
216
|
+
return self.calledEntryRef
|
|
217
|
+
|
|
218
|
+
def setCalledEntryRef(self, value):
|
|
219
|
+
"""
|
|
220
|
+
Sets the reference to the entry that is called by this synchronous call point.
|
|
221
|
+
Only sets the value if it is not None.
|
|
222
|
+
|
|
223
|
+
Args:
|
|
224
|
+
value: The entry reference to set
|
|
225
|
+
|
|
226
|
+
Returns:
|
|
227
|
+
self for method chaining
|
|
228
|
+
"""
|
|
229
|
+
if value is not None:
|
|
230
|
+
self.calledEntryRef = value
|
|
231
|
+
return self
|
|
232
|
+
|
|
233
|
+
def getCalledFromWithinExclusiveAreaRef(self):
|
|
234
|
+
"""
|
|
235
|
+
Gets the reference to the exclusive area from which this call is made.
|
|
236
|
+
|
|
237
|
+
Returns:
|
|
238
|
+
Reference to the exclusive area
|
|
239
|
+
"""
|
|
240
|
+
return self.calledFromWithinExclusiveAreaRef
|
|
241
|
+
|
|
242
|
+
def setCalledFromWithinExclusiveAreaRef(self, value):
|
|
243
|
+
"""
|
|
244
|
+
Sets the reference to the exclusive area from which this call is made.
|
|
245
|
+
Only sets the value if it is not None.
|
|
246
|
+
|
|
247
|
+
Args:
|
|
248
|
+
value: The exclusive area reference to set
|
|
249
|
+
|
|
250
|
+
Returns:
|
|
251
|
+
self for method chaining
|
|
252
|
+
"""
|
|
253
|
+
if value is not None:
|
|
254
|
+
self.calledFromWithinExclusiveAreaRef = value
|
|
255
|
+
return self
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class BswAsynchronousServerCallResultPoint(BswModuleCallPoint):
|
|
259
|
+
"""
|
|
260
|
+
Represents a result point for an asynchronous server call in a BSW module.
|
|
261
|
+
This defines where the result of the asynchronous call is handled.
|
|
262
|
+
"""
|
|
263
|
+
|
|
264
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
265
|
+
"""
|
|
266
|
+
Initializes the BswAsynchronousServerCallResultPoint with a parent and short name.
|
|
267
|
+
|
|
268
|
+
Args:
|
|
269
|
+
parent: The parent ARObject that contains this call point
|
|
270
|
+
short_name: The unique short name of this call point
|
|
271
|
+
"""
|
|
272
|
+
super().__init__(parent, short_name)
|
|
273
|
+
|
|
274
|
+
# Reference to the asynchronous server call point
|
|
275
|
+
self.asynchronousServerCallPointRef: RefType = None
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
class BswVariableAccess(Referrable):
|
|
279
|
+
"""
|
|
280
|
+
Represents access to a variable by a BSW module entity.
|
|
281
|
+
This class defines how a BSW module accesses variables during execution.
|
|
282
|
+
"""
|
|
283
|
+
|
|
284
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
285
|
+
"""
|
|
286
|
+
Initializes the BswVariableAccess with a parent and short name.
|
|
287
|
+
|
|
288
|
+
Args:
|
|
289
|
+
parent: The parent ARObject that contains this variable access
|
|
290
|
+
short_name: The unique short name of this variable access
|
|
291
|
+
"""
|
|
292
|
+
super().__init__(parent, short_name)
|
|
293
|
+
|
|
294
|
+
# Reference to the variable being accessed
|
|
295
|
+
self.accessedVariableRef: RefType = None
|
|
296
|
+
# List of context limitation references that apply to this variable access
|
|
297
|
+
self.contextLimitationRefs: List[RefType] = []
|
|
298
|
+
|
|
299
|
+
def getAccessedVariableRef(self):
|
|
300
|
+
"""
|
|
301
|
+
Gets the reference to the variable being accessed.
|
|
302
|
+
|
|
303
|
+
Returns:
|
|
304
|
+
Reference to the accessed variable
|
|
305
|
+
"""
|
|
306
|
+
return self.accessedVariableRef
|
|
307
|
+
|
|
308
|
+
def setAccessedVariableRef(self, value):
|
|
309
|
+
"""
|
|
310
|
+
Sets the reference to the variable being accessed.
|
|
311
|
+
|
|
312
|
+
Args:
|
|
313
|
+
value: The variable reference to set
|
|
314
|
+
|
|
315
|
+
Returns:
|
|
316
|
+
self for method chaining
|
|
317
|
+
"""
|
|
318
|
+
self.accessedVariableRef = value
|
|
319
|
+
return self
|
|
320
|
+
|
|
321
|
+
def getContextLimitationRefs(self):
|
|
322
|
+
"""
|
|
323
|
+
Gets the list of context limitation references for this variable access.
|
|
324
|
+
|
|
325
|
+
Returns:
|
|
326
|
+
List of context limitation references
|
|
327
|
+
"""
|
|
328
|
+
return self.contextLimitationRefs
|
|
329
|
+
|
|
330
|
+
def addContextLimitationRef(self, value):
|
|
331
|
+
"""
|
|
332
|
+
Adds a context limitation reference to this variable access.
|
|
333
|
+
|
|
334
|
+
Args:
|
|
335
|
+
value: The context limitation reference to add
|
|
336
|
+
|
|
337
|
+
Returns:
|
|
338
|
+
self for method chaining
|
|
339
|
+
"""
|
|
340
|
+
self.contextLimitationRefs.append(value)
|
|
341
|
+
return self
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
class BswDistinguishedPartition(Referrable):
|
|
345
|
+
"""
|
|
346
|
+
Each instance of this meta-class represents an abstract partition in which context
|
|
347
|
+
the code of the enclosing BswModuleBehavior can be executed. The intended use case
|
|
348
|
+
is to distinguish between several partitions in order to implement different behavior
|
|
349
|
+
per partition, for example to behave either as a master or satellite in a multicore
|
|
350
|
+
ECU with shared BSW code.
|
|
351
|
+
"""
|
|
352
|
+
|
|
353
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
354
|
+
"""
|
|
355
|
+
Initializes the BswDistinguishedPartition with a parent and short name.
|
|
356
|
+
|
|
357
|
+
Args:
|
|
358
|
+
parent: The parent ARObject that contains this distinguished partition
|
|
359
|
+
short_name: The unique short name of this distinguished partition
|
|
360
|
+
"""
|
|
361
|
+
super().__init__(parent, short_name)
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
class BswModuleEntity(ExecutableEntity, ABC):
|
|
365
|
+
"""
|
|
366
|
+
Abstract base class for BSW module entities.
|
|
367
|
+
A BSW module entity represents an executable piece of code in a BSW module.
|
|
368
|
+
"""
|
|
369
|
+
|
|
370
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
371
|
+
"""
|
|
372
|
+
Initializes the BSW module entity with a parent and short name.
|
|
373
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
374
|
+
|
|
375
|
+
Args:
|
|
376
|
+
parent: The parent ARObject that contains this entity
|
|
377
|
+
short_name: The unique short name of this entity
|
|
378
|
+
"""
|
|
379
|
+
if type(self) is BswModuleEntity:
|
|
380
|
+
raise TypeError("BswModuleEntity is an abstract class.")
|
|
381
|
+
super().__init__(parent, short_name)
|
|
382
|
+
|
|
383
|
+
# List of mode group references that this entity accesses
|
|
384
|
+
self.accessedModeGroupRefs: List[RefType] = []
|
|
385
|
+
# List of activation point references for this entity
|
|
386
|
+
self.activationPointRefs: List[RefType] = []
|
|
387
|
+
# List of call points associated with this entity
|
|
388
|
+
self.callPoints: List[BswModuleCallPoint] = []
|
|
389
|
+
# List of variable access points for data reception
|
|
390
|
+
self.dataReceivePoints: List[BswVariableAccess] = []
|
|
391
|
+
# List of variable access points for data sending
|
|
392
|
+
self.dataSendPoints: List[BswVariableAccess] = []
|
|
393
|
+
# Reference to the entry implemented by this entity
|
|
394
|
+
self.implementedEntryRef: RefType = None
|
|
395
|
+
# List of trigger references issued by this entity
|
|
396
|
+
self.issuedTriggerRefs: List[RefType] = []
|
|
397
|
+
# List of mode group references managed by this entity
|
|
398
|
+
self.managedModeGroupRefs: List[RefType] = []
|
|
399
|
+
# List of scheduler name prefix references
|
|
400
|
+
self.schedulerNamePrefixRef: List[RefType] = None
|
|
401
|
+
|
|
402
|
+
def getAccessedModeGroupRefs(self):
|
|
403
|
+
"""
|
|
404
|
+
Gets the list of mode group references that this entity accesses.
|
|
405
|
+
|
|
406
|
+
Returns:
|
|
407
|
+
List of mode group references
|
|
408
|
+
"""
|
|
409
|
+
return self.accessedModeGroupRefs
|
|
410
|
+
|
|
411
|
+
def addAccessedModeGroupRef(self, value):
|
|
412
|
+
"""
|
|
413
|
+
Adds a mode group reference to the list of accessed mode groups.
|
|
414
|
+
Only adds the value if it is not None.
|
|
415
|
+
|
|
416
|
+
Args:
|
|
417
|
+
value: The mode group reference to add
|
|
418
|
+
|
|
419
|
+
Returns:
|
|
420
|
+
self for method chaining
|
|
421
|
+
"""
|
|
422
|
+
if value is not None:
|
|
423
|
+
self.accessedModeGroupRefs.append(value)
|
|
424
|
+
return self
|
|
425
|
+
|
|
426
|
+
def getActivationPointRefs(self):
|
|
427
|
+
"""
|
|
428
|
+
Gets the list of activation point references for this entity.
|
|
429
|
+
|
|
430
|
+
Returns:
|
|
431
|
+
List of activation point references
|
|
432
|
+
"""
|
|
433
|
+
return self.activationPointRefs
|
|
434
|
+
|
|
435
|
+
def addActivationPointRef(self, value):
|
|
436
|
+
"""
|
|
437
|
+
Adds an activation point reference to the list of activation points.
|
|
438
|
+
Only adds the value if it is not None.
|
|
439
|
+
|
|
440
|
+
Args:
|
|
441
|
+
value: The activation point reference to add
|
|
442
|
+
|
|
443
|
+
Returns:
|
|
444
|
+
self for method chaining
|
|
445
|
+
"""
|
|
446
|
+
if value is not None:
|
|
447
|
+
self.activationPointRefs.append(value)
|
|
448
|
+
return self
|
|
449
|
+
|
|
450
|
+
def getCallPoints(self):
|
|
451
|
+
"""
|
|
452
|
+
Gets the list of call points associated with this entity.
|
|
453
|
+
|
|
454
|
+
Returns:
|
|
455
|
+
List of call points
|
|
456
|
+
"""
|
|
457
|
+
return self.callPoints
|
|
458
|
+
|
|
459
|
+
def createBswAsynchronousServerCallPoint(self, short_name):
|
|
460
|
+
"""
|
|
461
|
+
Creates and adds a BswAsynchronousServerCallPoint to this entity.
|
|
462
|
+
|
|
463
|
+
Args:
|
|
464
|
+
short_name: The short name for the new call point
|
|
465
|
+
|
|
466
|
+
Returns:
|
|
467
|
+
The created BswAsynchronousServerCallPoint instance
|
|
468
|
+
"""
|
|
469
|
+
if (not self.IsElementExists(short_name)):
|
|
470
|
+
access = BswAsynchronousServerCallPoint(self, short_name)
|
|
471
|
+
self.addElement(access)
|
|
472
|
+
self.callPoints.append(access)
|
|
473
|
+
return self.getElement(short_name)
|
|
474
|
+
|
|
475
|
+
def createBswSynchronousServerCallPoint(self, short_name):
|
|
476
|
+
"""
|
|
477
|
+
Creates and adds a BswSynchronousServerCallPoint to this entity.
|
|
478
|
+
|
|
479
|
+
Args:
|
|
480
|
+
short_name: The short name for the new call point
|
|
481
|
+
|
|
482
|
+
Returns:
|
|
483
|
+
The created BswSynchronousServerCallPoint instance
|
|
484
|
+
"""
|
|
485
|
+
if (not self.IsElementExists(short_name)):
|
|
486
|
+
access = BswSynchronousServerCallPoint(self, short_name)
|
|
487
|
+
self.addElement(access)
|
|
488
|
+
self.callPoints.append(access)
|
|
489
|
+
return self.getElement(short_name)
|
|
490
|
+
|
|
491
|
+
def getDataReceivePoints(self):
|
|
492
|
+
"""
|
|
493
|
+
Gets the list of variable access points for data reception.
|
|
494
|
+
|
|
495
|
+
Returns:
|
|
496
|
+
List of data receive points
|
|
497
|
+
"""
|
|
498
|
+
return self.dataReceivePoints
|
|
499
|
+
|
|
500
|
+
def createDataReceivePoint(self, short_name: str) -> BswVariableAccess:
|
|
501
|
+
"""
|
|
502
|
+
Creates and adds a BswVariableAccess for data reception to this entity.
|
|
503
|
+
|
|
504
|
+
Args:
|
|
505
|
+
short_name: The short name for the new data receive point
|
|
506
|
+
|
|
507
|
+
Returns:
|
|
508
|
+
The created BswVariableAccess instance
|
|
509
|
+
"""
|
|
510
|
+
if (not self.IsElementExists(short_name)):
|
|
511
|
+
access = BswVariableAccess(self, short_name)
|
|
512
|
+
self.addElement(access)
|
|
513
|
+
self.dataReceivePoints.append(access)
|
|
514
|
+
return self.getElement(short_name, BswVariableAccess)
|
|
515
|
+
|
|
516
|
+
def getDataSendPoints(self):
|
|
517
|
+
"""
|
|
518
|
+
Gets the list of variable access points for data sending.
|
|
519
|
+
|
|
520
|
+
Returns:
|
|
521
|
+
List of data send points
|
|
522
|
+
"""
|
|
523
|
+
return self.dataSendPoints
|
|
524
|
+
|
|
525
|
+
def createDataSendPoint(self, short_name: str) -> BswVariableAccess:
|
|
526
|
+
"""
|
|
527
|
+
Creates and adds a BswVariableAccess for data sending to this entity.
|
|
528
|
+
|
|
529
|
+
Args:
|
|
530
|
+
short_name: The short name for the new data send point
|
|
531
|
+
|
|
532
|
+
Returns:
|
|
533
|
+
The created BswVariableAccess instance
|
|
534
|
+
"""
|
|
535
|
+
if (not self.IsElementExists(short_name)):
|
|
536
|
+
access = BswVariableAccess(self, short_name)
|
|
537
|
+
self.addElement(access)
|
|
538
|
+
self.dataSendPoints.append(access)
|
|
539
|
+
return self.getElement(short_name, BswVariableAccess)
|
|
540
|
+
|
|
541
|
+
def getImplementedEntryRef(self):
|
|
542
|
+
"""
|
|
543
|
+
Gets the reference to the entry implemented by this entity.
|
|
544
|
+
|
|
545
|
+
Returns:
|
|
546
|
+
Reference to the implemented entry
|
|
547
|
+
"""
|
|
548
|
+
return self.implementedEntryRef
|
|
549
|
+
|
|
550
|
+
def setImplementedEntryRef(self, value):
|
|
551
|
+
"""
|
|
552
|
+
Sets the reference to the entry implemented by this entity.
|
|
553
|
+
Only sets the value if it is not None.
|
|
554
|
+
|
|
555
|
+
Args:
|
|
556
|
+
value: The entry reference to set
|
|
557
|
+
|
|
558
|
+
Returns:
|
|
559
|
+
self for method chaining
|
|
560
|
+
"""
|
|
561
|
+
if value is not None:
|
|
562
|
+
self.implementedEntryRef = value
|
|
563
|
+
return self
|
|
564
|
+
|
|
565
|
+
def getIssuedTriggerRefs(self):
|
|
566
|
+
"""
|
|
567
|
+
Gets the list of trigger references issued by this entity.
|
|
568
|
+
|
|
569
|
+
Returns:
|
|
570
|
+
List of issued trigger references
|
|
571
|
+
"""
|
|
572
|
+
return self.issuedTriggerRefs
|
|
573
|
+
|
|
574
|
+
def addIssuedTriggerRef(self, value):
|
|
575
|
+
"""
|
|
576
|
+
Adds a trigger reference to the list of issued triggers.
|
|
577
|
+
Only adds the value if it is not None.
|
|
578
|
+
|
|
579
|
+
Args:
|
|
580
|
+
value: The trigger reference to add
|
|
581
|
+
|
|
582
|
+
Returns:
|
|
583
|
+
self for method chaining
|
|
584
|
+
"""
|
|
585
|
+
if value is not None:
|
|
586
|
+
self.issuedTriggerRefs.append(value)
|
|
587
|
+
return self
|
|
588
|
+
|
|
589
|
+
def getManagedModeGroupRefs(self):
|
|
590
|
+
"""
|
|
591
|
+
Gets the list of mode group references managed by this entity.
|
|
592
|
+
|
|
593
|
+
Returns:
|
|
594
|
+
List of managed mode group references
|
|
595
|
+
"""
|
|
596
|
+
return self.managedModeGroupRefs
|
|
597
|
+
|
|
598
|
+
def addManagedModeGroupRef(self, value):
|
|
599
|
+
"""
|
|
600
|
+
Adds a mode group reference to the list of managed mode groups.
|
|
601
|
+
Only adds the value if it is not None.
|
|
602
|
+
|
|
603
|
+
Args:
|
|
604
|
+
value: The mode group reference to add
|
|
605
|
+
|
|
606
|
+
Returns:
|
|
607
|
+
self for method chaining
|
|
608
|
+
"""
|
|
609
|
+
if value is not None:
|
|
610
|
+
self.managedModeGroupRefs.append(value)
|
|
611
|
+
return self
|
|
612
|
+
|
|
613
|
+
def getSchedulerNamePrefixRef(self):
|
|
614
|
+
"""
|
|
615
|
+
Gets the list of scheduler name prefix references.
|
|
616
|
+
|
|
617
|
+
Returns:
|
|
618
|
+
List of scheduler name prefix references
|
|
619
|
+
"""
|
|
620
|
+
return self.schedulerNamePrefixRef
|
|
621
|
+
|
|
622
|
+
def setSchedulerNamePrefixRef(self, value):
|
|
623
|
+
"""
|
|
624
|
+
Sets the list of scheduler name prefix references.
|
|
625
|
+
Only sets the value if it is not None.
|
|
626
|
+
|
|
627
|
+
Args:
|
|
628
|
+
value: The scheduler name prefix references to set
|
|
629
|
+
|
|
630
|
+
Returns:
|
|
631
|
+
self for method chaining
|
|
632
|
+
"""
|
|
633
|
+
if value is not None:
|
|
634
|
+
self.schedulerNamePrefixRef = value
|
|
635
|
+
return self
|
|
636
|
+
|
|
637
|
+
|
|
638
|
+
class BswCalledEntity(BswModuleEntity):
|
|
639
|
+
"""
|
|
640
|
+
Represents a BSW module entity that can be called by other entities.
|
|
641
|
+
This is typically used for BSW service functions that can be invoked.
|
|
642
|
+
"""
|
|
643
|
+
|
|
644
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
645
|
+
"""
|
|
646
|
+
Initializes the BswCalledEntity with a parent and short name.
|
|
647
|
+
|
|
648
|
+
Args:
|
|
649
|
+
parent: The parent ARObject that contains this entity
|
|
650
|
+
short_name: The unique short name of this entity
|
|
651
|
+
"""
|
|
652
|
+
super().__init__(parent, short_name)
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
class BswSchedulableEntity(BswModuleEntity):
|
|
656
|
+
"""
|
|
657
|
+
Represents a BSW module entity that can be scheduled for execution.
|
|
658
|
+
This is typically used for BSW functions that can be scheduled by the OS.
|
|
659
|
+
"""
|
|
660
|
+
|
|
661
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
662
|
+
"""
|
|
663
|
+
Initializes the BswSchedulableEntity with a parent and short name.
|
|
664
|
+
|
|
665
|
+
Args:
|
|
666
|
+
parent: The parent ARObject that contains this entity
|
|
667
|
+
short_name: The unique short name of this entity
|
|
668
|
+
"""
|
|
669
|
+
super().__init__(parent, short_name)
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
class BswInterruptCategory(AREnum):
|
|
673
|
+
"""
|
|
674
|
+
Enumeration for BSW interrupt categories.
|
|
675
|
+
Defines whether an interrupt is a Category 1 (CAT1) or Category 2 (CAT2) interrupt.
|
|
676
|
+
"""
|
|
677
|
+
# Category 1 interrupt - directly handled by the OS
|
|
678
|
+
CAT1 = "cat1"
|
|
679
|
+
# Category 2 interrupt - handled by the interrupt service routine
|
|
680
|
+
CAT2 = "cat2"
|
|
681
|
+
|
|
682
|
+
def __init__(self):
|
|
683
|
+
"""
|
|
684
|
+
Initializes the BswInterruptCategory with valid values.
|
|
685
|
+
"""
|
|
686
|
+
super().__init__((
|
|
687
|
+
BswInterruptCategory.CAT1,
|
|
688
|
+
BswInterruptCategory.CAT2,
|
|
689
|
+
))
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
class BswInterruptEntity(BswModuleEntity):
|
|
693
|
+
"""
|
|
694
|
+
Represents an interrupt entity in a BSW module.
|
|
695
|
+
This defines how interrupt service routines are handled in the BSW module.
|
|
696
|
+
"""
|
|
697
|
+
|
|
698
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
699
|
+
"""
|
|
700
|
+
Initializes the BswInterruptEntity with a parent and short name.
|
|
701
|
+
|
|
702
|
+
Args:
|
|
703
|
+
parent: The parent ARObject that contains this interrupt entity
|
|
704
|
+
short_name: The unique short name of this interrupt entity
|
|
705
|
+
"""
|
|
706
|
+
super().__init__(parent, short_name)
|
|
707
|
+
|
|
708
|
+
# Category of the interrupt (CAT1 or CAT2)
|
|
709
|
+
self.interruptCategory: BswInterruptCategory = None
|
|
710
|
+
# Source identifier for the interrupt
|
|
711
|
+
self.interruptSource: String = None
|
|
712
|
+
|
|
713
|
+
def getInterruptCategory(self):
|
|
714
|
+
"""
|
|
715
|
+
Gets the interrupt category for this interrupt entity.
|
|
716
|
+
|
|
717
|
+
Returns:
|
|
718
|
+
The interrupt category (CAT1 or CAT2)
|
|
719
|
+
"""
|
|
720
|
+
return self.interruptCategory
|
|
721
|
+
|
|
722
|
+
def setInterruptCategory(self, value):
|
|
723
|
+
"""
|
|
724
|
+
Sets the interrupt category for this interrupt entity.
|
|
725
|
+
|
|
726
|
+
Args:
|
|
727
|
+
value: The interrupt category to set
|
|
728
|
+
|
|
729
|
+
Returns:
|
|
730
|
+
self for method chaining
|
|
731
|
+
"""
|
|
732
|
+
self.interruptCategory = value
|
|
733
|
+
return self
|
|
734
|
+
|
|
735
|
+
def getInterruptSource(self):
|
|
736
|
+
"""
|
|
737
|
+
Gets the interrupt source identifier for this interrupt entity.
|
|
738
|
+
|
|
739
|
+
Returns:
|
|
740
|
+
The interrupt source identifier
|
|
741
|
+
"""
|
|
742
|
+
return self.interruptSource
|
|
743
|
+
|
|
744
|
+
def setInterruptSource(self, value):
|
|
745
|
+
"""
|
|
746
|
+
Sets the interrupt source identifier for this interrupt entity.
|
|
747
|
+
|
|
748
|
+
Args:
|
|
749
|
+
value: The interrupt source identifier to set
|
|
750
|
+
|
|
751
|
+
Returns:
|
|
752
|
+
self for method chaining
|
|
753
|
+
"""
|
|
754
|
+
self.interruptSource = value
|
|
755
|
+
return self
|
|
756
|
+
|
|
757
|
+
|
|
758
|
+
class BswEvent(AbstractEvent, ABC):
|
|
759
|
+
"""
|
|
760
|
+
Abstract base class for BSW events.
|
|
761
|
+
BSW events trigger the execution of BSW module entities.
|
|
762
|
+
"""
|
|
763
|
+
|
|
764
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
765
|
+
"""
|
|
766
|
+
Initializes the BSW event with a parent and short name.
|
|
767
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
768
|
+
|
|
769
|
+
Args:
|
|
770
|
+
parent: The parent ARObject that contains this event
|
|
771
|
+
short_name: The unique short name of this event
|
|
772
|
+
"""
|
|
773
|
+
if type(self) is BswEvent:
|
|
774
|
+
raise TypeError("BswEvent is an abstract class.")
|
|
775
|
+
super().__init__(parent, short_name)
|
|
776
|
+
|
|
777
|
+
# Reference to the event that starts this event
|
|
778
|
+
self.startsOnEventRef: RefType = None
|
|
779
|
+
|
|
780
|
+
def getStartsOnEventRef(self):
|
|
781
|
+
"""
|
|
782
|
+
Gets the reference to the event that starts this event.
|
|
783
|
+
|
|
784
|
+
Returns:
|
|
785
|
+
Reference to the starting event
|
|
786
|
+
"""
|
|
787
|
+
return self.startsOnEventRef
|
|
788
|
+
|
|
789
|
+
def setStartsOnEventRef(self, value):
|
|
790
|
+
"""
|
|
791
|
+
Sets the reference to the event that starts this event.
|
|
792
|
+
|
|
793
|
+
Args:
|
|
794
|
+
value: The starting event reference to set
|
|
795
|
+
|
|
796
|
+
Returns:
|
|
797
|
+
self for method chaining
|
|
798
|
+
"""
|
|
799
|
+
self.startsOnEventRef = value
|
|
800
|
+
return self
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
class BswOperationInvokedEvent(BswEvent):
|
|
804
|
+
"""
|
|
805
|
+
Represents an event that is triggered when a BSW operation is invoked.
|
|
806
|
+
This event occurs when a client calls a BSW service function.
|
|
807
|
+
"""
|
|
808
|
+
|
|
809
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
810
|
+
"""
|
|
811
|
+
Initializes the BswOperationInvokedEvent with a parent and short name.
|
|
812
|
+
|
|
813
|
+
Args:
|
|
814
|
+
parent: The parent ARObject that contains this event
|
|
815
|
+
short_name: The unique short name of this event
|
|
816
|
+
"""
|
|
817
|
+
super().__init__(parent, short_name)
|
|
818
|
+
|
|
819
|
+
# Reference to the entry that was invoked to trigger this event
|
|
820
|
+
self.entryRef: RefType = None
|
|
821
|
+
|
|
822
|
+
def getEntryRef(self):
|
|
823
|
+
"""
|
|
824
|
+
Gets the reference to the entry that was invoked to trigger this event.
|
|
825
|
+
|
|
826
|
+
Returns:
|
|
827
|
+
Reference to the invoked entry
|
|
828
|
+
"""
|
|
829
|
+
return self.entryRef
|
|
830
|
+
|
|
831
|
+
def setEntryRef(self, value):
|
|
832
|
+
"""
|
|
833
|
+
Sets the reference to the entry that was invoked to trigger this event.
|
|
834
|
+
Only sets the value if it is not None.
|
|
835
|
+
|
|
836
|
+
Args:
|
|
837
|
+
value: The entry reference to set
|
|
838
|
+
|
|
839
|
+
Returns:
|
|
840
|
+
self for method chaining
|
|
841
|
+
"""
|
|
842
|
+
if value is not None:
|
|
843
|
+
self.entryRef = value
|
|
844
|
+
return self
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
class BswScheduleEvent(BswEvent, ABC):
|
|
848
|
+
"""
|
|
849
|
+
Abstract base class for BSW scheduled events.
|
|
850
|
+
These events are scheduled for execution at specific times or conditions.
|
|
851
|
+
"""
|
|
852
|
+
|
|
853
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
854
|
+
"""
|
|
855
|
+
Initializes the BSW schedule event with a parent and short name.
|
|
856
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
857
|
+
|
|
858
|
+
Args:
|
|
859
|
+
parent: The parent ARObject that contains this event
|
|
860
|
+
short_name: The unique short name of this event
|
|
861
|
+
"""
|
|
862
|
+
if type(self) is BswScheduleEvent:
|
|
863
|
+
raise TypeError("BswScheduleEvent is an abstract class.")
|
|
864
|
+
super().__init__(parent, short_name)
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+
class BswModeSwitchEvent(BswScheduleEvent):
|
|
868
|
+
"""
|
|
869
|
+
Represents an event that is triggered when a mode switch occurs.
|
|
870
|
+
This event handles changes in system modes within BSW modules.
|
|
871
|
+
"""
|
|
872
|
+
|
|
873
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
874
|
+
"""
|
|
875
|
+
Initializes the BswModeSwitchEvent with a parent and short name.
|
|
876
|
+
|
|
877
|
+
Args:
|
|
878
|
+
parent: The parent ARObject that contains this event
|
|
879
|
+
short_name: The unique short name of this event
|
|
880
|
+
"""
|
|
881
|
+
super().__init__(parent, short_name)
|
|
882
|
+
|
|
883
|
+
# Activation information for this mode switch event
|
|
884
|
+
self.activation: ModeActivationKind = None
|
|
885
|
+
|
|
886
|
+
def getActivation(self):
|
|
887
|
+
"""
|
|
888
|
+
Gets the activation information for this mode switch event.
|
|
889
|
+
|
|
890
|
+
Returns:
|
|
891
|
+
Activation information
|
|
892
|
+
"""
|
|
893
|
+
return self.activation
|
|
894
|
+
|
|
895
|
+
def setActivation(self, value):
|
|
896
|
+
"""
|
|
897
|
+
Sets the activation information for this mode switch event.
|
|
898
|
+
|
|
899
|
+
Args:
|
|
900
|
+
value: The activation information to set
|
|
901
|
+
|
|
902
|
+
Returns:
|
|
903
|
+
self for method chaining
|
|
904
|
+
"""
|
|
905
|
+
self.activation = value
|
|
906
|
+
return self
|
|
907
|
+
|
|
908
|
+
|
|
909
|
+
class BswModeSwitchedAckEvent(BswScheduleEvent):
|
|
910
|
+
"""
|
|
911
|
+
Represents an event that is triggered when a mode switch acknowledgment occurs.
|
|
912
|
+
This event handles the acknowledgment that a mode switch has been completed or confirmed
|
|
913
|
+
within BSW modules.
|
|
914
|
+
"""
|
|
915
|
+
|
|
916
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
917
|
+
"""
|
|
918
|
+
Initializes the BswModeSwitchedAckEvent with a parent and short name.
|
|
919
|
+
|
|
920
|
+
Args:
|
|
921
|
+
parent: The parent ARObject that contains this event
|
|
922
|
+
short_name: The unique short name of this event
|
|
923
|
+
"""
|
|
924
|
+
super().__init__(parent, short_name)
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
class BswTimingEvent(BswScheduleEvent):
|
|
928
|
+
"""
|
|
929
|
+
Represents a timing event in a BSW module.
|
|
930
|
+
This event is triggered based on timing constraints (e.g., periodic execution).
|
|
931
|
+
"""
|
|
932
|
+
|
|
933
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
934
|
+
"""
|
|
935
|
+
Initializes the BswTimingEvent with a parent and short name.
|
|
936
|
+
|
|
937
|
+
Args:
|
|
938
|
+
parent: The parent ARObject that contains this event
|
|
939
|
+
short_name: The unique short name of this event
|
|
940
|
+
"""
|
|
941
|
+
super().__init__(parent, short_name)
|
|
942
|
+
|
|
943
|
+
# Period of the timing event (how often it occurs)
|
|
944
|
+
self.period: TimeValue = None
|
|
945
|
+
|
|
946
|
+
def getPeriod(self):
|
|
947
|
+
"""
|
|
948
|
+
Gets the period of this timing event.
|
|
949
|
+
|
|
950
|
+
Returns:
|
|
951
|
+
TimeValue representing the period
|
|
952
|
+
"""
|
|
953
|
+
return self.period
|
|
954
|
+
|
|
955
|
+
def setPeriod(self, value):
|
|
956
|
+
"""
|
|
957
|
+
Sets the period of this timing event.
|
|
958
|
+
Only sets the value if it's not None or if the current period is None.
|
|
959
|
+
|
|
960
|
+
Args:
|
|
961
|
+
value: The period to set
|
|
962
|
+
|
|
963
|
+
Returns:
|
|
964
|
+
self for method chaining
|
|
965
|
+
"""
|
|
966
|
+
if not (value is None and self.period is not None):
|
|
967
|
+
self.period = value
|
|
968
|
+
return self
|
|
969
|
+
|
|
970
|
+
@property
|
|
971
|
+
def periodMs(self) -> int:
|
|
972
|
+
"""
|
|
973
|
+
Gets the period of this timing event in milliseconds.
|
|
974
|
+
|
|
975
|
+
Returns:
|
|
976
|
+
Integer representing the period in milliseconds, or None if period is not set
|
|
977
|
+
"""
|
|
978
|
+
if self.period is not None:
|
|
979
|
+
return int(self.period.value * 1000)
|
|
980
|
+
return None
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
class BswDataReceivedEvent(BswScheduleEvent):
|
|
984
|
+
"""
|
|
985
|
+
Represents an event that is triggered when data is received by a BSW module.
|
|
986
|
+
This event handles data reception from other modules or communication interfaces.
|
|
987
|
+
"""
|
|
988
|
+
|
|
989
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
990
|
+
"""
|
|
991
|
+
Initializes the BswDataReceivedEvent with a parent and short name.
|
|
992
|
+
|
|
993
|
+
Args:
|
|
994
|
+
parent: The parent ARObject that contains this event
|
|
995
|
+
short_name: The unique short name of this event
|
|
996
|
+
"""
|
|
997
|
+
super().__init__(parent, short_name)
|
|
998
|
+
|
|
999
|
+
# Reference to the data that was received to trigger this event
|
|
1000
|
+
self.dataRef: RefType = None
|
|
1001
|
+
|
|
1002
|
+
def getDataRef(self):
|
|
1003
|
+
"""
|
|
1004
|
+
Gets the reference to the data that was received to trigger this event.
|
|
1005
|
+
|
|
1006
|
+
Returns:
|
|
1007
|
+
Reference to the received data
|
|
1008
|
+
"""
|
|
1009
|
+
return self.dataRef
|
|
1010
|
+
|
|
1011
|
+
def setDataRef(self, value):
|
|
1012
|
+
"""
|
|
1013
|
+
Sets the reference to the data that was received to trigger this event.
|
|
1014
|
+
|
|
1015
|
+
Args:
|
|
1016
|
+
value: The data reference to set
|
|
1017
|
+
|
|
1018
|
+
Returns:
|
|
1019
|
+
self for method chaining
|
|
1020
|
+
"""
|
|
1021
|
+
self.dataRef = value
|
|
1022
|
+
return self
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
class BswInternalTriggerOccurredEvent(BswScheduleEvent):
|
|
1026
|
+
"""
|
|
1027
|
+
Represents an event that is triggered by an internal trigger in a BSW module.
|
|
1028
|
+
This event occurs when a BSW module internally generates a trigger.
|
|
1029
|
+
"""
|
|
1030
|
+
|
|
1031
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
1032
|
+
"""
|
|
1033
|
+
Initializes the BswInternalTriggerOccurredEvent with a parent and short name.
|
|
1034
|
+
|
|
1035
|
+
Args:
|
|
1036
|
+
parent: The parent ARObject that contains this event
|
|
1037
|
+
short_name: The unique short name of this event
|
|
1038
|
+
"""
|
|
1039
|
+
super().__init__(parent, short_name)
|
|
1040
|
+
|
|
1041
|
+
# Reference to the event source that triggered this event
|
|
1042
|
+
self.eventSourceRef: RefType = None
|
|
1043
|
+
|
|
1044
|
+
def getEventSourceRef(self):
|
|
1045
|
+
"""
|
|
1046
|
+
Gets the reference to the event source that triggered this event.
|
|
1047
|
+
|
|
1048
|
+
Returns:
|
|
1049
|
+
Reference to the event source
|
|
1050
|
+
"""
|
|
1051
|
+
return self.eventSourceRef
|
|
1052
|
+
|
|
1053
|
+
def setEventSourceRef(self, value):
|
|
1054
|
+
"""
|
|
1055
|
+
Sets the reference to the event source that triggered this event.
|
|
1056
|
+
|
|
1057
|
+
Args:
|
|
1058
|
+
value: The event source reference to set
|
|
1059
|
+
|
|
1060
|
+
Returns:
|
|
1061
|
+
self for method chaining
|
|
1062
|
+
"""
|
|
1063
|
+
self.eventSourceRef = value
|
|
1064
|
+
return self
|
|
1065
|
+
|
|
1066
|
+
|
|
1067
|
+
class BswModeSwitchAckRequest(ARObject):
|
|
1068
|
+
"""
|
|
1069
|
+
Represents an acknowledgment request for a mode switch operation.
|
|
1070
|
+
This is used in BSW modules to handle mode switch acknowledgments.
|
|
1071
|
+
"""
|
|
1072
|
+
|
|
1073
|
+
def __init__(self):
|
|
1074
|
+
"""
|
|
1075
|
+
Initializes the BswModeSwitchAckRequest.
|
|
1076
|
+
"""
|
|
1077
|
+
super().__init__()
|
|
1078
|
+
|
|
1079
|
+
# Timeout value for the mode switch acknowledgment
|
|
1080
|
+
self.timeout: ARFloat = None
|
|
1081
|
+
|
|
1082
|
+
def getTimeout(self):
|
|
1083
|
+
"""
|
|
1084
|
+
Gets the timeout value for the mode switch acknowledgment.
|
|
1085
|
+
|
|
1086
|
+
Returns:
|
|
1087
|
+
ARFloat representing the timeout value
|
|
1088
|
+
"""
|
|
1089
|
+
return self.timeout
|
|
1090
|
+
|
|
1091
|
+
def setTimeout(self, value):
|
|
1092
|
+
"""
|
|
1093
|
+
Sets the timeout value for the mode switch acknowledgment.
|
|
1094
|
+
|
|
1095
|
+
Args:
|
|
1096
|
+
value: The timeout value to set
|
|
1097
|
+
|
|
1098
|
+
Returns:
|
|
1099
|
+
self for method chaining
|
|
1100
|
+
"""
|
|
1101
|
+
self.timeout = value
|
|
1102
|
+
return self
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
class BswModeSenderPolicy(ARObject):
|
|
1106
|
+
"""
|
|
1107
|
+
Represents the policy for a BSW mode sender.
|
|
1108
|
+
This defines how mode changes are sent and acknowledged in BSW modules.
|
|
1109
|
+
"""
|
|
1110
|
+
|
|
1111
|
+
def __init__(self):
|
|
1112
|
+
"""
|
|
1113
|
+
Initializes the BswModeSenderPolicy.
|
|
1114
|
+
"""
|
|
1115
|
+
super().__init__()
|
|
1116
|
+
|
|
1117
|
+
# Acknowledgment request configuration for mode switch
|
|
1118
|
+
self.ack_request: BswModeSwitchAckRequest = None
|
|
1119
|
+
# Flag indicating if enhanced mode API is used
|
|
1120
|
+
self.enhanced_mode_api: ARBoolean = None
|
|
1121
|
+
# Reference to the provided mode group
|
|
1122
|
+
self._provided_mode_group_ref: RefType = None
|
|
1123
|
+
# Queue length for mode switch operations
|
|
1124
|
+
self._queue_length: ARNumerical = None
|
|
1125
|
+
|
|
1126
|
+
def setProvidedModeGroupRef(self, ref: RefType):
|
|
1127
|
+
"""
|
|
1128
|
+
Sets the reference to the provided mode group.
|
|
1129
|
+
|
|
1130
|
+
Args:
|
|
1131
|
+
ref: The mode group reference to set
|
|
1132
|
+
|
|
1133
|
+
Returns:
|
|
1134
|
+
self for method chaining
|
|
1135
|
+
"""
|
|
1136
|
+
self._provided_mode_group_ref = ref
|
|
1137
|
+
return self
|
|
1138
|
+
|
|
1139
|
+
def getProvidedModeGroupRef(self) -> RefType:
|
|
1140
|
+
"""
|
|
1141
|
+
Gets the reference to the provided mode group.
|
|
1142
|
+
|
|
1143
|
+
Returns:
|
|
1144
|
+
Reference to the provided mode group
|
|
1145
|
+
"""
|
|
1146
|
+
return self._provided_mode_group_ref
|
|
1147
|
+
|
|
1148
|
+
def setQueueLength(self, length: any):
|
|
1149
|
+
"""
|
|
1150
|
+
Sets the queue length for mode switch operations.
|
|
1151
|
+
Can accept either ARNumerical or integer values.
|
|
1152
|
+
|
|
1153
|
+
Args:
|
|
1154
|
+
length: The queue length value (ARNumerical or int)
|
|
1155
|
+
|
|
1156
|
+
Returns:
|
|
1157
|
+
self for method chaining
|
|
1158
|
+
"""
|
|
1159
|
+
if isinstance(length, ARNumerical):
|
|
1160
|
+
self._queue_length = length
|
|
1161
|
+
elif isinstance(length, int):
|
|
1162
|
+
self._queue_length = ARNumerical()
|
|
1163
|
+
self._queue_length.setValue(length)
|
|
1164
|
+
else:
|
|
1165
|
+
raise ValueError("Unsupported type <%s>" % type(length))
|
|
1166
|
+
|
|
1167
|
+
def getQueueLength(self) -> ARNumerical:
|
|
1168
|
+
"""
|
|
1169
|
+
Gets the queue length for mode switch operations.
|
|
1170
|
+
|
|
1171
|
+
Returns:
|
|
1172
|
+
ARNumerical representing the queue length
|
|
1173
|
+
"""
|
|
1174
|
+
return self._queue_length
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
class BswBackgroundEvent(BswScheduleEvent):
|
|
1178
|
+
"""
|
|
1179
|
+
Represents a background event in a BSW module.
|
|
1180
|
+
This event runs in the background, typically with lower priority.
|
|
1181
|
+
"""
|
|
1182
|
+
|
|
1183
|
+
def __init__(self, parent, short_name):
|
|
1184
|
+
"""
|
|
1185
|
+
Initializes the BswBackgroundEvent with a parent and short name.
|
|
1186
|
+
|
|
1187
|
+
Args:
|
|
1188
|
+
parent: The parent ARObject that contains this event
|
|
1189
|
+
short_name: The unique short name of this event
|
|
1190
|
+
"""
|
|
1191
|
+
super().__init__(parent, short_name)
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
class BswOsTaskExecutionEvent(BswScheduleEvent):
|
|
1195
|
+
"""
|
|
1196
|
+
Represents an OS task execution event in a BSW module.
|
|
1197
|
+
This event is triggered when an OS task is executed.
|
|
1198
|
+
"""
|
|
1199
|
+
|
|
1200
|
+
def __init__(self, parent, short_name):
|
|
1201
|
+
"""
|
|
1202
|
+
Initializes the BswOsTaskExecutionEvent with a parent and short name.
|
|
1203
|
+
|
|
1204
|
+
Args:
|
|
1205
|
+
parent: The parent ARObject that contains this event
|
|
1206
|
+
short_name: The unique short name of this event
|
|
1207
|
+
"""
|
|
1208
|
+
super().__init__(parent, short_name)
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
class BswExternalTriggerOccurredEvent(BswScheduleEvent):
|
|
1212
|
+
"""
|
|
1213
|
+
Represents an event that is triggered by an external trigger in a BSW module.
|
|
1214
|
+
This event occurs when an external source generates a trigger.
|
|
1215
|
+
"""
|
|
1216
|
+
|
|
1217
|
+
def __init__(self, parent, short_name):
|
|
1218
|
+
"""
|
|
1219
|
+
Initializes the BswExternalTriggerOccurredEvent with a parent and short name.
|
|
1220
|
+
|
|
1221
|
+
Args:
|
|
1222
|
+
parent: The parent ARObject that contains this event
|
|
1223
|
+
short_name: The unique short name of this event
|
|
1224
|
+
"""
|
|
1225
|
+
super().__init__(parent, short_name)
|
|
1226
|
+
|
|
1227
|
+
# Reference to the external trigger that caused this event
|
|
1228
|
+
self.triggerRef: RefType = None
|
|
1229
|
+
|
|
1230
|
+
def getTriggerRef(self):
|
|
1231
|
+
"""
|
|
1232
|
+
Gets the reference to the external trigger that caused this event.
|
|
1233
|
+
|
|
1234
|
+
Returns:
|
|
1235
|
+
Reference to the external trigger
|
|
1236
|
+
"""
|
|
1237
|
+
return self.triggerRef
|
|
1238
|
+
|
|
1239
|
+
def setTriggerRef(self, value):
|
|
1240
|
+
"""
|
|
1241
|
+
Sets the reference to the external trigger that caused this event.
|
|
1242
|
+
Only sets the value if it is not None.
|
|
1243
|
+
|
|
1244
|
+
Args:
|
|
1245
|
+
value: The trigger reference to set
|
|
1246
|
+
|
|
1247
|
+
Returns:
|
|
1248
|
+
self for method chaining
|
|
1249
|
+
"""
|
|
1250
|
+
if value is not None:
|
|
1251
|
+
self.triggerRef = value
|
|
1252
|
+
return self
|
|
1253
|
+
|
|
1254
|
+
|
|
1255
|
+
class BswApiOptions(ARObject, ABC):
|
|
1256
|
+
"""
|
|
1257
|
+
Abstract base class for BSW API options.
|
|
1258
|
+
Defines common options for BSW API implementations.
|
|
1259
|
+
"""
|
|
1260
|
+
|
|
1261
|
+
def __init__(self):
|
|
1262
|
+
"""
|
|
1263
|
+
Initializes the BSW API options.
|
|
1264
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
1265
|
+
"""
|
|
1266
|
+
if type(self) is BswApiOptions:
|
|
1267
|
+
raise TypeError("BswApiOptions is an abstract class.")
|
|
1268
|
+
|
|
1269
|
+
super().__init__()
|
|
1270
|
+
|
|
1271
|
+
# Flag indicating whether to enable taking addresses in the API
|
|
1272
|
+
self.enableTakeAddress: Boolean = None
|
|
1273
|
+
|
|
1274
|
+
def getEnableTakeAddress(self):
|
|
1275
|
+
"""
|
|
1276
|
+
Gets the enable take address flag.
|
|
1277
|
+
|
|
1278
|
+
Returns:
|
|
1279
|
+
Boolean indicating whether take address is enabled
|
|
1280
|
+
"""
|
|
1281
|
+
return self.enableTakeAddress
|
|
1282
|
+
|
|
1283
|
+
def setEnableTakeAddress(self, value):
|
|
1284
|
+
"""
|
|
1285
|
+
Sets the enable take address flag.
|
|
1286
|
+
Only sets the value if it is not None.
|
|
1287
|
+
|
|
1288
|
+
Args:
|
|
1289
|
+
value: The boolean value to set
|
|
1290
|
+
|
|
1291
|
+
Returns:
|
|
1292
|
+
self for method chaining
|
|
1293
|
+
"""
|
|
1294
|
+
if value is not None:
|
|
1295
|
+
self.enableTakeAddress = value
|
|
1296
|
+
return self
|
|
1297
|
+
|
|
1298
|
+
|
|
1299
|
+
class BswDataReceptionPolicy(BswApiOptions, ABC):
|
|
1300
|
+
"""
|
|
1301
|
+
Abstract base class for BSW data reception policies.
|
|
1302
|
+
Defines how BSW modules receive data.
|
|
1303
|
+
"""
|
|
1304
|
+
|
|
1305
|
+
def __init__(self):
|
|
1306
|
+
"""
|
|
1307
|
+
Initializes the BSW data reception policy.
|
|
1308
|
+
Raises TypeError if this abstract class is instantiated directly.
|
|
1309
|
+
"""
|
|
1310
|
+
if type(self) is BswDataReceptionPolicy:
|
|
1311
|
+
raise TypeError("BswDataReceptionPolicy is an abstract class.")
|
|
1312
|
+
|
|
1313
|
+
super().__init__()
|
|
1314
|
+
|
|
1315
|
+
# Reference to the data being received
|
|
1316
|
+
self.receivedDataRef: RefType = None
|
|
1317
|
+
|
|
1318
|
+
def getReceivedDataRef(self):
|
|
1319
|
+
"""
|
|
1320
|
+
Gets the reference to the data being received.
|
|
1321
|
+
|
|
1322
|
+
Returns:
|
|
1323
|
+
Reference to the received data
|
|
1324
|
+
"""
|
|
1325
|
+
return self.receivedDataRef
|
|
1326
|
+
|
|
1327
|
+
def setReceivedDataRef(self, value):
|
|
1328
|
+
"""
|
|
1329
|
+
Sets the reference to the data being received.
|
|
1330
|
+
Only sets the value if it is not None.
|
|
1331
|
+
|
|
1332
|
+
Args:
|
|
1333
|
+
value: The received data reference to set
|
|
1334
|
+
|
|
1335
|
+
Returns:
|
|
1336
|
+
self for method chaining
|
|
1337
|
+
"""
|
|
1338
|
+
if value is not None:
|
|
1339
|
+
self.receivedDataRef = value
|
|
1340
|
+
return self
|
|
1341
|
+
|
|
1342
|
+
|
|
1343
|
+
class BswQueuedDataReceptionPolicy(BswDataReceptionPolicy):
|
|
1344
|
+
"""
|
|
1345
|
+
Represents a queued data reception policy in a BSW module.
|
|
1346
|
+
This policy handles data reception using a queue mechanism.
|
|
1347
|
+
"""
|
|
1348
|
+
|
|
1349
|
+
def __init__(self):
|
|
1350
|
+
"""
|
|
1351
|
+
Initializes the BswQueuedDataReceptionPolicy.
|
|
1352
|
+
"""
|
|
1353
|
+
super().__init__()
|
|
1354
|
+
|
|
1355
|
+
# Maximum queue length for received data
|
|
1356
|
+
self.queueLength: PositiveInteger = None
|
|
1357
|
+
|
|
1358
|
+
def getQueueLength(self):
|
|
1359
|
+
"""
|
|
1360
|
+
Gets the maximum queue length for received data.
|
|
1361
|
+
|
|
1362
|
+
Returns:
|
|
1363
|
+
Positive integer representing the queue length
|
|
1364
|
+
"""
|
|
1365
|
+
return self.queueLength
|
|
1366
|
+
|
|
1367
|
+
def setQueueLength(self, value):
|
|
1368
|
+
"""
|
|
1369
|
+
Sets the maximum queue length for received data.
|
|
1370
|
+
Only sets the value if it is not None.
|
|
1371
|
+
|
|
1372
|
+
Args:
|
|
1373
|
+
value: The queue length value to set
|
|
1374
|
+
|
|
1375
|
+
Returns:
|
|
1376
|
+
self for method chaining
|
|
1377
|
+
"""
|
|
1378
|
+
if value is not None:
|
|
1379
|
+
self.queueLength = value
|
|
1380
|
+
return self
|
|
1381
|
+
|
|
1382
|
+
|
|
1383
|
+
class BswInternalTriggeringPoint(Identifiable):
|
|
1384
|
+
"""
|
|
1385
|
+
Represents an internal triggering point in a BSW module's internal behavior.
|
|
1386
|
+
This is used to define points from which triggers can be issued internally.
|
|
1387
|
+
"""
|
|
1388
|
+
|
|
1389
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
1390
|
+
"""
|
|
1391
|
+
Initializes the BswInternalTriggeringPoint with a parent and short name.
|
|
1392
|
+
|
|
1393
|
+
Args:
|
|
1394
|
+
parent: The parent ARObject that contains this triggering point
|
|
1395
|
+
short_name: The unique short name of this triggering point
|
|
1396
|
+
"""
|
|
1397
|
+
super().__init__(parent, short_name)
|
|
1398
|
+
|
|
1399
|
+
# Software implementation policy for this triggering point
|
|
1400
|
+
self.swImplPolicy: SwImplPolicyEnum = None
|
|
1401
|
+
|
|
1402
|
+
def getSwImplPolicy(self):
|
|
1403
|
+
"""
|
|
1404
|
+
Gets the software implementation policy for this triggering point.
|
|
1405
|
+
|
|
1406
|
+
Returns:
|
|
1407
|
+
SwImplPolicyEnum value
|
|
1408
|
+
"""
|
|
1409
|
+
return self.swImplPolicy
|
|
1410
|
+
|
|
1411
|
+
def setSwImplPolicy(self, value):
|
|
1412
|
+
"""
|
|
1413
|
+
Sets the software implementation policy for this triggering point.
|
|
1414
|
+
Only sets the value if it is not None.
|
|
1415
|
+
|
|
1416
|
+
Args:
|
|
1417
|
+
value: The SwImplPolicyEnum value to set
|
|
1418
|
+
|
|
1419
|
+
Returns:
|
|
1420
|
+
self for method chaining
|
|
1421
|
+
"""
|
|
1422
|
+
if value is not None:
|
|
1423
|
+
self.swImplPolicy = value
|
|
1424
|
+
return self
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
class BswInternalBehavior(InternalBehavior):
|
|
1428
|
+
"""
|
|
1429
|
+
Represents the internal behavior of a BSW module.
|
|
1430
|
+
This class contains all the entities, events, policies, and other behavioral elements
|
|
1431
|
+
that define how a BSW module operates internally.
|
|
1432
|
+
"""
|
|
1433
|
+
|
|
1434
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
1435
|
+
"""
|
|
1436
|
+
Initializes the BswInternalBehavior with a parent and short name.
|
|
1437
|
+
|
|
1438
|
+
Args:
|
|
1439
|
+
parent: The parent ARObject that contains this behavior
|
|
1440
|
+
short_name: The unique short name of this behavior
|
|
1441
|
+
"""
|
|
1442
|
+
super().__init__(parent, short_name)
|
|
1443
|
+
|
|
1444
|
+
# List of AUTOSAR typed per-instance memories
|
|
1445
|
+
self.arTypedPerInstanceMemories: List[VariableDataPrototype] = []
|
|
1446
|
+
# List of BSW per-instance memory policies
|
|
1447
|
+
self.bswPerInstanceMemoryPolicies = []
|
|
1448
|
+
# List of BSW client policies
|
|
1449
|
+
self.clientPolicies = []
|
|
1450
|
+
# List of BSW distinguished partitions
|
|
1451
|
+
self.distinguishedPartitions: List[BswDistinguishedPartition] = []
|
|
1452
|
+
# List of BSW module entities
|
|
1453
|
+
self.entities = []
|
|
1454
|
+
# List of BSW events
|
|
1455
|
+
self.events = []
|
|
1456
|
+
# List of BSW exclusive area policies
|
|
1457
|
+
self.exclusiveAreaPolicies = []
|
|
1458
|
+
# List of included data type sets
|
|
1459
|
+
self.includedDataTypeSets = []
|
|
1460
|
+
# List of included mode declaration group sets
|
|
1461
|
+
self.includedModeDeclarationGroupSets = []
|
|
1462
|
+
# List of BSW internal triggering points
|
|
1463
|
+
self.internalTriggeringPoints = []
|
|
1464
|
+
# List of BSW internal triggering point policies
|
|
1465
|
+
self.internalTriggeringPointPolicies = []
|
|
1466
|
+
# List of BSW mode receiver policies
|
|
1467
|
+
self.modeReceiverPolicies = []
|
|
1468
|
+
# List of BSW mode sender policies
|
|
1469
|
+
self.modeSenderPolicies = []
|
|
1470
|
+
# List of BSW parameter policies
|
|
1471
|
+
self.parameterPolicies = []
|
|
1472
|
+
# List of per-instance parameters
|
|
1473
|
+
self.perInstanceParameters = []
|
|
1474
|
+
# List of BSW data reception policies
|
|
1475
|
+
self.receptionPolicies = []
|
|
1476
|
+
# List of BSW released trigger policies
|
|
1477
|
+
self.releasedTriggerPolicies = []
|
|
1478
|
+
# List of BSW scheduler name prefixes
|
|
1479
|
+
self.schedulerNamePrefixes = []
|
|
1480
|
+
# List of BSW data send policies
|
|
1481
|
+
self.sendPolicies = []
|
|
1482
|
+
# List of BSW service dependencies
|
|
1483
|
+
self.serviceDependencies = []
|
|
1484
|
+
# List of BSW trigger direct implementations
|
|
1485
|
+
self.triggerDirectImplementations = []
|
|
1486
|
+
# List of variation point proxies
|
|
1487
|
+
self.variationPointProxies = []
|
|
1488
|
+
|
|
1489
|
+
def getArTypedPerInstanceMemories(self):
|
|
1490
|
+
"""
|
|
1491
|
+
Gets the list of AUTOSAR typed per-instance memories.
|
|
1492
|
+
|
|
1493
|
+
Returns:
|
|
1494
|
+
List of VariableDataPrototype instances
|
|
1495
|
+
"""
|
|
1496
|
+
return self.arTypedPerInstanceMemories
|
|
1497
|
+
|
|
1498
|
+
def setArTypedPerInstanceMemories(self, value):
|
|
1499
|
+
"""
|
|
1500
|
+
Sets the list of AUTOSAR typed per-instance memories.
|
|
1501
|
+
Only sets the value if it is not None.
|
|
1502
|
+
|
|
1503
|
+
Args:
|
|
1504
|
+
value: The list of VariableDataPrototype instances to set
|
|
1505
|
+
|
|
1506
|
+
Returns:
|
|
1507
|
+
self for method chaining
|
|
1508
|
+
"""
|
|
1509
|
+
if value is not None:
|
|
1510
|
+
self.arTypedPerInstanceMemories = value
|
|
1511
|
+
return self
|
|
1512
|
+
|
|
1513
|
+
def getBswPerInstanceMemoryPolicies(self):
|
|
1514
|
+
"""
|
|
1515
|
+
Gets the list of BSW per-instance memory policies.
|
|
1516
|
+
|
|
1517
|
+
Returns:
|
|
1518
|
+
List of BswPerInstanceMemoryPolicy instances
|
|
1519
|
+
"""
|
|
1520
|
+
return self.bswPerInstanceMemoryPolicies
|
|
1521
|
+
|
|
1522
|
+
def setBswPerInstanceMemoryPolicies(self, value):
|
|
1523
|
+
"""
|
|
1524
|
+
Sets the list of BSW per-instance memory policies.
|
|
1525
|
+
Only sets the value if it is not None.
|
|
1526
|
+
|
|
1527
|
+
Args:
|
|
1528
|
+
value: The list of BswPerInstanceMemoryPolicy instances to set
|
|
1529
|
+
|
|
1530
|
+
Returns:
|
|
1531
|
+
self for method chaining
|
|
1532
|
+
"""
|
|
1533
|
+
if value is not None:
|
|
1534
|
+
self.bswPerInstanceMemoryPolicies = value
|
|
1535
|
+
return self
|
|
1536
|
+
|
|
1537
|
+
def getClientPolicies(self):
|
|
1538
|
+
"""
|
|
1539
|
+
Gets the list of BSW client policies.
|
|
1540
|
+
|
|
1541
|
+
Returns:
|
|
1542
|
+
List of BswClientPolicy instances
|
|
1543
|
+
"""
|
|
1544
|
+
return self.clientPolicies
|
|
1545
|
+
|
|
1546
|
+
def setClientPolicies(self, value):
|
|
1547
|
+
"""
|
|
1548
|
+
Sets the list of BSW client policies.
|
|
1549
|
+
Only sets the value if it is not None.
|
|
1550
|
+
|
|
1551
|
+
Args:
|
|
1552
|
+
value: The list of BswClientPolicy instances to set
|
|
1553
|
+
|
|
1554
|
+
Returns:
|
|
1555
|
+
self for method chaining
|
|
1556
|
+
"""
|
|
1557
|
+
if value is not None:
|
|
1558
|
+
self.clientPolicies = value
|
|
1559
|
+
return self
|
|
1560
|
+
|
|
1561
|
+
def getDistinguishedPartitions(self):
|
|
1562
|
+
"""
|
|
1563
|
+
Gets the list of BSW distinguished partitions.
|
|
1564
|
+
|
|
1565
|
+
Returns:
|
|
1566
|
+
List of BswDistinguishedPartition instances
|
|
1567
|
+
"""
|
|
1568
|
+
return self.distinguishedPartitions
|
|
1569
|
+
|
|
1570
|
+
def setDistinguishedPartitions(self, value):
|
|
1571
|
+
"""
|
|
1572
|
+
Sets the list of BSW distinguished partitions.
|
|
1573
|
+
Only sets the value if it is not None.
|
|
1574
|
+
|
|
1575
|
+
Args:
|
|
1576
|
+
value: The list of BswDistinguishedPartition instances to set
|
|
1577
|
+
|
|
1578
|
+
Returns:
|
|
1579
|
+
self for method chaining
|
|
1580
|
+
"""
|
|
1581
|
+
if value is not None:
|
|
1582
|
+
self.distinguishedPartitions = value
|
|
1583
|
+
return self
|
|
1584
|
+
|
|
1585
|
+
def getExclusiveAreaPolicies(self):
|
|
1586
|
+
"""
|
|
1587
|
+
Gets the list of BSW exclusive area policies.
|
|
1588
|
+
|
|
1589
|
+
Returns:
|
|
1590
|
+
List of BswExclusiveAreaPolicy instances
|
|
1591
|
+
"""
|
|
1592
|
+
return self.exclusiveAreaPolicies
|
|
1593
|
+
|
|
1594
|
+
def setExclusiveAreaPolicies(self, value):
|
|
1595
|
+
"""
|
|
1596
|
+
Sets the list of BSW exclusive area policies.
|
|
1597
|
+
Only sets the value if it is not None.
|
|
1598
|
+
|
|
1599
|
+
Args:
|
|
1600
|
+
value: The list of BswExclusiveAreaPolicy instances to set
|
|
1601
|
+
|
|
1602
|
+
Returns:
|
|
1603
|
+
self for method chaining
|
|
1604
|
+
"""
|
|
1605
|
+
if value is not None:
|
|
1606
|
+
self.exclusiveAreaPolicies = value
|
|
1607
|
+
return self
|
|
1608
|
+
|
|
1609
|
+
def getInternalTriggeringPoints(self):
|
|
1610
|
+
"""
|
|
1611
|
+
Gets the list of BSW internal triggering points.
|
|
1612
|
+
|
|
1613
|
+
Returns:
|
|
1614
|
+
List of BswInternalTriggeringPoint instances
|
|
1615
|
+
"""
|
|
1616
|
+
return self.internalTriggeringPoints
|
|
1617
|
+
|
|
1618
|
+
def createBswInternalTriggeringPoint(self, short_name: str) -> BswInternalTriggeringPoint:
|
|
1619
|
+
"""
|
|
1620
|
+
Creates and adds a BswInternalTriggeringPoint to this internal behavior.
|
|
1621
|
+
|
|
1622
|
+
Args:
|
|
1623
|
+
short_name: The short name for the new triggering point
|
|
1624
|
+
|
|
1625
|
+
Returns:
|
|
1626
|
+
The created BswInternalTriggeringPoint instance
|
|
1627
|
+
"""
|
|
1628
|
+
if not self.IsElementExists(short_name):
|
|
1629
|
+
entity = BswInternalTriggeringPoint(self, short_name)
|
|
1630
|
+
self.addElement(entity)
|
|
1631
|
+
self.internalTriggeringPoints.append(entity)
|
|
1632
|
+
return self.getElement(short_name)
|
|
1633
|
+
|
|
1634
|
+
def getInternalTriggeringPointPolicies(self):
|
|
1635
|
+
"""
|
|
1636
|
+
Gets the list of BSW internal triggering point policies.
|
|
1637
|
+
|
|
1638
|
+
Returns:
|
|
1639
|
+
List of BswInternalTriggeringPointPolicy instances
|
|
1640
|
+
"""
|
|
1641
|
+
return self.internalTriggeringPointPolicies
|
|
1642
|
+
|
|
1643
|
+
def setInternalTriggeringPointPolicies(self, value):
|
|
1644
|
+
"""
|
|
1645
|
+
Sets the list of BSW internal triggering point policies.
|
|
1646
|
+
Only sets the value if it is not None.
|
|
1647
|
+
|
|
1648
|
+
Args:
|
|
1649
|
+
value: The list of BswInternalTriggeringPointPolicy instances to set
|
|
1650
|
+
|
|
1651
|
+
Returns:
|
|
1652
|
+
self for method chaining
|
|
1653
|
+
"""
|
|
1654
|
+
if value is not None:
|
|
1655
|
+
self.internalTriggeringPointPolicies = value
|
|
1656
|
+
return self
|
|
1657
|
+
|
|
1658
|
+
def getModeReceiverPolicies(self):
|
|
1659
|
+
"""
|
|
1660
|
+
Gets the list of BSW mode receiver policies.
|
|
1661
|
+
|
|
1662
|
+
Returns:
|
|
1663
|
+
List of BswModeReceiverPolicy instances
|
|
1664
|
+
"""
|
|
1665
|
+
return self.modeReceiverPolicies
|
|
1666
|
+
|
|
1667
|
+
def setModeSenderPolicies(self, value):
|
|
1668
|
+
"""
|
|
1669
|
+
Sets the list of BSW mode sender policies.
|
|
1670
|
+
Only sets the value if it is not None.
|
|
1671
|
+
|
|
1672
|
+
Args:
|
|
1673
|
+
value: The list of BswModeSenderPolicy instances to set
|
|
1674
|
+
|
|
1675
|
+
Returns:
|
|
1676
|
+
self for method chaining
|
|
1677
|
+
"""
|
|
1678
|
+
if value is not None:
|
|
1679
|
+
self.modeSenderPolicies = value
|
|
1680
|
+
return self
|
|
1681
|
+
|
|
1682
|
+
def getParameterPolicies(self):
|
|
1683
|
+
"""
|
|
1684
|
+
Gets the list of BSW parameter policies.
|
|
1685
|
+
|
|
1686
|
+
Returns:
|
|
1687
|
+
List of BswParameterPolicy instances
|
|
1688
|
+
"""
|
|
1689
|
+
return self.parameterPolicies
|
|
1690
|
+
|
|
1691
|
+
def setParameterPolicies(self, value):
|
|
1692
|
+
"""
|
|
1693
|
+
Sets the list of BSW parameter policies.
|
|
1694
|
+
Only sets the value if it is not None.
|
|
1695
|
+
|
|
1696
|
+
Args:
|
|
1697
|
+
value: The list of BswParameterPolicy instances to set
|
|
1698
|
+
|
|
1699
|
+
Returns:
|
|
1700
|
+
self for method chaining
|
|
1701
|
+
"""
|
|
1702
|
+
if value is not None:
|
|
1703
|
+
self.parameterPolicies = value
|
|
1704
|
+
return self
|
|
1705
|
+
|
|
1706
|
+
def getPerInstanceParameters(self):
|
|
1707
|
+
"""
|
|
1708
|
+
Gets the list of per-instance parameters.
|
|
1709
|
+
|
|
1710
|
+
Returns:
|
|
1711
|
+
List of ParameterDataPrototype instances
|
|
1712
|
+
"""
|
|
1713
|
+
return self.perInstanceParameters
|
|
1714
|
+
|
|
1715
|
+
def setPerInstanceParameters(self, value):
|
|
1716
|
+
"""
|
|
1717
|
+
Sets the list of per-instance parameters.
|
|
1718
|
+
Only sets the value if it is not None.
|
|
1719
|
+
|
|
1720
|
+
Args:
|
|
1721
|
+
value: The list of ParameterDataPrototype instances to set
|
|
1722
|
+
|
|
1723
|
+
Returns:
|
|
1724
|
+
self for method chaining
|
|
1725
|
+
"""
|
|
1726
|
+
if value is not None:
|
|
1727
|
+
self.perInstanceParameters = value
|
|
1728
|
+
return self
|
|
1729
|
+
|
|
1730
|
+
def getReceptionPolicies(self):
|
|
1731
|
+
"""
|
|
1732
|
+
Gets the list of BSW data reception policies.
|
|
1733
|
+
|
|
1734
|
+
Returns:
|
|
1735
|
+
List of BswDataReceptionPolicy instances
|
|
1736
|
+
"""
|
|
1737
|
+
return self.receptionPolicies
|
|
1738
|
+
|
|
1739
|
+
def addReceptionPolicy(self, value):
|
|
1740
|
+
"""
|
|
1741
|
+
Adds a BSW data reception policy to the list.
|
|
1742
|
+
Only adds the value if it is not None.
|
|
1743
|
+
|
|
1744
|
+
Args:
|
|
1745
|
+
value: The BswDataReceptionPolicy instance to add
|
|
1746
|
+
|
|
1747
|
+
Returns:
|
|
1748
|
+
self for method chaining
|
|
1749
|
+
"""
|
|
1750
|
+
if value is not None:
|
|
1751
|
+
self.receptionPolicies.append(value)
|
|
1752
|
+
return self
|
|
1753
|
+
|
|
1754
|
+
def getReleasedTriggerPolicies(self):
|
|
1755
|
+
"""
|
|
1756
|
+
Gets the list of BSW released trigger policies.
|
|
1757
|
+
|
|
1758
|
+
Returns:
|
|
1759
|
+
List of BswReleasedTriggerPolicy instances
|
|
1760
|
+
"""
|
|
1761
|
+
return self.releasedTriggerPolicies
|
|
1762
|
+
|
|
1763
|
+
def setReleasedTriggerPolicies(self, value):
|
|
1764
|
+
"""
|
|
1765
|
+
Sets the list of BSW released trigger policies.
|
|
1766
|
+
Only sets the value if it is not None.
|
|
1767
|
+
|
|
1768
|
+
Args:
|
|
1769
|
+
value: The list of BswReleasedTriggerPolicy instances to set
|
|
1770
|
+
|
|
1771
|
+
Returns:
|
|
1772
|
+
self for method chaining
|
|
1773
|
+
"""
|
|
1774
|
+
if value is not None:
|
|
1775
|
+
self.releasedTriggerPolicies = value
|
|
1776
|
+
return self
|
|
1777
|
+
|
|
1778
|
+
def getSchedulerNamePrefixes(self):
|
|
1779
|
+
"""
|
|
1780
|
+
Gets the list of BSW scheduler name prefixes.
|
|
1781
|
+
|
|
1782
|
+
Returns:
|
|
1783
|
+
List of BswSchedulerNamePrefix instances
|
|
1784
|
+
"""
|
|
1785
|
+
return self.schedulerNamePrefixes
|
|
1786
|
+
|
|
1787
|
+
def setSchedulerNamePrefixes(self, value):
|
|
1788
|
+
"""
|
|
1789
|
+
Sets the list of BSW scheduler name prefixes.
|
|
1790
|
+
Only sets the value if it is not None.
|
|
1791
|
+
|
|
1792
|
+
Args:
|
|
1793
|
+
value: The list of BswSchedulerNamePrefix instances to set
|
|
1794
|
+
|
|
1795
|
+
Returns:
|
|
1796
|
+
self for method chaining
|
|
1797
|
+
"""
|
|
1798
|
+
if value is not None:
|
|
1799
|
+
self.schedulerNamePrefixes = value
|
|
1800
|
+
return self
|
|
1801
|
+
|
|
1802
|
+
def getSendPolicies(self):
|
|
1803
|
+
"""
|
|
1804
|
+
Gets the list of BSW data send policies.
|
|
1805
|
+
|
|
1806
|
+
Returns:
|
|
1807
|
+
List of BswDataSendPolicy instances
|
|
1808
|
+
"""
|
|
1809
|
+
return self.sendPolicies
|
|
1810
|
+
|
|
1811
|
+
def setSendPolicies(self, value):
|
|
1812
|
+
"""
|
|
1813
|
+
Sets the list of BSW data send policies.
|
|
1814
|
+
Only sets the value if it is not None.
|
|
1815
|
+
|
|
1816
|
+
Args:
|
|
1817
|
+
value: The list of BswDataSendPolicy instances to set
|
|
1818
|
+
|
|
1819
|
+
Returns:
|
|
1820
|
+
self for method chaining
|
|
1821
|
+
"""
|
|
1822
|
+
if value is not None:
|
|
1823
|
+
self.sendPolicies = value
|
|
1824
|
+
return self
|
|
1825
|
+
|
|
1826
|
+
def getServiceDependencies(self):
|
|
1827
|
+
"""
|
|
1828
|
+
Gets the list of BSW service dependencies.
|
|
1829
|
+
|
|
1830
|
+
Returns:
|
|
1831
|
+
List of BswServiceDependency instances
|
|
1832
|
+
"""
|
|
1833
|
+
return self.serviceDependencies
|
|
1834
|
+
|
|
1835
|
+
def setServiceDependencies(self, value):
|
|
1836
|
+
"""
|
|
1837
|
+
Sets the list of BSW service dependencies.
|
|
1838
|
+
Only sets the value if it is not None.
|
|
1839
|
+
|
|
1840
|
+
Args:
|
|
1841
|
+
value: The list of BswServiceDependency instances to set
|
|
1842
|
+
|
|
1843
|
+
Returns:
|
|
1844
|
+
self for method chaining
|
|
1845
|
+
"""
|
|
1846
|
+
if value is not None:
|
|
1847
|
+
self.serviceDependencies = value
|
|
1848
|
+
return self
|
|
1849
|
+
|
|
1850
|
+
def getTriggerDirectImplementations(self):
|
|
1851
|
+
"""
|
|
1852
|
+
Gets the list of BSW trigger direct implementations.
|
|
1853
|
+
|
|
1854
|
+
Returns:
|
|
1855
|
+
List of BswTriggerDirectImplementation instances
|
|
1856
|
+
"""
|
|
1857
|
+
return self.triggerDirectImplementations
|
|
1858
|
+
|
|
1859
|
+
def setTriggerDirectImplementations(self, value):
|
|
1860
|
+
"""
|
|
1861
|
+
Sets the list of BSW trigger direct implementations.
|
|
1862
|
+
Only sets the value if it is not None.
|
|
1863
|
+
|
|
1864
|
+
Args:
|
|
1865
|
+
value: The list of BswTriggerDirectImplementation instances to set
|
|
1866
|
+
|
|
1867
|
+
Returns:
|
|
1868
|
+
self for method chaining
|
|
1869
|
+
"""
|
|
1870
|
+
if value is not None:
|
|
1871
|
+
self.triggerDirectImplementations = value
|
|
1872
|
+
return self
|
|
1873
|
+
|
|
1874
|
+
def getVariationPointProxies(self):
|
|
1875
|
+
"""
|
|
1876
|
+
Gets the list of variation point proxies.
|
|
1877
|
+
|
|
1878
|
+
Returns:
|
|
1879
|
+
List of VariationPointProxy instances
|
|
1880
|
+
"""
|
|
1881
|
+
return self.variationPointProxies
|
|
1882
|
+
|
|
1883
|
+
def setVariationPointProxies(self, value):
|
|
1884
|
+
"""
|
|
1885
|
+
Sets the list of variation point proxies.
|
|
1886
|
+
Only sets the value if it is not None.
|
|
1887
|
+
|
|
1888
|
+
Args:
|
|
1889
|
+
value: The list of VariationPointProxy instances to set
|
|
1890
|
+
|
|
1891
|
+
Returns:
|
|
1892
|
+
self for method chaining
|
|
1893
|
+
"""
|
|
1894
|
+
if value is not None:
|
|
1895
|
+
self.variationPointProxies = value
|
|
1896
|
+
return self
|
|
1897
|
+
|
|
1898
|
+
def addModeSenderPolicy(self, policy: BswModeSenderPolicy):
|
|
1899
|
+
"""
|
|
1900
|
+
Adds a BSW mode sender policy to the list.
|
|
1901
|
+
Note: This method adds to modeReceiverPolicies instead of modeSenderPolicies,
|
|
1902
|
+
which might be an error in the original implementation.
|
|
1903
|
+
|
|
1904
|
+
Args:
|
|
1905
|
+
policy: The BswModeSenderPolicy instance to add
|
|
1906
|
+
"""
|
|
1907
|
+
self.modeReceiverPolicies.append(policy)
|
|
1908
|
+
|
|
1909
|
+
def getModeSenderPolicies(self) -> List[BswModeSenderPolicy]:
|
|
1910
|
+
"""
|
|
1911
|
+
Gets the list of BSW mode sender policies.
|
|
1912
|
+
Note: This method returns modeReceiverPolicies instead of modeSenderPolicies,
|
|
1913
|
+
which might be an error in the original implementation.
|
|
1914
|
+
|
|
1915
|
+
Returns:
|
|
1916
|
+
List of BswModeSenderPolicy instances
|
|
1917
|
+
"""
|
|
1918
|
+
return self.modeReceiverPolicies
|
|
1919
|
+
|
|
1920
|
+
def createBswCalledEntity(self, short_name: str) -> BswCalledEntity:
|
|
1921
|
+
"""
|
|
1922
|
+
Creates and adds a BswCalledEntity to this internal behavior.
|
|
1923
|
+
|
|
1924
|
+
Args:
|
|
1925
|
+
short_name: The short name for the new called entity
|
|
1926
|
+
|
|
1927
|
+
Returns:
|
|
1928
|
+
The created BswCalledEntity instance
|
|
1929
|
+
"""
|
|
1930
|
+
if not self.IsElementExists(short_name):
|
|
1931
|
+
entity = BswCalledEntity(self, short_name)
|
|
1932
|
+
self.addElement(entity)
|
|
1933
|
+
self.entities.append(entity)
|
|
1934
|
+
return self.getElement(short_name)
|
|
1935
|
+
|
|
1936
|
+
def getBswCalledEntities(self) -> List[BswCalledEntity]:
|
|
1937
|
+
"""
|
|
1938
|
+
Gets all BswCalledEntity instances from the elements list.
|
|
1939
|
+
|
|
1940
|
+
Returns:
|
|
1941
|
+
List of BswCalledEntity instances
|
|
1942
|
+
"""
|
|
1943
|
+
return list(filter(lambda a: isinstance(a, BswCalledEntity), self.elements))
|
|
1944
|
+
|
|
1945
|
+
def createBswSchedulableEntity(self, short_name: str) -> BswSchedulableEntity:
|
|
1946
|
+
"""
|
|
1947
|
+
Creates and adds a BswSchedulableEntity to this internal behavior.
|
|
1948
|
+
|
|
1949
|
+
Args:
|
|
1950
|
+
short_name: The short name for the new schedulable entity
|
|
1951
|
+
|
|
1952
|
+
Returns:
|
|
1953
|
+
The created BswSchedulableEntity instance
|
|
1954
|
+
"""
|
|
1955
|
+
if not self.IsElementExists(short_name):
|
|
1956
|
+
entity = BswSchedulableEntity(self, short_name)
|
|
1957
|
+
self.addElement(entity)
|
|
1958
|
+
self.entities.append(entity)
|
|
1959
|
+
return self.getElement(short_name)
|
|
1960
|
+
|
|
1961
|
+
def getBswSchedulableEntities(self) -> List[BswSchedulableEntity]:
|
|
1962
|
+
"""
|
|
1963
|
+
Gets all BswSchedulableEntity instances from the elements list.
|
|
1964
|
+
|
|
1965
|
+
Returns:
|
|
1966
|
+
List of BswSchedulableEntity instances
|
|
1967
|
+
"""
|
|
1968
|
+
return list(filter(lambda a: isinstance(a, BswSchedulableEntity), self.elements))
|
|
1969
|
+
|
|
1970
|
+
def createBswInterruptEntity(self, short_name: str) -> BswInterruptEntity:
|
|
1971
|
+
"""
|
|
1972
|
+
Creates and adds a BswInterruptEntity to this internal behavior.
|
|
1973
|
+
|
|
1974
|
+
Args:
|
|
1975
|
+
short_name: The short name for the new interrupt entity
|
|
1976
|
+
|
|
1977
|
+
Returns:
|
|
1978
|
+
The created BswInterruptEntity instance
|
|
1979
|
+
"""
|
|
1980
|
+
if not self.IsElementExists(short_name):
|
|
1981
|
+
entity = BswInterruptEntity(self, short_name)
|
|
1982
|
+
self.addElement(entity)
|
|
1983
|
+
self.entities.append(entity)
|
|
1984
|
+
return self.getElement(short_name)
|
|
1985
|
+
|
|
1986
|
+
def getBswInterruptEntities(self) -> List[BswInterruptEntity]:
|
|
1987
|
+
"""
|
|
1988
|
+
Gets all BswInterruptEntity instances from the elements list.
|
|
1989
|
+
|
|
1990
|
+
Returns:
|
|
1991
|
+
List of BswInterruptEntity instances
|
|
1992
|
+
"""
|
|
1993
|
+
return list(filter(lambda a: isinstance(a, BswInterruptEntity), self.elements))
|
|
1994
|
+
|
|
1995
|
+
def getBswModuleEntities(self) -> List[BswModuleEntity]:
|
|
1996
|
+
"""
|
|
1997
|
+
Gets all BswModuleEntity instances from the elements list.
|
|
1998
|
+
|
|
1999
|
+
Returns:
|
|
2000
|
+
List of BswModuleEntity instances
|
|
2001
|
+
"""
|
|
2002
|
+
return list(filter(lambda a: isinstance(a, BswModuleEntity), self.elements))
|
|
2003
|
+
|
|
2004
|
+
def createBswModeSwitchEvent(self, short_name: str) -> BswModeSwitchEvent:
|
|
2005
|
+
"""
|
|
2006
|
+
Creates and adds a BswModeSwitchEvent to this internal behavior.
|
|
2007
|
+
|
|
2008
|
+
Args:
|
|
2009
|
+
short_name: The short name for the new mode switch event
|
|
2010
|
+
|
|
2011
|
+
Returns:
|
|
2012
|
+
The created BswModeSwitchEvent instance
|
|
2013
|
+
"""
|
|
2014
|
+
if not self.IsElementExists(short_name):
|
|
2015
|
+
event = BswModeSwitchEvent(self, short_name)
|
|
2016
|
+
self.addElement(event)
|
|
2017
|
+
self.events.append(event)
|
|
2018
|
+
return self.getElement(short_name)
|
|
2019
|
+
|
|
2020
|
+
def getBswModeSwitchEvents(self) -> List[BswModeSwitchEvent]:
|
|
2021
|
+
"""
|
|
2022
|
+
Gets all BswModeSwitchEvent instances from the elements list.
|
|
2023
|
+
|
|
2024
|
+
Returns:
|
|
2025
|
+
List of BswModeSwitchEvent instances
|
|
2026
|
+
"""
|
|
2027
|
+
return list(filter(lambda a: isinstance(a, BswModeSwitchEvent), self.elements))
|
|
2028
|
+
|
|
2029
|
+
def createBswTimingEvent(self, short_name: str) -> BswTimingEvent:
|
|
2030
|
+
"""
|
|
2031
|
+
Creates and adds a BswTimingEvent to this internal behavior.
|
|
2032
|
+
|
|
2033
|
+
Args:
|
|
2034
|
+
short_name: The short name for the new timing event
|
|
2035
|
+
|
|
2036
|
+
Returns:
|
|
2037
|
+
The created BswTimingEvent instance
|
|
2038
|
+
"""
|
|
2039
|
+
if not self.IsElementExists(short_name):
|
|
2040
|
+
event = BswTimingEvent(self, short_name)
|
|
2041
|
+
self.addElement(event)
|
|
2042
|
+
self.events.append(event)
|
|
2043
|
+
return self.getElement(short_name)
|
|
2044
|
+
|
|
2045
|
+
def getBswTimingEvents(self) -> List[BswTimingEvent]:
|
|
2046
|
+
"""
|
|
2047
|
+
Gets all BswTimingEvent instances from the elements list.
|
|
2048
|
+
|
|
2049
|
+
Returns:
|
|
2050
|
+
List of BswTimingEvent instances
|
|
2051
|
+
"""
|
|
2052
|
+
return list(filter(lambda a: isinstance(a, BswTimingEvent), self.elements))
|
|
2053
|
+
|
|
2054
|
+
def createBswDataReceivedEvent(self, short_name: str) -> BswDataReceivedEvent:
|
|
2055
|
+
"""
|
|
2056
|
+
Creates and adds a BswDataReceivedEvent to this internal behavior.
|
|
2057
|
+
|
|
2058
|
+
Args:
|
|
2059
|
+
short_name: The short name for the new data received event
|
|
2060
|
+
|
|
2061
|
+
Returns:
|
|
2062
|
+
The created BswDataReceivedEvent instance
|
|
2063
|
+
"""
|
|
2064
|
+
if not self.IsElementExists(short_name):
|
|
2065
|
+
event = BswDataReceivedEvent(self, short_name)
|
|
2066
|
+
self.addElement(event)
|
|
2067
|
+
self.events.append(event)
|
|
2068
|
+
return self.getElement(short_name)
|
|
2069
|
+
|
|
2070
|
+
def getBswDataReceivedEvents(self) -> List[BswDataReceivedEvent]:
|
|
2071
|
+
"""
|
|
2072
|
+
Gets all BswDataReceivedEvent instances from the elements list.
|
|
2073
|
+
|
|
2074
|
+
Returns:
|
|
2075
|
+
List of BswDataReceivedEvent instances
|
|
2076
|
+
"""
|
|
2077
|
+
return list(filter(lambda a: isinstance(a, BswDataReceivedEvent), self.elements))
|
|
2078
|
+
|
|
2079
|
+
def createBswInternalTriggerOccurredEvent(self, short_name: str) -> BswInternalTriggerOccurredEvent:
|
|
2080
|
+
"""
|
|
2081
|
+
Creates and adds a BswInternalTriggerOccurredEvent to this internal behavior.
|
|
2082
|
+
|
|
2083
|
+
Args:
|
|
2084
|
+
short_name: The short name for the new internal trigger event
|
|
2085
|
+
|
|
2086
|
+
Returns:
|
|
2087
|
+
The created BswInternalTriggerOccurredEvent instance
|
|
2088
|
+
"""
|
|
2089
|
+
if not self.IsElementExists(short_name):
|
|
2090
|
+
event = BswInternalTriggerOccurredEvent(self, short_name)
|
|
2091
|
+
self.addElement(event)
|
|
2092
|
+
self.events.append(event)
|
|
2093
|
+
return self.getElement(short_name)
|
|
2094
|
+
|
|
2095
|
+
def getBswInternalTriggerOccurredEvents(self) -> List[BswInternalTriggerOccurredEvent]:
|
|
2096
|
+
"""
|
|
2097
|
+
Gets all BswInternalTriggerOccurredEvent instances from the elements list.
|
|
2098
|
+
|
|
2099
|
+
Returns:
|
|
2100
|
+
List of BswInternalTriggerOccurredEvent instances
|
|
2101
|
+
"""
|
|
2102
|
+
return list(filter(lambda a: isinstance(a, BswInternalTriggerOccurredEvent), self.elements))
|
|
2103
|
+
|
|
2104
|
+
def createBswExternalTriggerOccurredEvent(self, short_name: str) -> BswExternalTriggerOccurredEvent:
|
|
2105
|
+
"""
|
|
2106
|
+
Creates and adds a BswExternalTriggerOccurredEvent to this internal behavior.
|
|
2107
|
+
|
|
2108
|
+
Args:
|
|
2109
|
+
short_name: The short name for the new external trigger event
|
|
2110
|
+
|
|
2111
|
+
Returns:
|
|
2112
|
+
The created BswExternalTriggerOccurredEvent instance
|
|
2113
|
+
"""
|
|
2114
|
+
if not self.IsElementExists(short_name):
|
|
2115
|
+
event = BswExternalTriggerOccurredEvent(self, short_name)
|
|
2116
|
+
self.addElement(event)
|
|
2117
|
+
self.events.append(event)
|
|
2118
|
+
return self.getElement(short_name)
|
|
2119
|
+
|
|
2120
|
+
def getBswOperationInvokedEvents(self) -> List[BswOperationInvokedEvent]:
|
|
2121
|
+
"""
|
|
2122
|
+
Gets all BswOperationInvokedEvent instances from the elements list.
|
|
2123
|
+
|
|
2124
|
+
Returns:
|
|
2125
|
+
List of BswOperationInvokedEvent instances
|
|
2126
|
+
"""
|
|
2127
|
+
return list(filter(lambda a: isinstance(a, BswOperationInvokedEvent), self.elements))
|
|
2128
|
+
|
|
2129
|
+
def createBswOperationInvokedEvent(self, short_name: str) -> BswOperationInvokedEvent:
|
|
2130
|
+
"""
|
|
2131
|
+
Creates and adds a BswOperationInvokedEvent to this internal behavior.
|
|
2132
|
+
|
|
2133
|
+
Args:
|
|
2134
|
+
short_name: The short name for the new operation invoked event
|
|
2135
|
+
|
|
2136
|
+
Returns:
|
|
2137
|
+
The created BswOperationInvokedEvent instance
|
|
2138
|
+
"""
|
|
2139
|
+
if not self.IsElementExists(short_name):
|
|
2140
|
+
event = BswOperationInvokedEvent(self, short_name)
|
|
2141
|
+
self.addElement(event)
|
|
2142
|
+
self.events.append(event)
|
|
2143
|
+
return self.getElement(short_name)
|
|
2144
|
+
|
|
2145
|
+
def getBswExternalTriggerOccurredEvents(self) -> List[BswExternalTriggerOccurredEvent]:
|
|
2146
|
+
"""
|
|
2147
|
+
Gets all BswExternalTriggerOccurredEvent instances from the elements list.
|
|
2148
|
+
|
|
2149
|
+
Returns:
|
|
2150
|
+
List of BswExternalTriggerOccurredEvent instances
|
|
2151
|
+
"""
|
|
2152
|
+
return list(filter(lambda a: isinstance(a, BswExternalTriggerOccurredEvent), self.elements))
|
|
2153
|
+
|
|
2154
|
+
def createBswBackgroundEvent(self, short_name: str) -> BswBackgroundEvent:
|
|
2155
|
+
"""
|
|
2156
|
+
Creates and adds a BswBackgroundEvent to this internal behavior.
|
|
2157
|
+
|
|
2158
|
+
Args:
|
|
2159
|
+
short_name: The short name for the new background event
|
|
2160
|
+
|
|
2161
|
+
Returns:
|
|
2162
|
+
The created BswBackgroundEvent instance
|
|
2163
|
+
"""
|
|
2164
|
+
if not self.IsElementExists(short_name):
|
|
2165
|
+
event = BswBackgroundEvent(self, short_name)
|
|
2166
|
+
self.addElement(event)
|
|
2167
|
+
self.events.append(event)
|
|
2168
|
+
return self.getElement(short_name)
|
|
2169
|
+
|
|
2170
|
+
def getBswBackgroundEvents(self) -> List[BswBackgroundEvent]:
|
|
2171
|
+
"""
|
|
2172
|
+
Gets all BswBackgroundEvent instances from the elements list.
|
|
2173
|
+
|
|
2174
|
+
Returns:
|
|
2175
|
+
List of BswBackgroundEvent instances
|
|
2176
|
+
"""
|
|
2177
|
+
return list(filter(lambda a: isinstance(a, BswBackgroundEvent), self.elements))
|
|
2178
|
+
|
|
2179
|
+
def getBswEvents(self) -> List[BswEvent]:
|
|
2180
|
+
"""
|
|
2181
|
+
Gets all BswEvent instances from the elements list.
|
|
2182
|
+
|
|
2183
|
+
Returns:
|
|
2184
|
+
List of BswEvent instances
|
|
2185
|
+
"""
|
|
2186
|
+
return list(filter(lambda a: isinstance(a, BswEvent), self.elements))
|
|
2187
|
+
|
|
2188
|
+
def addIncludedModeDeclarationGroupSet(self, group_set: IncludedModeDeclarationGroupSet):
|
|
2189
|
+
"""
|
|
2190
|
+
Adds an included mode declaration group set to the list.
|
|
2191
|
+
|
|
2192
|
+
Args:
|
|
2193
|
+
group_set: The IncludedModeDeclarationGroupSet instance to add
|
|
2194
|
+
"""
|
|
2195
|
+
self.includedModeDeclarationGroupSets.append(group_set)
|
|
2196
|
+
|
|
2197
|
+
def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
|
|
2198
|
+
"""
|
|
2199
|
+
Gets the list of included mode declaration group sets.
|
|
2200
|
+
|
|
2201
|
+
Returns:
|
|
2202
|
+
List of IncludedModeDeclarationGroupSet instances
|
|
2203
|
+
"""
|
|
2204
|
+
return self.includedModeDeclarationGroupSets
|
|
2205
|
+
|
|
2206
|
+
def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
|
|
2207
|
+
"""
|
|
2208
|
+
Adds an included data type set to the list.
|
|
2209
|
+
|
|
2210
|
+
Args:
|
|
2211
|
+
type_set: The IncludedDataTypeSet instance to add
|
|
2212
|
+
"""
|
|
2213
|
+
self.includedDataTypeSets.append(type_set)
|
|
2214
|
+
|
|
2215
|
+
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
2216
|
+
"""
|
|
2217
|
+
Gets the list of included data type sets.
|
|
2218
|
+
|
|
2219
|
+
Returns:
|
|
2220
|
+
List of IncludedDataTypeSet instances
|
|
2221
|
+
"""
|
|
2222
|
+
return self.includedDataTypeSets
|
|
2223
|
+
|
|
792
2224
|
|