armodel 1.8.7__py3-none-any.whl → 1.9.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/__init__.py +18 -3
- armodel/cli/arxml_dump_cli.py +196 -197
- armodel/cli/arxml_format_cli.py +84 -84
- armodel/cli/connector2xlsx_cli.py +71 -73
- armodel/cli/connector_update_cli.py +71 -73
- armodel/cli/file_list_cli.py +69 -69
- armodel/cli/format_xml_cli.py +62 -62
- armodel/cli/memory_section_cli.py +72 -75
- armodel/cli/swc_list_cli.py +77 -79
- armodel/cli/system_signal_cli.py +71 -73
- armodel/cli/uuid_checker_cli.py +95 -95
- armodel/data_models/sw_connector.py +21 -21
- armodel/lib/__init__.py +3 -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/AbstractPlatform/ApplicationDeferredDataType.py +21 -0
- armodel/models/M2/AUTOSARTemplates/AbstractPlatform/ApplicationInterface.py +79 -0
- armodel/models/M2/AUTOSARTemplates/AbstractPlatform/__init__.py +2 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/ApplicationDesign/PortInterface/Field.py +52 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/ApplicationDesign/PortInterface/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/AdaptiveModule/PlatformModuleEthernetEndpointConfiguration.py +63 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/AdaptiveModule/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/CryptoKeySlot.py +128 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/CryptoKeySlotContent.py +19 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/CryptoDeployment/__init__.py +4 -0
- 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/IntrusionDetectionSystem/IdsPlatformInstantiation.py +52 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/IntrusionDetectionSystem/IdsmModuleInstantiation.py +19 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/IntrusionDetectionSystem/__init__.py +4 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/PlatformModuleDeployment/__init__.py +25 -0
- armodel/models/M2/AUTOSARTemplates/AdaptivePlatform/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/{AutosarTopLevelStructure.py → AutosarTopLevelStructure/__init__.py} +320 -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/InstanceRefs/ModeInBswModuleDescriptionInstanceRef.py +61 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/InstanceRefs/__init__.py +3 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview/__init__.py +445 -0
- 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 +782 -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 +473 -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 +155 -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.2.dist-info}/METADATA +850 -662
- armodel-1.9.2.dist-info/RECORD +286 -0
- {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/WHEEL +1 -1
- {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info}/entry_points.txt +0 -1
- {armodel-1.8.7.dist-info → armodel-1.9.2.dist-info/licenses}/LICENSE +21 -21
- armodel/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +0 -179
- 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.2.dist-info}/top_level.txt +0 -0
|
@@ -1,790 +1,900 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
self.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
self
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
self
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
self
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
self.
|
|
75
|
-
self
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
self.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
self.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
self.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
self.
|
|
146
|
-
self
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
self.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
def
|
|
179
|
-
return self.
|
|
180
|
-
|
|
181
|
-
def
|
|
182
|
-
self.
|
|
183
|
-
return self
|
|
184
|
-
|
|
185
|
-
def
|
|
186
|
-
return self.
|
|
187
|
-
|
|
188
|
-
def
|
|
189
|
-
self.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
def
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
self.
|
|
204
|
-
self
|
|
205
|
-
|
|
206
|
-
def
|
|
207
|
-
return self.
|
|
208
|
-
|
|
209
|
-
def
|
|
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
|
-
return self
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
self.
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
self
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
def
|
|
272
|
-
|
|
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
|
-
def
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
def
|
|
312
|
-
return self.
|
|
313
|
-
|
|
314
|
-
def
|
|
315
|
-
if value is not None:
|
|
316
|
-
self.
|
|
317
|
-
return self
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
def
|
|
344
|
-
return self.
|
|
345
|
-
|
|
346
|
-
def
|
|
347
|
-
if value is not None:
|
|
348
|
-
self.
|
|
349
|
-
return self
|
|
350
|
-
|
|
351
|
-
def
|
|
352
|
-
return self.
|
|
353
|
-
|
|
354
|
-
def
|
|
355
|
-
if value is not None:
|
|
356
|
-
self.
|
|
357
|
-
return self
|
|
358
|
-
|
|
359
|
-
def
|
|
360
|
-
return self.
|
|
361
|
-
|
|
362
|
-
def
|
|
363
|
-
if value is not None:
|
|
364
|
-
self.
|
|
365
|
-
return self
|
|
366
|
-
|
|
367
|
-
def
|
|
368
|
-
return self.
|
|
369
|
-
|
|
370
|
-
def
|
|
371
|
-
if value is not None:
|
|
372
|
-
self.
|
|
373
|
-
return self
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
return self.
|
|
393
|
-
|
|
394
|
-
def
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
return self
|
|
409
|
-
|
|
410
|
-
def
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
self.
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
self
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
self.
|
|
433
|
-
|
|
434
|
-
def
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
self
|
|
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
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
self.
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
self.
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
self.
|
|
524
|
-
self
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
self.
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
self.
|
|
531
|
-
self
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
self
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
self.
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
self.
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
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
|
-
def
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
self.
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
self.
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
self.
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
self
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
self
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
self
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
def
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
return self
|
|
668
|
-
|
|
669
|
-
def
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
self.
|
|
685
|
-
self
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
self.
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
self.
|
|
692
|
-
self
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
return self
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
return self
|
|
714
|
-
|
|
715
|
-
def
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
return self
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
def
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
1
|
+
# This module contains AUTOSAR System Template classes for network management
|
|
2
|
+
# It defines CAN, FlexRay, J1939, and UDP network management configurations
|
|
3
|
+
|
|
4
|
+
from abc import ABC
|
|
5
|
+
from typing import List
|
|
6
|
+
from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import RxIdentifierRange
|
|
7
|
+
from armodel.models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
8
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
9
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Boolean, Integer, PositiveInteger, RefType, ARBoolean, TimeValue
|
|
10
|
+
from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
11
|
+
|
|
12
|
+
class NmClusterCoupling(ARObject, ABC):
|
|
13
|
+
"""
|
|
14
|
+
Abstract base class for network management cluster coupling,
|
|
15
|
+
defining common properties for connecting different types of
|
|
16
|
+
network management clusters for coordinated network management.
|
|
17
|
+
"""
|
|
18
|
+
def __init__(self):
|
|
19
|
+
if type(self) == NmClusterCoupling:
|
|
20
|
+
raise TypeError("NmClusterCoupling is an abstract class.")
|
|
21
|
+
|
|
22
|
+
super().__init__()
|
|
23
|
+
|
|
24
|
+
class CanNmClusterCoupling(NmClusterCoupling):
|
|
25
|
+
"""
|
|
26
|
+
Defines coupling properties for CAN network management clusters,
|
|
27
|
+
specifying coupled cluster references and CAN-specific NM features
|
|
28
|
+
like busload reduction and immediate restart capabilities.
|
|
29
|
+
"""
|
|
30
|
+
def __init__(self):
|
|
31
|
+
super().__init__()
|
|
32
|
+
|
|
33
|
+
self.coupledClusterRefs = []
|
|
34
|
+
self.nmBusloadReductionEnabled = None
|
|
35
|
+
self.nmImmediateRestartEnabled = None
|
|
36
|
+
|
|
37
|
+
def getCoupledClusterRefs(self):
|
|
38
|
+
return self.coupledClusterRefs
|
|
39
|
+
|
|
40
|
+
def addCoupledClusterRef(self, value):
|
|
41
|
+
self.coupledClusterRefs.append(value)
|
|
42
|
+
return self
|
|
43
|
+
|
|
44
|
+
def getNmBusloadReductionEnabled(self):
|
|
45
|
+
return self.nmBusloadReductionEnabled
|
|
46
|
+
|
|
47
|
+
def setNmBusloadReductionEnabled(self, value):
|
|
48
|
+
self.nmBusloadReductionEnabled = value
|
|
49
|
+
return self
|
|
50
|
+
|
|
51
|
+
def getNmImmediateRestartEnabled(self):
|
|
52
|
+
return self.nmImmediateRestartEnabled
|
|
53
|
+
|
|
54
|
+
def setNmImmediateRestartEnabled(self, value):
|
|
55
|
+
self.nmImmediateRestartEnabled = value
|
|
56
|
+
return self
|
|
57
|
+
|
|
58
|
+
class FlexrayNmClusterCoupling(NmClusterCoupling):
|
|
59
|
+
"""
|
|
60
|
+
Defines coupling properties for FlexRay network management clusters,
|
|
61
|
+
specifying coupled cluster references and FlexRay-specific NM
|
|
62
|
+
schedule variant configurations.
|
|
63
|
+
"""
|
|
64
|
+
def __init__(self):
|
|
65
|
+
super().__init__()
|
|
66
|
+
|
|
67
|
+
self.coupledClusterRefs = []
|
|
68
|
+
self.nmScheduleVariant = None
|
|
69
|
+
|
|
70
|
+
def getCoupledClusterRefs(self):
|
|
71
|
+
return self.coupledClusterRefs
|
|
72
|
+
|
|
73
|
+
def addCoupledClusterRef(self, value):
|
|
74
|
+
self.coupledClusterRefs.append(value)
|
|
75
|
+
return self
|
|
76
|
+
|
|
77
|
+
def getNmScheduleVariant(self):
|
|
78
|
+
return self.nmScheduleVariant
|
|
79
|
+
|
|
80
|
+
def setNmScheduleVariant(self, value):
|
|
81
|
+
self.nmScheduleVariant = value
|
|
82
|
+
return self
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class NmNode(Identifiable, ABC):
|
|
86
|
+
"""
|
|
87
|
+
Abstract base class for network management nodes, defining
|
|
88
|
+
common properties for different types of NM nodes including
|
|
89
|
+
controller references, node IDs, and communication properties.
|
|
90
|
+
"""
|
|
91
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
92
|
+
if type(self) == NmNode:
|
|
93
|
+
raise TypeError("NmNode is an abstract class.")
|
|
94
|
+
|
|
95
|
+
super().__init__(parent, short_name)
|
|
96
|
+
|
|
97
|
+
self.controllerRef: RefType = None
|
|
98
|
+
self.nmCoordCluster: ARNumerical = None
|
|
99
|
+
self.nmCoordinatorRole: ARLiteral = None
|
|
100
|
+
self.nmIfEcuRef: RefType = None
|
|
101
|
+
self.nmNodeId: ARNumerical = None
|
|
102
|
+
self.nmPassiveModeEnabled: ARBoolean = None
|
|
103
|
+
self.rxNmPduRefs: List[RefType] = []
|
|
104
|
+
self.TxNmPduRefs: List[RefType] = []
|
|
105
|
+
|
|
106
|
+
def getControllerRef(self) -> RefType:
|
|
107
|
+
return self.controllerRef
|
|
108
|
+
|
|
109
|
+
def setControllerRef(self, value):
|
|
110
|
+
self.controllerRef = value
|
|
111
|
+
return self
|
|
112
|
+
|
|
113
|
+
def getNmCoordCluster(self) -> ARNumerical:
|
|
114
|
+
return self.nmCoordCluster
|
|
115
|
+
|
|
116
|
+
def setNmCoordCluster(self, value: ARNumerical):
|
|
117
|
+
self.nmCoordCluster = value
|
|
118
|
+
return self
|
|
119
|
+
|
|
120
|
+
def getNmCoordinatorRole(self) -> ARLiteral:
|
|
121
|
+
return self.nmCoordinatorRole
|
|
122
|
+
|
|
123
|
+
def setNmCoordinatorRole(self, value: ARLiteral):
|
|
124
|
+
self.nmCoordinatorRole = value
|
|
125
|
+
return self
|
|
126
|
+
|
|
127
|
+
def getNmIfEcuRef(self) -> RefType:
|
|
128
|
+
return self.nmIfEcuRef
|
|
129
|
+
|
|
130
|
+
def setNmIfEcuRef(self, value):
|
|
131
|
+
self.nmIfEcuRef = value
|
|
132
|
+
return self
|
|
133
|
+
|
|
134
|
+
def getNmNodeId(self) -> ARNumerical:
|
|
135
|
+
return self.nmNodeId
|
|
136
|
+
|
|
137
|
+
def setNmNodeId(self, value: ARNumerical):
|
|
138
|
+
self.nmNodeId = value
|
|
139
|
+
return self
|
|
140
|
+
|
|
141
|
+
def getNmPassiveModeEnabled(self) -> ARBoolean:
|
|
142
|
+
return self.nmPassiveModeEnabled
|
|
143
|
+
|
|
144
|
+
def setNmPassiveModeEnabled(self, value: ARBoolean):
|
|
145
|
+
self.nmPassiveModeEnabled = value
|
|
146
|
+
return self
|
|
147
|
+
|
|
148
|
+
def addRxNmPduRef(self, ref: RefType):
|
|
149
|
+
self.rxNmPduRefs.append(ref)
|
|
150
|
+
return self
|
|
151
|
+
|
|
152
|
+
def getRxNmPduRefs(self) -> List[RefType]:
|
|
153
|
+
return self.rxNmPduRefs
|
|
154
|
+
|
|
155
|
+
def addTxNmPduRefs(self, ref: RefType):
|
|
156
|
+
self.TxNmPduRefs.append(ref)
|
|
157
|
+
return self
|
|
158
|
+
|
|
159
|
+
def getTxNmPduRefs(self) -> List[RefType]:
|
|
160
|
+
return self.TxNmPduRefs
|
|
161
|
+
|
|
162
|
+
class CanNmNode(NmNode):
|
|
163
|
+
"""
|
|
164
|
+
Represents a CAN network management node in the system,
|
|
165
|
+
defining CAN-specific NM properties including message
|
|
166
|
+
cycle offsets, timing configurations, and range settings.
|
|
167
|
+
"""
|
|
168
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
169
|
+
super().__init__(parent, short_name)
|
|
170
|
+
|
|
171
|
+
self.allNmMessagesKeepAwake = None
|
|
172
|
+
self.nmCarWakeUpFilterEnabled = None
|
|
173
|
+
self.nmCarWakeUpRxEnabled = None
|
|
174
|
+
self.nmMsgCycleOffset = None
|
|
175
|
+
self.nmMsgReducedTime = None
|
|
176
|
+
self.nmRangeConfig: RxIdentifierRange = None
|
|
177
|
+
|
|
178
|
+
def getAllNmMessagesKeepAwake(self):
|
|
179
|
+
return self.allNmMessagesKeepAwake
|
|
180
|
+
|
|
181
|
+
def setAllNmMessagesKeepAwake(self, value):
|
|
182
|
+
self.allNmMessagesKeepAwake = value
|
|
183
|
+
return self
|
|
184
|
+
|
|
185
|
+
def getNmCarWakeUpFilterEnabled(self):
|
|
186
|
+
return self.nmCarWakeUpFilterEnabled
|
|
187
|
+
|
|
188
|
+
def setNmCarWakeUpFilterEnabled(self, value):
|
|
189
|
+
self.nmCarWakeUpFilterEnabled = value
|
|
190
|
+
return self
|
|
191
|
+
|
|
192
|
+
def getNmCarWakeUpRxEnabled(self):
|
|
193
|
+
return self.nmCarWakeUpRxEnabled
|
|
194
|
+
|
|
195
|
+
def setNmCarWakeUpRxEnabled(self, value):
|
|
196
|
+
self.nmCarWakeUpRxEnabled = value
|
|
197
|
+
return self
|
|
198
|
+
|
|
199
|
+
def getNmMsgCycleOffset(self):
|
|
200
|
+
return self.nmMsgCycleOffset
|
|
201
|
+
|
|
202
|
+
def setNmMsgCycleOffset(self, value):
|
|
203
|
+
self.nmMsgCycleOffset = value
|
|
204
|
+
return self
|
|
205
|
+
|
|
206
|
+
def getNmMsgReducedTime(self):
|
|
207
|
+
return self.nmMsgReducedTime
|
|
208
|
+
|
|
209
|
+
def setNmMsgReducedTime(self, value):
|
|
210
|
+
self.nmMsgReducedTime = value
|
|
211
|
+
return self
|
|
212
|
+
|
|
213
|
+
def getNmRangeConfig(self) -> RxIdentifierRange:
|
|
214
|
+
return self.nmRangeConfig
|
|
215
|
+
|
|
216
|
+
def setNmRangeConfig(self, value: RxIdentifierRange):
|
|
217
|
+
self.nmRangeConfig = value
|
|
218
|
+
|
|
219
|
+
class FlexrayNmNode(NmNode):
|
|
220
|
+
"""
|
|
221
|
+
Represents a FlexRay network management node in the system,
|
|
222
|
+
defining FlexRay-specific NM properties for time-triggered
|
|
223
|
+
network management communication.
|
|
224
|
+
"""
|
|
225
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
226
|
+
super().__init__(parent, short_name)
|
|
227
|
+
|
|
228
|
+
class J1939NmNode(NmNode):
|
|
229
|
+
"""
|
|
230
|
+
Represents a J1939 network management node in the system,
|
|
231
|
+
defining J1939-specific NM properties for heavy-duty
|
|
232
|
+
vehicle network management communication.
|
|
233
|
+
"""
|
|
234
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
235
|
+
super().__init__(parent, short_name)
|
|
236
|
+
|
|
237
|
+
class UdpNmNode(NmNode):
|
|
238
|
+
"""
|
|
239
|
+
Represents a UDP network management node in the system,
|
|
240
|
+
defining UDP-specific NM properties including message
|
|
241
|
+
timing and wake-up capabilities.
|
|
242
|
+
"""
|
|
243
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
244
|
+
super().__init__(parent, short_name)
|
|
245
|
+
|
|
246
|
+
self.allNmMessagesKeepAwake: Boolean = None
|
|
247
|
+
self.nmMsgCycleOffset: TimeValue = None
|
|
248
|
+
|
|
249
|
+
def getAllNmMessagesKeepAwake(self):
|
|
250
|
+
return self.allNmMessagesKeepAwake
|
|
251
|
+
|
|
252
|
+
def setAllNmMessagesKeepAwake(self, value):
|
|
253
|
+
if value is not None:
|
|
254
|
+
self.allNmMessagesKeepAwake = value
|
|
255
|
+
return self
|
|
256
|
+
|
|
257
|
+
def getNmMsgCycleOffset(self):
|
|
258
|
+
return self.nmMsgCycleOffset
|
|
259
|
+
|
|
260
|
+
def setNmMsgCycleOffset(self, value):
|
|
261
|
+
if value is not None:
|
|
262
|
+
self.nmMsgCycleOffset = value
|
|
263
|
+
return self
|
|
264
|
+
|
|
265
|
+
class BusspecificNmEcu(ARObject, ABC):
|
|
266
|
+
"""
|
|
267
|
+
Abstract base class for bus-specific network management ECU
|
|
268
|
+
configurations, defining common properties for different
|
|
269
|
+
types of bus-specific NM implementations.
|
|
270
|
+
"""
|
|
271
|
+
def __init__(self):
|
|
272
|
+
if type(self) is BusspecificNmEcu:
|
|
273
|
+
raise TypeError("BusspecificNmEcu is an abstract class.")
|
|
274
|
+
super().__init__()
|
|
275
|
+
|
|
276
|
+
class CanNmEcu(BusspecificNmEcu):
|
|
277
|
+
"""
|
|
278
|
+
Defines CAN-specific network management ECU properties,
|
|
279
|
+
implementing bus-specific NM features for CAN communication.
|
|
280
|
+
"""
|
|
281
|
+
def __init__(self):
|
|
282
|
+
super().__init__()
|
|
283
|
+
|
|
284
|
+
class FlexrayNmEcu(BusspecificNmEcu):
|
|
285
|
+
"""
|
|
286
|
+
Defines FlexRay-specific network management ECU properties,
|
|
287
|
+
implementing bus-specific NM features for FlexRay communication.
|
|
288
|
+
"""
|
|
289
|
+
def __init__(self):
|
|
290
|
+
super().__init__()
|
|
291
|
+
|
|
292
|
+
class J1939NmEcu(BusspecificNmEcu):
|
|
293
|
+
"""
|
|
294
|
+
Defines J1939-specific network management ECU properties,
|
|
295
|
+
implementing bus-specific NM features for J1939 communication.
|
|
296
|
+
"""
|
|
297
|
+
def __init__(self):
|
|
298
|
+
super().__init__()
|
|
299
|
+
|
|
300
|
+
class UdpNmEcu(BusspecificNmEcu):
|
|
301
|
+
"""
|
|
302
|
+
Defines UDP-specific network management ECU properties,
|
|
303
|
+
implementing bus-specific NM features for UDP communication
|
|
304
|
+
including synchronization point capabilities.
|
|
305
|
+
"""
|
|
306
|
+
def __init__(self):
|
|
307
|
+
super().__init__()
|
|
308
|
+
|
|
309
|
+
self.nmSynchronizationPointEnabled: Boolean = None
|
|
310
|
+
|
|
311
|
+
def getNmSynchronizationPointEnabled(self):
|
|
312
|
+
return self.nmSynchronizationPointEnabled
|
|
313
|
+
|
|
314
|
+
def setNmSynchronizationPointEnabled(self, value):
|
|
315
|
+
if value is not None:
|
|
316
|
+
self.nmSynchronizationPointEnabled = value
|
|
317
|
+
return self
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
class NmEcu(Identifiable):
|
|
321
|
+
"""
|
|
322
|
+
Represents a network management ECU in the system,
|
|
323
|
+
defining properties for NM coordination, node detection,
|
|
324
|
+
and communication control across different bus types.
|
|
325
|
+
"""
|
|
326
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
327
|
+
super().__init__(parent, short_name)
|
|
328
|
+
|
|
329
|
+
self.busDependentNmEcus: List[BusspecificNmEcu] = []
|
|
330
|
+
self.ecuInstanceRef: RefType = None
|
|
331
|
+
self.nmBusSynchronizationEnabled: Boolean = None
|
|
332
|
+
self.nmComControlEnabled: Boolean = None
|
|
333
|
+
self.nmCoordinator = None
|
|
334
|
+
self.nmCycletimeMainFunction: TimeValue = None
|
|
335
|
+
self.nmNodeDetectionEnabled: Boolean = None
|
|
336
|
+
self.nmNodeIdEnabled: Boolean = None
|
|
337
|
+
self.nmPduRxIndicationEnabled: Boolean = None
|
|
338
|
+
self.nmRemoteSleepIndEnabled: Boolean = None
|
|
339
|
+
self.nmRepeatMsgIndEnabled: Boolean = None
|
|
340
|
+
self.nmStateChangeIndEnabled: Boolean = None
|
|
341
|
+
self.nmUserDataEnabled: Boolean = None
|
|
342
|
+
|
|
343
|
+
def getBusDependentNmEcus(self):
|
|
344
|
+
return self.busDependentNmEcus
|
|
345
|
+
|
|
346
|
+
def addBusDependentNmEcu(self, value):
|
|
347
|
+
if value is not None:
|
|
348
|
+
self.busDependentNmEcus.append(value)
|
|
349
|
+
return self
|
|
350
|
+
|
|
351
|
+
def getEcuInstanceRef(self):
|
|
352
|
+
return self.ecuInstanceRef
|
|
353
|
+
|
|
354
|
+
def setEcuInstanceRef(self, value):
|
|
355
|
+
if value is not None:
|
|
356
|
+
self.ecuInstanceRef = value
|
|
357
|
+
return self
|
|
358
|
+
|
|
359
|
+
def getNmBusSynchronizationEnabled(self):
|
|
360
|
+
return self.nmBusSynchronizationEnabled
|
|
361
|
+
|
|
362
|
+
def setNmBusSynchronizationEnabled(self, value):
|
|
363
|
+
if value is not None:
|
|
364
|
+
self.nmBusSynchronizationEnabled = value
|
|
365
|
+
return self
|
|
366
|
+
|
|
367
|
+
def getNmComControlEnabled(self):
|
|
368
|
+
return self.nmComControlEnabled
|
|
369
|
+
|
|
370
|
+
def setNmComControlEnabled(self, value):
|
|
371
|
+
if value is not None:
|
|
372
|
+
self.nmComControlEnabled = value
|
|
373
|
+
return self
|
|
374
|
+
|
|
375
|
+
def getNmCoordinator(self):
|
|
376
|
+
return self.nmCoordinator
|
|
377
|
+
|
|
378
|
+
def setNmCoordinator(self, value):
|
|
379
|
+
if value is not None:
|
|
380
|
+
self.nmCoordinator = value
|
|
381
|
+
return self
|
|
382
|
+
|
|
383
|
+
def getNmCycletimeMainFunction(self):
|
|
384
|
+
return self.nmCycletimeMainFunction
|
|
385
|
+
|
|
386
|
+
def setNmCycletimeMainFunction(self, value):
|
|
387
|
+
if value is not None:
|
|
388
|
+
self.nmCycletimeMainFunction = value
|
|
389
|
+
return self
|
|
390
|
+
|
|
391
|
+
def getNmNodeDetectionEnabled(self):
|
|
392
|
+
return self.nmNodeDetectionEnabled
|
|
393
|
+
|
|
394
|
+
def setNmNodeDetectionEnabled(self, value):
|
|
395
|
+
if value is not None:
|
|
396
|
+
self.nmNodeDetectionEnabled = value
|
|
397
|
+
return self
|
|
398
|
+
|
|
399
|
+
def getNmNodeIdEnabled(self):
|
|
400
|
+
return self.nmNodeIdEnabled
|
|
401
|
+
|
|
402
|
+
def setNmNodeIdEnabled(self, value):
|
|
403
|
+
if value is not None:
|
|
404
|
+
self.nmNodeIdEnabled = value
|
|
405
|
+
return self
|
|
406
|
+
|
|
407
|
+
def getNmPduRxIndicationEnabled(self):
|
|
408
|
+
return self.nmPduRxIndicationEnabled
|
|
409
|
+
|
|
410
|
+
def setNmPduRxIndicationEnabled(self, value):
|
|
411
|
+
if value is not None:
|
|
412
|
+
self.nmPduRxIndicationEnabled = value
|
|
413
|
+
return self
|
|
414
|
+
|
|
415
|
+
def getNmRemoteSleepIndEnabled(self):
|
|
416
|
+
return self.nmRemoteSleepIndEnabled
|
|
417
|
+
|
|
418
|
+
def setNmRemoteSleepIndEnabled(self, value):
|
|
419
|
+
if value is not None:
|
|
420
|
+
self.nmRemoteSleepIndEnabled = value
|
|
421
|
+
return self
|
|
422
|
+
|
|
423
|
+
def getNmRepeatMsgIndEnabled(self):
|
|
424
|
+
return self.nmRepeatMsgIndEnabled
|
|
425
|
+
|
|
426
|
+
def setNmRepeatMsgIndEnabled(self, value):
|
|
427
|
+
if value is not None:
|
|
428
|
+
self.nmRepeatMsgIndEnabled = value
|
|
429
|
+
return self
|
|
430
|
+
|
|
431
|
+
def getNmStateChangeIndEnabled(self):
|
|
432
|
+
return self.nmStateChangeIndEnabled
|
|
433
|
+
|
|
434
|
+
def setNmStateChangeIndEnabled(self, value):
|
|
435
|
+
if value is not None:
|
|
436
|
+
self.nmStateChangeIndEnabled = value
|
|
437
|
+
return self
|
|
438
|
+
|
|
439
|
+
def getNmUserDataEnabled(self):
|
|
440
|
+
return self.nmUserDataEnabled
|
|
441
|
+
|
|
442
|
+
def setNmUserDataEnabled(self, value):
|
|
443
|
+
if value is not None:
|
|
444
|
+
self.nmUserDataEnabled = value
|
|
445
|
+
return self
|
|
446
|
+
|
|
447
|
+
class NmConfig(FibexElement):
|
|
448
|
+
"""
|
|
449
|
+
Represents network management configuration in the system,
|
|
450
|
+
defining cluster couplings and ECU configurations for
|
|
451
|
+
comprehensive network management setup.
|
|
452
|
+
"""
|
|
453
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
454
|
+
super().__init__(parent, short_name)
|
|
455
|
+
|
|
456
|
+
self.nmClusterCouplings: List[NmClusterCoupling] = []
|
|
457
|
+
self.nmIfEcus: List[NmEcu] = []
|
|
458
|
+
|
|
459
|
+
def createCanNmCluster(self, short_name: str): # type: (str) -> CanNmCluster
|
|
460
|
+
if (short_name not in self.elements):
|
|
461
|
+
cluster = CanNmCluster(self, short_name)
|
|
462
|
+
self.addElement(cluster)
|
|
463
|
+
return self.getElement(short_name)
|
|
464
|
+
|
|
465
|
+
def createUdpNmCluster(self, short_name: str): # type: (str) -> UdpNmCluster
|
|
466
|
+
if (short_name not in self.elements):
|
|
467
|
+
cluster = UdpNmCluster(self, short_name)
|
|
468
|
+
self.addElement(cluster)
|
|
469
|
+
return self.getElement(short_name)
|
|
470
|
+
|
|
471
|
+
def getCanNmClusters(self): # type: () -> List[CanNmCluster]
|
|
472
|
+
return list(sorted(filter(lambda a: isinstance(a, CanNmCluster), self.elements), key= lambda o:o.short_name))
|
|
473
|
+
|
|
474
|
+
def getUdpNmClusters(self): # type: () -> List[UdpNmCluster]
|
|
475
|
+
return list(sorted(filter(lambda a: isinstance(a, UdpNmCluster), self.elements), key= lambda o:o.short_name))
|
|
476
|
+
|
|
477
|
+
def getNmClusters(self): # type: () -> List[NmCluster]
|
|
478
|
+
return list(sorted(filter(lambda a: isinstance(a, NmCluster), self.elements), key= lambda o:o.short_name))
|
|
479
|
+
|
|
480
|
+
def getNmClusterCouplings(self):
|
|
481
|
+
return self.nmClusterCouplings
|
|
482
|
+
|
|
483
|
+
def addNmClusterCouplings(self, value):
|
|
484
|
+
self.nmClusterCouplings.append(value)
|
|
485
|
+
return self
|
|
486
|
+
|
|
487
|
+
def getNmIfEcus(self):
|
|
488
|
+
return self.nmIfEcus
|
|
489
|
+
|
|
490
|
+
def createNmEcu(self, short_name: str) -> NmEcu:
|
|
491
|
+
if (short_name not in self.elements):
|
|
492
|
+
cluster = NmEcu(self, short_name)
|
|
493
|
+
self.addElement(cluster)
|
|
494
|
+
self.nmIfEcus.append(cluster)
|
|
495
|
+
return self.getElement(short_name)
|
|
496
|
+
|
|
497
|
+
class NmCluster(Identifiable, ABC):
|
|
498
|
+
"""
|
|
499
|
+
Abstract base class for network management clusters,
|
|
500
|
+
defining common properties for different types of
|
|
501
|
+
NM clusters including communication cluster references
|
|
502
|
+
and node management capabilities.
|
|
503
|
+
"""
|
|
504
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
505
|
+
if type(self) is NmCluster:
|
|
506
|
+
raise TypeError("NmCluster is an abstract class.")
|
|
507
|
+
super().__init__(parent, short_name)
|
|
508
|
+
|
|
509
|
+
self.communicationClusterRef = None # type: RefType
|
|
510
|
+
self.nmChannelId = None
|
|
511
|
+
self.nmChannelSleepMaster = None
|
|
512
|
+
self.nmNodes = [] # type: List[NmNode]
|
|
513
|
+
self.nmNodeDetectionEnabled = None
|
|
514
|
+
self.nmNodeIdEnabled = None
|
|
515
|
+
self.nmPncParticipation = None
|
|
516
|
+
self.nmRepeatMsgIndEnabled = None
|
|
517
|
+
self._nmSynchronizingNetwork = None
|
|
518
|
+
|
|
519
|
+
def getCommunicationClusterRef(self):
|
|
520
|
+
return self.communicationClusterRef
|
|
521
|
+
|
|
522
|
+
def setCommunicationClusterRef(self, value):
|
|
523
|
+
self.communicationClusterRef = value
|
|
524
|
+
return self
|
|
525
|
+
|
|
526
|
+
def getNmChannelId(self):
|
|
527
|
+
return self.nmChannelId
|
|
528
|
+
|
|
529
|
+
def setNmChannelId(self, value):
|
|
530
|
+
self.nmChannelId = value
|
|
531
|
+
return self
|
|
532
|
+
|
|
533
|
+
def getNmChannelSleepMaster(self):
|
|
534
|
+
return self.nmChannelSleepMaster
|
|
535
|
+
|
|
536
|
+
def setNmChannelSleepMaster(self, value):
|
|
537
|
+
self.nmChannelSleepMaster = value
|
|
538
|
+
return self
|
|
539
|
+
|
|
540
|
+
def createCanNmNode(self, short_name: str) -> CanNmNode:
|
|
541
|
+
if (short_name not in self.elements):
|
|
542
|
+
node = CanNmNode(self, short_name)
|
|
543
|
+
self.addElement(node)
|
|
544
|
+
self.nmNodes.append(node)
|
|
545
|
+
return self.getElement(short_name)
|
|
546
|
+
|
|
547
|
+
def readUdpNmNode(self, short_name: str) -> UdpNmNode:
|
|
548
|
+
if (short_name not in self.elements):
|
|
549
|
+
node = UdpNmNode(self, short_name)
|
|
550
|
+
self.addElement(node)
|
|
551
|
+
self.nmNodes.append(node)
|
|
552
|
+
return self.getElement(short_name)
|
|
553
|
+
|
|
554
|
+
def getCanNmNodes(self) -> List[CanNmNode]:
|
|
555
|
+
return list(sorted(filter(lambda a: isinstance(a, CanNmNode), self.elements), key= lambda o:o.short_name))
|
|
556
|
+
|
|
557
|
+
def getUdpNmNodes(self) -> List[UdpNmNode]:
|
|
558
|
+
return list(sorted(filter(lambda a: isinstance(a, UdpNmNode), self.elements), key= lambda o:o.short_name))
|
|
559
|
+
|
|
560
|
+
def getNmNodes(self) -> List[NmNode]:
|
|
561
|
+
return list(sorted(filter(lambda a: isinstance(a, NmNode), self.elements), key= lambda o:o.short_name))
|
|
562
|
+
|
|
563
|
+
def getNmNodeDetectionEnabled(self):
|
|
564
|
+
return self.nmNodeDetectionEnabled
|
|
565
|
+
|
|
566
|
+
def setNmNodeDetectionEnabled(self, value):
|
|
567
|
+
self.nmNodeDetectionEnabled = value
|
|
568
|
+
return self
|
|
569
|
+
|
|
570
|
+
def getNmNodeIdEnabled(self):
|
|
571
|
+
return self.nmNodeIdEnabled
|
|
572
|
+
|
|
573
|
+
def setNmNodeIdEnabled(self, value):
|
|
574
|
+
self.nmNodeIdEnabled = value
|
|
575
|
+
return self
|
|
576
|
+
|
|
577
|
+
def getNmPncParticipation(self):
|
|
578
|
+
return self.nmPncParticipation
|
|
579
|
+
|
|
580
|
+
def setNmPncParticipation(self, value):
|
|
581
|
+
self.nmPncParticipation = value
|
|
582
|
+
return self
|
|
583
|
+
|
|
584
|
+
def getNmRepeatMsgIndEnabled(self):
|
|
585
|
+
return self.nmRepeatMsgIndEnabled
|
|
586
|
+
|
|
587
|
+
def setNmRepeatMsgIndEnabled(self, value):
|
|
588
|
+
self.nmRepeatMsgIndEnabled = value
|
|
589
|
+
return self
|
|
590
|
+
|
|
591
|
+
def getNmSynchronizingNetwork(self):
|
|
592
|
+
return self._nmSynchronizingNetwork
|
|
593
|
+
|
|
594
|
+
def setNmSynchronizingNetwork(self, value):
|
|
595
|
+
self._nmSynchronizingNetwork = value
|
|
596
|
+
return self
|
|
597
|
+
|
|
598
|
+
class CanNmCluster(NmCluster):
|
|
599
|
+
"""
|
|
600
|
+
Represents a CAN network management cluster in the system,
|
|
601
|
+
defining CAN-specific NM properties including busload
|
|
602
|
+
reduction, wake-up configurations, and message timing.
|
|
603
|
+
"""
|
|
604
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
605
|
+
super().__init__(parent, short_name)
|
|
606
|
+
|
|
607
|
+
self.nmBusloadReductionActive = None
|
|
608
|
+
self.nmCarWakeUpBitPosition = None
|
|
609
|
+
self.nmCarWakeUpFilterNodeId = None
|
|
610
|
+
self.nmCarWakeUpRxEnabled = None
|
|
611
|
+
self.nmCbvPosition = None
|
|
612
|
+
self.nmChannelActive = None
|
|
613
|
+
self.nmImmediateNmCycleTime = None
|
|
614
|
+
self.nmImmediateNmTransmissions = None
|
|
615
|
+
self.nmMessageTimeoutTime = None
|
|
616
|
+
self.nmMsgCycleTime = None
|
|
617
|
+
self.nmNetworkTimeout = None
|
|
618
|
+
self.nmNidPosition = None
|
|
619
|
+
self.nmRemoteSleepIndicationTime = None
|
|
620
|
+
self.nmRepeatMessageTime = None
|
|
621
|
+
self.nmUserDataLength = None
|
|
622
|
+
self.nmWaitBusSleepTime = None
|
|
623
|
+
|
|
624
|
+
def getNmBusloadReductionActive(self):
|
|
625
|
+
return self.nmBusloadReductionActive
|
|
626
|
+
|
|
627
|
+
def setNmBusloadReductionActive(self, value):
|
|
628
|
+
self.nmBusloadReductionActive = value
|
|
629
|
+
return self
|
|
630
|
+
|
|
631
|
+
def getNmCarWakeUpBitPosition(self):
|
|
632
|
+
return self.nmCarWakeUpBitPosition
|
|
633
|
+
|
|
634
|
+
def setNmCarWakeUpBitPosition(self, value):
|
|
635
|
+
self.nmCarWakeUpBitPosition = value
|
|
636
|
+
return self
|
|
637
|
+
|
|
638
|
+
def getNmCarWakeUpFilterNodeId(self):
|
|
639
|
+
return self.nmCarWakeUpFilterNodeId
|
|
640
|
+
|
|
641
|
+
def setNmCarWakeUpFilterNodeId(self, value):
|
|
642
|
+
self.nmCarWakeUpFilterNodeId = value
|
|
643
|
+
return self
|
|
644
|
+
|
|
645
|
+
def getNmCarWakeUpRxEnabled(self):
|
|
646
|
+
return self.nmCarWakeUpRxEnabled
|
|
647
|
+
|
|
648
|
+
def setNmCarWakeUpRxEnabled(self, value):
|
|
649
|
+
self.nmCarWakeUpRxEnabled = value
|
|
650
|
+
return self
|
|
651
|
+
|
|
652
|
+
def getNmCbvPosition(self):
|
|
653
|
+
return self.nmCbvPosition
|
|
654
|
+
|
|
655
|
+
def setNmCbvPosition(self, value):
|
|
656
|
+
self.nmCbvPosition = value
|
|
657
|
+
return self
|
|
658
|
+
|
|
659
|
+
def getNmChannelActive(self):
|
|
660
|
+
return self.nmChannelActive
|
|
661
|
+
|
|
662
|
+
def setNmChannelActive(self, value):
|
|
663
|
+
self.nmChannelActive = value
|
|
664
|
+
return self
|
|
665
|
+
|
|
666
|
+
def getNmImmediateNmCycleTime(self):
|
|
667
|
+
return self.nmImmediateNmCycleTime
|
|
668
|
+
|
|
669
|
+
def setNmImmediateNmCycleTime(self, value):
|
|
670
|
+
self.nmImmediateNmCycleTime = value
|
|
671
|
+
return self
|
|
672
|
+
|
|
673
|
+
def getNmImmediateNmTransmissions(self):
|
|
674
|
+
return self.nmImmediateNmTransmissions
|
|
675
|
+
|
|
676
|
+
def setNmImmediateNmTransmissions(self, value):
|
|
677
|
+
self.nmImmediateNmTransmissions = value
|
|
678
|
+
return self
|
|
679
|
+
|
|
680
|
+
def getNmMessageTimeoutTime(self):
|
|
681
|
+
return self.nmMessageTimeoutTime
|
|
682
|
+
|
|
683
|
+
def setNmMessageTimeoutTime(self, value):
|
|
684
|
+
self.nmMessageTimeoutTime = value
|
|
685
|
+
return self
|
|
686
|
+
|
|
687
|
+
def getNmMsgCycleTime(self):
|
|
688
|
+
return self.nmMsgCycleTime
|
|
689
|
+
|
|
690
|
+
def setNmMsgCycleTime(self, value):
|
|
691
|
+
self.nmMsgCycleTime = value
|
|
692
|
+
return self
|
|
693
|
+
|
|
694
|
+
def getNmNetworkTimeout(self):
|
|
695
|
+
return self.nmNetworkTimeout
|
|
696
|
+
|
|
697
|
+
def setNmNetworkTimeout(self, value):
|
|
698
|
+
self.nmNetworkTimeout = value
|
|
699
|
+
return self
|
|
700
|
+
|
|
701
|
+
def getNmNidPosition(self):
|
|
702
|
+
return self.nmNidPosition
|
|
703
|
+
|
|
704
|
+
def setNmNidPosition(self, value):
|
|
705
|
+
self.nmNidPosition = value
|
|
706
|
+
return self
|
|
707
|
+
|
|
708
|
+
def getNmRemoteSleepIndicationTime(self):
|
|
709
|
+
return self.nmRemoteSleepIndicationTime
|
|
710
|
+
|
|
711
|
+
def setNmRemoteSleepIndicationTime(self, value):
|
|
712
|
+
self.nmRemoteSleepIndicationTime = value
|
|
713
|
+
return self
|
|
714
|
+
|
|
715
|
+
def getNmRepeatMessageTime(self):
|
|
716
|
+
return self.nmRepeatMessageTime
|
|
717
|
+
|
|
718
|
+
def setNmRepeatMessageTime(self, value):
|
|
719
|
+
self.nmRepeatMessageTime = value
|
|
720
|
+
return self
|
|
721
|
+
|
|
722
|
+
def getNmUserDataLength(self):
|
|
723
|
+
return self.nmUserDataLength
|
|
724
|
+
|
|
725
|
+
def setNmUserDataLength(self, value):
|
|
726
|
+
self.nmUserDataLength = value
|
|
727
|
+
return self
|
|
728
|
+
|
|
729
|
+
def getNmWaitBusSleepTime(self):
|
|
730
|
+
return self.nmWaitBusSleepTime
|
|
731
|
+
|
|
732
|
+
def setNmWaitBusSleepTime(self, value):
|
|
733
|
+
self.nmWaitBusSleepTime = value
|
|
734
|
+
return self
|
|
735
|
+
|
|
736
|
+
class FlexrayNmCluster(NmCluster):
|
|
737
|
+
"""
|
|
738
|
+
Represents a FlexRay network management cluster in the system,
|
|
739
|
+
defining FlexRay-specific NM properties for time-triggered
|
|
740
|
+
network management in FlexRay communication networks.
|
|
741
|
+
"""
|
|
742
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
743
|
+
super().__init__(parent, short_name)
|
|
744
|
+
|
|
745
|
+
class J1939NmCluster(NmCluster):
|
|
746
|
+
"""
|
|
747
|
+
Represents a J1939 network management cluster in the system,
|
|
748
|
+
defining J1939-specific NM properties for heavy-duty vehicle
|
|
749
|
+
network management communication.
|
|
750
|
+
"""
|
|
751
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
752
|
+
super().__init__(parent, short_name)
|
|
753
|
+
|
|
754
|
+
class UdpNmClusterCoupling(NmClusterCoupling):
|
|
755
|
+
"""
|
|
756
|
+
Defines coupling properties for UDP network management clusters,
|
|
757
|
+
specifying coupled cluster references and UDP-specific NM
|
|
758
|
+
immediate restart capabilities.
|
|
759
|
+
"""
|
|
760
|
+
def __init__(self):
|
|
761
|
+
super().__init__()
|
|
762
|
+
|
|
763
|
+
self.coupledClusterRefs: List[RefType] = []
|
|
764
|
+
self.nmImmediateRestartEnabled: Boolean = None
|
|
765
|
+
|
|
766
|
+
def getCoupledClusterRefs(self):
|
|
767
|
+
return self.coupledClusterRefs
|
|
768
|
+
|
|
769
|
+
def addCoupledClusterRef(self, value):
|
|
770
|
+
if value is not None:
|
|
771
|
+
self.coupledClusterRefs.append(value)
|
|
772
|
+
return self
|
|
773
|
+
|
|
774
|
+
def getNmImmediateRestartEnabled(self):
|
|
775
|
+
return self.nmImmediateRestartEnabled
|
|
776
|
+
|
|
777
|
+
def setNmImmediateRestartEnabled(self, value):
|
|
778
|
+
if value is not None:
|
|
779
|
+
self.nmImmediateRestartEnabled = value
|
|
780
|
+
return self
|
|
781
|
+
|
|
782
|
+
|
|
783
|
+
class UdpNmCluster(NmCluster):
|
|
784
|
+
"""
|
|
785
|
+
Represents a UDP network management cluster in the system,
|
|
786
|
+
defining UDP-specific NM properties including message timing,
|
|
787
|
+
CBV (Common Bit Vector) position, and VLAN references.
|
|
788
|
+
"""
|
|
789
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
790
|
+
super().__init__(parent, short_name)
|
|
791
|
+
|
|
792
|
+
self.nmCbvPosition: Integer = None
|
|
793
|
+
self.nmChannelActive: Boolean = None
|
|
794
|
+
self.nmImmediateNmCycleTime: TimeValue = None
|
|
795
|
+
self.nmImmediateNmTransmissions: PositiveInteger = None
|
|
796
|
+
self.nmMessageTimeoutTime: TimeValue = None
|
|
797
|
+
self.nmMsgCycleTime: TimeValue = None
|
|
798
|
+
self.nmNetworkTimeout: TimeValue = None
|
|
799
|
+
self.nmNidPosition: Integer = None
|
|
800
|
+
self.nmRemoteSleepIndicationTime: TimeValue = None
|
|
801
|
+
self.nmRepeatMessageTime: TimeValue = None
|
|
802
|
+
self.nmWaitBusSleepTime: TimeValue = None
|
|
803
|
+
self.vlanRef: RefType = None
|
|
804
|
+
|
|
805
|
+
def getNmCbvPosition(self):
|
|
806
|
+
return self.nmCbvPosition
|
|
807
|
+
|
|
808
|
+
def setNmCbvPosition(self, value):
|
|
809
|
+
if value is not None:
|
|
810
|
+
self.nmCbvPosition = value
|
|
811
|
+
return self
|
|
812
|
+
|
|
813
|
+
def getNmChannelActive(self):
|
|
814
|
+
return self.nmChannelActive
|
|
815
|
+
|
|
816
|
+
def setNmChannelActive(self, value):
|
|
817
|
+
if value is not None:
|
|
818
|
+
self.nmChannelActive = value
|
|
819
|
+
return self
|
|
820
|
+
|
|
821
|
+
|
|
822
|
+
def getNmImmediateNmCycleTime(self):
|
|
823
|
+
return self.nmImmediateNmCycleTime
|
|
824
|
+
|
|
825
|
+
def setNmImmediateNmCycleTime(self, value):
|
|
826
|
+
if value is not None:
|
|
827
|
+
self.nmImmediateNmCycleTime = value
|
|
828
|
+
return self
|
|
829
|
+
|
|
830
|
+
def getNmImmediateNmTransmissions(self):
|
|
831
|
+
return self.nmImmediateNmTransmissions
|
|
832
|
+
|
|
833
|
+
def setNmImmediateNmTransmissions(self, value):
|
|
834
|
+
if value is not None:
|
|
835
|
+
self.nmImmediateNmTransmissions = value
|
|
836
|
+
return self
|
|
837
|
+
|
|
838
|
+
def getNmMessageTimeoutTime(self):
|
|
839
|
+
return self.nmMessageTimeoutTime
|
|
840
|
+
|
|
841
|
+
def setNmMessageTimeoutTime(self, value):
|
|
842
|
+
if value is not None:
|
|
843
|
+
self.nmMessageTimeoutTime = value
|
|
844
|
+
return self
|
|
845
|
+
|
|
846
|
+
def getNmMsgCycleTime(self):
|
|
847
|
+
return self.nmMsgCycleTime
|
|
848
|
+
|
|
849
|
+
def setNmMsgCycleTime(self, value):
|
|
850
|
+
if value is not None:
|
|
851
|
+
self.nmMsgCycleTime = value
|
|
852
|
+
return self
|
|
853
|
+
|
|
854
|
+
def getNmNetworkTimeout(self):
|
|
855
|
+
return self.nmNetworkTimeout
|
|
856
|
+
|
|
857
|
+
def setNmNetworkTimeout(self, value):
|
|
858
|
+
if value is not None:
|
|
859
|
+
self.nmNetworkTimeout = value
|
|
860
|
+
return self
|
|
861
|
+
|
|
862
|
+
def getNmNidPosition(self):
|
|
863
|
+
return self.nmNidPosition
|
|
864
|
+
|
|
865
|
+
def setNmNidPosition(self, value):
|
|
866
|
+
if value is not None:
|
|
867
|
+
self.nmNidPosition = value
|
|
868
|
+
return self
|
|
869
|
+
|
|
870
|
+
def getNmRemoteSleepIndicationTime(self):
|
|
871
|
+
return self.nmRemoteSleepIndicationTime
|
|
872
|
+
|
|
873
|
+
def setNmRemoteSleepIndicationTime(self, value):
|
|
874
|
+
if value is not None:
|
|
875
|
+
self.nmRemoteSleepIndicationTime = value
|
|
876
|
+
return self
|
|
877
|
+
|
|
878
|
+
def getNmRepeatMessageTime(self):
|
|
879
|
+
return self.nmRepeatMessageTime
|
|
880
|
+
|
|
881
|
+
def setNmRepeatMessageTime(self, value):
|
|
882
|
+
if value is not None:
|
|
883
|
+
self.nmRepeatMessageTime = value
|
|
884
|
+
return self
|
|
885
|
+
|
|
886
|
+
def getNmWaitBusSleepTime(self):
|
|
887
|
+
return self.nmWaitBusSleepTime
|
|
888
|
+
|
|
889
|
+
def setNmWaitBusSleepTime(self, value):
|
|
890
|
+
if value is not None:
|
|
891
|
+
self.nmWaitBusSleepTime = value
|
|
892
|
+
return self
|
|
893
|
+
|
|
894
|
+
def getVlanRef(self):
|
|
895
|
+
return self.vlanRef
|
|
896
|
+
|
|
897
|
+
def setVlanRef(self, value):
|
|
898
|
+
if value is not None:
|
|
899
|
+
self.vlanRef = value
|
|
790
900
|
return self
|