armodel 1.8.4__py3-none-any.whl → 1.8.6__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/__pycache__/__init__.cpython-312.pyc +0 -0
- armodel/cli/uuid_checker_cli.py +1 -0
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +8 -3
- 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/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/ARPackage.py +3 -2
- 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/Communication.py +52 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +3 -3
- 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/__init__.py +25 -30
- 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/DataElements.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +5 -4
- 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/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/parser/arxml_parser.py +78 -23
- armodel/tests/test_armodel/models/test_data_dictionary.py +15 -14
- armodel/tests/test_armodel/models/test_data_prototype.py +44 -41
- armodel/tests/test_armodel/models/test_general_structure.py +0 -5
- armodel/tests/test_armodel/models/test_implementation.py +4 -4
- armodel/tests/test_armodel/models/test_m2_msr.py +32 -32
- armodel/tests/test_armodel/models/test_port_interface.py +9 -10
- armodel/tests/test_armodel/models/test_port_prototype.py +4 -3
- armodel/tests/test_armodel/parser/test_sw_components.py +111 -1
- 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/writer/arxml_writer.py +42 -13
- {armodel-1.8.4.dist-info → armodel-1.8.6.dist-info}/METADATA +16 -1
- armodel-1.8.6.dist-info/RECORD +360 -0
- armodel-1.8.4.dist-info/RECORD +0 -211
- {armodel-1.8.4.dist-info → armodel-1.8.6.dist-info}/LICENSE +0 -0
- {armodel-1.8.4.dist-info → armodel-1.8.6.dist-info}/WHEEL +0 -0
- {armodel-1.8.4.dist-info → armodel-1.8.6.dist-info}/entry_points.txt +0 -0
- {armodel-1.8.4.dist-info → armodel-1.8.6.dist-info}/top_level.txt +0 -0
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
|
|
3
3
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import PackageableElement
|
|
4
|
-
|
|
5
4
|
from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
|
|
6
|
-
|
|
7
5
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
|
|
8
|
-
|
|
9
6
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
|
|
10
|
-
|
|
11
7
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
12
|
-
|
|
13
8
|
from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
14
9
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
15
|
-
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype, DataPrototype
|
|
10
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype, DataPrototype
|
|
11
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import VariableDataPrototype
|
|
16
12
|
from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
|
|
17
13
|
from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
|
|
18
|
-
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ArgumentDataPrototype, ClientServerInterface
|
|
14
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ArgumentDataPrototype, ClientServerInterface
|
|
15
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerOperation, DataInterface, NvDataInterface
|
|
16
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ParameterInterface, PortInterface, SenderReceiverInterface
|
|
19
17
|
|
|
20
18
|
|
|
21
19
|
class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
@@ -125,8 +123,8 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
125
123
|
|
|
126
124
|
assert (prototype.getParent() == ar_root)
|
|
127
125
|
assert (prototype.getShortName() == "ArgumentDataPrototype")
|
|
128
|
-
assert (prototype.getDirection()
|
|
129
|
-
assert (prototype.getServerArgumentImplPolicy()
|
|
126
|
+
assert (prototype.getDirection() is None)
|
|
127
|
+
assert (prototype.getServerArgumentImplPolicy() is None)
|
|
130
128
|
|
|
131
129
|
def test_ApplicationError(self):
|
|
132
130
|
document = AUTOSAR.getInstance()
|
|
@@ -155,7 +153,8 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
|
|
|
155
153
|
assert (isinstance(operation, ClientServerOperation))
|
|
156
154
|
assert (operation.short_name == "client_server_operation")
|
|
157
155
|
|
|
158
|
-
prototype = operation.createArgumentDataPrototype(
|
|
156
|
+
prototype = operation.createArgumentDataPrototype(
|
|
157
|
+
"argument_data_prototype1")
|
|
159
158
|
assert (prototype.short_name == "argument_data_prototype1")
|
|
160
159
|
|
|
161
160
|
assert (len(operation.getArguments()) == 1)
|
|
@@ -2,13 +2,14 @@ import pytest
|
|
|
2
2
|
|
|
3
3
|
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import PPortComSpec, RPortComSpec
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
class Test_PortPrototype:
|
|
6
7
|
def test_PPortComSpec(self):
|
|
7
8
|
with pytest.raises(NotImplementedError) as err:
|
|
8
9
|
PPortComSpec()
|
|
9
|
-
assert(str(err.value) == "PPortComSpec is an abstract class.")
|
|
10
|
+
assert (str(err.value) == "PPortComSpec is an abstract class.")
|
|
10
11
|
|
|
11
12
|
def test_RPortComSpec(self):
|
|
12
13
|
with pytest.raises(NotImplementedError) as err:
|
|
13
14
|
RPortComSpec()
|
|
14
|
-
assert(str(err.value) == "RPortComSpec is an abstract class.")
|
|
15
|
+
assert (str(err.value) == "RPortComSpec is an abstract class.")
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import filecmp
|
|
2
|
+
import xml.etree.ElementTree as ET
|
|
2
3
|
|
|
4
|
+
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior
|
|
3
5
|
from ....models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
|
|
4
6
|
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
|
|
5
7
|
from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Components import AtomicSwComponentType, CompositionSwComponentType
|
|
6
8
|
from ....writer.arxml_writer import ARXMLWriter
|
|
7
9
|
from ....parser.arxml_parser import ARXMLParser
|
|
8
|
-
from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
10
|
+
from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR, AUTOSARDoc
|
|
9
11
|
|
|
10
12
|
|
|
11
13
|
class TestSWComponents:
|
|
@@ -372,3 +374,111 @@ class TestSWComponents:
|
|
|
372
374
|
|
|
373
375
|
assert (filecmp.cmp("test_files/AUTOSAR_MOD_AISpecification_DataConstr_LifeCycle_Standard.arxml",
|
|
374
376
|
"data/generated_AUTOSAR_MOD_AISpecification_DataConstr_LifeCycle_Standard.arxml", shallow=False) is True)
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
class TestSwComponentsWithSameName:
|
|
380
|
+
def test_read_same_package_and_sw_component_name(self):
|
|
381
|
+
parser = ARXMLParser()
|
|
382
|
+
parser.nsmap = {"xmlns": "http://autosar.org/schema/r4.0"}
|
|
383
|
+
xml_content = """
|
|
384
|
+
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00049.xsd" T="2025-05-08T10:56:35+03:00">
|
|
385
|
+
<AR-PACKAGES>
|
|
386
|
+
<AR-PACKAGE>
|
|
387
|
+
<SHORT-NAME>Components</SHORT-NAME>
|
|
388
|
+
<ELEMENTS>
|
|
389
|
+
<APPLICATION-SW-COMPONENT-TYPE T="2025-05-08T21:49:46+03:00">
|
|
390
|
+
<SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
|
|
391
|
+
<INTERNAL-BEHAVIORS>
|
|
392
|
+
<SWC-INTERNAL-BEHAVIOR T="2025-06-13T08:49:08+03:00">
|
|
393
|
+
<SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
|
|
394
|
+
<RUNNABLES>
|
|
395
|
+
<RUNNABLE-ENTITY T="2025-06-13T08:49:24+03:00">
|
|
396
|
+
<SHORT-NAME>RunnableInit</SHORT-NAME>
|
|
397
|
+
<MINIMUM-START-INTERVAL>0.0</MINIMUM-START-INTERVAL>
|
|
398
|
+
<CAN-BE-INVOKED-CONCURRENTLY>false</CAN-BE-INVOKED-CONCURRENTLY>
|
|
399
|
+
<SYMBOL>RunnableInit</SYMBOL>
|
|
400
|
+
</RUNNABLE-ENTITY>
|
|
401
|
+
</RUNNABLES>
|
|
402
|
+
</SWC-INTERNAL-BEHAVIOR>
|
|
403
|
+
</INTERNAL-BEHAVIORS>
|
|
404
|
+
</APPLICATION-SW-COMPONENT-TYPE>
|
|
405
|
+
</ELEMENTS>
|
|
406
|
+
<AR-PACKAGES>
|
|
407
|
+
<AR-PACKAGE>
|
|
408
|
+
<SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
|
|
409
|
+
</AR-PACKAGE>
|
|
410
|
+
<AR-PACKAGE>
|
|
411
|
+
<SHORT-NAME>NewPackage</SHORT-NAME>
|
|
412
|
+
</AR-PACKAGE>
|
|
413
|
+
</AR-PACKAGES>
|
|
414
|
+
</AR-PACKAGE>
|
|
415
|
+
<AR-PACKAGE>
|
|
416
|
+
<SHORT-NAME>Implementation</SHORT-NAME>
|
|
417
|
+
<ELEMENTS>
|
|
418
|
+
<SW-ADDR-METHOD>
|
|
419
|
+
<SHORT-NAME>CODE</SHORT-NAME>
|
|
420
|
+
<MEMORY-ALLOCATION-KEYWORD-POLICY>ADDR-METHOD-SHORT-NAME</MEMORY-ALLOCATION-KEYWORD-POLICY>
|
|
421
|
+
<SECTION-TYPE>CODE</SECTION-TYPE>
|
|
422
|
+
</SW-ADDR-METHOD>
|
|
423
|
+
<SWC-IMPLEMENTATION>
|
|
424
|
+
<SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
|
|
425
|
+
<CODE-DESCRIPTORS>
|
|
426
|
+
<CODE>
|
|
427
|
+
<SHORT-NAME>CODE</SHORT-NAME>
|
|
428
|
+
<ARTIFACT-DESCRIPTORS>
|
|
429
|
+
<AUTOSAR-ENGINEERING-OBJECT>
|
|
430
|
+
<SHORT-LABEL>CODE</SHORT-LABEL>
|
|
431
|
+
<CATEGORY>SWSRC</CATEGORY>
|
|
432
|
+
</AUTOSAR-ENGINEERING-OBJECT>
|
|
433
|
+
</ARTIFACT-DESCRIPTORS>
|
|
434
|
+
</CODE>
|
|
435
|
+
</CODE-DESCRIPTORS>
|
|
436
|
+
<PROGRAMMING-LANGUAGE>C</PROGRAMMING-LANGUAGE>
|
|
437
|
+
<RESOURCE-CONSUMPTION>
|
|
438
|
+
<SHORT-NAME>ResourceConsumption</SHORT-NAME>
|
|
439
|
+
<MEMORY-SECTIONS>
|
|
440
|
+
<MEMORY-SECTION>
|
|
441
|
+
<SHORT-NAME>CODE</SHORT-NAME>
|
|
442
|
+
<SIZE>0</SIZE>
|
|
443
|
+
<SW-ADDRMETHOD-REF DEST="SW-ADDR-METHOD">/AUTOSAR_MemMap/SwAddrMethods/CODE</SW-ADDRMETHOD-REF>
|
|
444
|
+
</MEMORY-SECTION>
|
|
445
|
+
</MEMORY-SECTIONS>
|
|
446
|
+
</RESOURCE-CONSUMPTION>
|
|
447
|
+
<SW-VERSION>1.0.0</SW-VERSION>
|
|
448
|
+
<VENDOR-ID>0</VENDOR-ID>
|
|
449
|
+
<BEHAVIOR-REF DEST="SWC-INTERNAL-BEHAVIOR">/Components/DUPLICATE_NAME/DUPLICATE_NAME</BEHAVIOR-REF>
|
|
450
|
+
</SWC-IMPLEMENTATION>
|
|
451
|
+
</ELEMENTS>
|
|
452
|
+
</AR-PACKAGE>
|
|
453
|
+
</AR-PACKAGES>
|
|
454
|
+
</AUTOSAR>
|
|
455
|
+
""" # noqa E501
|
|
456
|
+
|
|
457
|
+
# prepare the XML content
|
|
458
|
+
element = ET.fromstring(xml_content)
|
|
459
|
+
|
|
460
|
+
document = AUTOSARDoc()
|
|
461
|
+
parser.readARPackages(element, document)
|
|
462
|
+
assert len(document.getARPackages()) == 2
|
|
463
|
+
assert document.getARPackages()[0].getShortName() == "Components"
|
|
464
|
+
assert document.getARPackages()[1].getShortName() == "Implementation"
|
|
465
|
+
assert len(document.getARPackages()[0].getElements()) == 1
|
|
466
|
+
|
|
467
|
+
sw_component: AtomicSwComponentType = document.getARPackages()[0].getElement("DUPLICATE_NAME", AtomicSwComponentType)
|
|
468
|
+
assert sw_component is not None
|
|
469
|
+
assert sw_component.getShortName() == "DUPLICATE_NAME"
|
|
470
|
+
|
|
471
|
+
internal_behavior: SwcInternalBehavior = sw_component.getInternalBehavior()
|
|
472
|
+
# Check if the internal behavior is present
|
|
473
|
+
assert internal_behavior is not None
|
|
474
|
+
assert internal_behavior.getShortName() == "DUPLICATE_NAME"
|
|
475
|
+
|
|
476
|
+
# Check if the runnable is present
|
|
477
|
+
assert len(internal_behavior.getRunnableEntities()) == 1
|
|
478
|
+
runnables = internal_behavior.getRunnableEntities()
|
|
479
|
+
|
|
480
|
+
# Check the first runnable
|
|
481
|
+
runnable = runnables[0]
|
|
482
|
+
assert runnable is not None
|
|
483
|
+
assert runnable.getShortName() == "RunnableInit"
|
|
484
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
armodel/writer/arxml_writer.py
CHANGED
|
@@ -88,7 +88,7 @@ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identi
|
|
|
88
88
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Referrable, MultilanguageReferrable
|
|
89
89
|
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, ARLiteral, Limit
|
|
90
90
|
from ..models.M2.AUTOSARTemplates.GenericStructure.LifeCycles import LifeCycleInfo, LifeCycleInfoSet, LifeCyclePeriod
|
|
91
|
-
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest
|
|
91
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest, NvProvideComSpec, NvRequireComSpec
|
|
92
92
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransformationComSpecProps, UserDefinedTransformationComSpecProps
|
|
93
93
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransmissionAcknowledgementRequest
|
|
94
94
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
|
|
@@ -132,7 +132,7 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import
|
|
|
132
132
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior, SynchronousServerCallPoint
|
|
133
133
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
|
|
134
134
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
|
|
135
|
-
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
|
|
135
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, ParameterInAtomicSWCTypeInstanceRef
|
|
136
136
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import VariableInAtomicSWCTypeInstanceRef
|
|
137
137
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortDefinedArgumentValue
|
|
138
138
|
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent
|
|
@@ -409,7 +409,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
409
409
|
child_element = ET.SubElement(element, "NONQUEUED-SENDER-COM-SPEC")
|
|
410
410
|
self.writeARObjectAttributes(child_element, com_spec)
|
|
411
411
|
self.writeSenderComSpec(child_element, com_spec)
|
|
412
|
-
self.
|
|
412
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
|
|
413
413
|
|
|
414
414
|
def writeTransformationComSpecProps(self, element: ET.Element, prop: TransformationComSpecProps):
|
|
415
415
|
if prop is not None:
|
|
@@ -454,7 +454,15 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
454
454
|
self.setChildElementOptionalRefType(child_element, "MODE-GROUP-REF", com_spec.getModeGroupRef())
|
|
455
455
|
self.setModeSwitchedAckRequest(child_element, "MODE-SWITCHED-ACK", com_spec.getModeSwitchedAck())
|
|
456
456
|
self.setChildElementOptionalNumericalValue(child_element, "QUEUE-LENGTH", com_spec.getQueueLength())
|
|
457
|
-
|
|
457
|
+
|
|
458
|
+
def writeNvProvideComSpec(self, com_specs_tag: ET.Element, com_spec: NvProvideComSpec):
|
|
459
|
+
if com_spec is not None:
|
|
460
|
+
child_element = ET.SubElement(com_specs_tag, "NV-PROVIDE-COM-SPEC")
|
|
461
|
+
self.writeARObjectAttributes(child_element, com_spec)
|
|
462
|
+
self.setChildValueSpecification(child_element, "RAM-BLOCK-INIT-VALUE", com_spec.getRamBlockInitValue())
|
|
463
|
+
self.setChildValueSpecification(child_element, "ROM-BLOCK-INIT-VALUE", com_spec.getRomBlockInitValue())
|
|
464
|
+
self.setChildElementOptionalRefType(child_element, "VARIABLE-REF", com_spec.getVariableRef())
|
|
465
|
+
|
|
458
466
|
def writePPortComSpec(self, com_specs_tag: ET.Element, com_spec: PPortComSpec):
|
|
459
467
|
if isinstance(com_spec, NonqueuedSenderComSpec):
|
|
460
468
|
self.writeNonqueuedSenderComSpec(com_specs_tag, com_spec)
|
|
@@ -464,6 +472,8 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
464
472
|
self.writeQueuedSenderComSpec(com_specs_tag, com_spec)
|
|
465
473
|
elif isinstance(com_spec, ModeSwitchSenderComSpec):
|
|
466
474
|
self.writeModeSwitchSenderComSpec(com_specs_tag, com_spec)
|
|
475
|
+
elif isinstance(com_spec, NvProvideComSpec):
|
|
476
|
+
self.writeNvProvideComSpec(com_specs_tag, com_spec)
|
|
467
477
|
else:
|
|
468
478
|
self.notImplemented("Unsupported PPortComSpec %s" % type(com_spec))
|
|
469
479
|
|
|
@@ -559,7 +569,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
559
569
|
self.writeValueSpecification(value_spec_tag, value_spec)
|
|
560
570
|
self.setChildElementOptionalRefType(value_spec_tag, "CONSTANT-REF", value_spec.getConstantRef())
|
|
561
571
|
|
|
562
|
-
def
|
|
572
|
+
def setChildValueSpecification(self, element: ET.Element, key: str, value_spec: ValueSpecification):
|
|
563
573
|
if value_spec is not None:
|
|
564
574
|
child_element = ET.SubElement(element, key)
|
|
565
575
|
if isinstance(value_spec, ApplicationValueSpecification):
|
|
@@ -587,7 +597,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
587
597
|
self.setChildElementOptionalBooleanValue(child_element, "HANDLE-NEVER-RECEIVED", com_spec.getHandleNeverReceived())
|
|
588
598
|
self.setChildElementOptionalLiteral(child_element, "HANDLE-TIMEOUT-TYPE", com_spec.getHandleTimeoutType())
|
|
589
599
|
|
|
590
|
-
self.
|
|
600
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
|
|
591
601
|
|
|
592
602
|
def writeQueuedReceiverComSpec(self, element: ET.Element, com_spec: QueuedReceiverComSpec):
|
|
593
603
|
child_element = ET.SubElement(element, "QUEUED-RECEIVER-COM-SPEC")
|
|
@@ -605,8 +615,15 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
605
615
|
self.logger.debug("writeParameterRequireComSpec")
|
|
606
616
|
child_element = ET.SubElement(element, "PARAMETER-REQUIRE-COM-SPEC")
|
|
607
617
|
self.writeARObjectAttributes(child_element, com_spec)
|
|
618
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
|
|
608
619
|
self.setChildElementOptionalRefType(child_element, "PARAMETER-REF", com_spec.getParameterRef())
|
|
609
|
-
|
|
620
|
+
|
|
621
|
+
def writeNvRequireComSpec(self, element: ET.Element, com_spec: NvRequireComSpec):
|
|
622
|
+
self.logger.debug("writeNvRequireComSpec")
|
|
623
|
+
child_element = ET.SubElement(element, "NV-REQUIRE-COM-SPEC")
|
|
624
|
+
self.writeARObjectAttributes(child_element, com_spec)
|
|
625
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
|
|
626
|
+
self.setChildElementOptionalRefType(child_element, "VARIABLE-REF", com_spec.getVariableRef())
|
|
610
627
|
|
|
611
628
|
def setModeSwitchReceiverComSpec(self, element: ET.Element, com_spec: ModeSwitchReceiverComSpec):
|
|
612
629
|
self.logger.debug("writeModeSwitchReceiverComSpec")
|
|
@@ -627,6 +644,8 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
627
644
|
self.setModeSwitchReceiverComSpec(element, com_spec)
|
|
628
645
|
elif isinstance(com_spec, ParameterRequireComSpec):
|
|
629
646
|
self.writeParameterRequireComSpec(element, com_spec)
|
|
647
|
+
elif isinstance(com_spec, NvRequireComSpec):
|
|
648
|
+
self.writeNvRequireComSpec(element, com_spec)
|
|
630
649
|
else:
|
|
631
650
|
raise ValueError("Unsupported RPortComSpec %s" % type(com_spec))
|
|
632
651
|
|
|
@@ -937,7 +956,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
937
956
|
self.setChildElementOptionalRefType(conditional_tag, "SW-ADDR-METHOD-REF", props.getSwAddrMethodRef())
|
|
938
957
|
self.setChildElementOptionalLiteral(conditional_tag, "SW-CALIBRATION-ACCESS", props.getSwCalibrationAccess())
|
|
939
958
|
self.setChildElementOptionalRefType(conditional_tag, "COMPU-METHOD-REF", props.getCompuMethodRef())
|
|
940
|
-
self.
|
|
959
|
+
self.setChildValueSpecification(conditional_tag, "INVALID-VALUE", props.getInvalidValue())
|
|
941
960
|
self.setChildElementOptionalFloatValue(conditional_tag, "STEP-SIZE", props.getStepSize())
|
|
942
961
|
self.setChildElementOptionalRefType(conditional_tag, "DATA-CONSTR-REF", props.getDataConstrRef())
|
|
943
962
|
self.setChildElementOptionalRefType(conditional_tag, "IMPLEMENTATION-DATA-TYPE-REF", props.getImplementationDataTypeRef())
|
|
@@ -1122,7 +1141,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
1122
1141
|
self.writeIdentifiable(spec_tag, spec)
|
|
1123
1142
|
|
|
1124
1143
|
if spec.getValueSpec() is not None:
|
|
1125
|
-
self.
|
|
1144
|
+
self.setChildValueSpecification(spec_tag, "VALUE-SPEC", spec.getValueSpec())
|
|
1126
1145
|
|
|
1127
1146
|
def setInternalConstrs(self, element: ET.Element, constrs: InternalConstrs):
|
|
1128
1147
|
if constrs is not None:
|
|
@@ -1345,9 +1364,19 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
1345
1364
|
self.writeIdentifiable(child_element, access)
|
|
1346
1365
|
self.setAutosarVariableRef(child_element, "ACCESSED-VARIABLE", access.getAccessedVariableRef())
|
|
1347
1366
|
|
|
1367
|
+
def setParameterInAtomicSWCTypeInstanceRef(self, element: ET.Element, key: str, parameter_iref: ParameterInAtomicSWCTypeInstanceRef):
|
|
1368
|
+
if parameter_iref is not None:
|
|
1369
|
+
child_element = ET.SubElement(element, key)
|
|
1370
|
+
self.setChildElementOptionalRefType(child_element, "BASE-REF", parameter_iref.getBaseRef())
|
|
1371
|
+
self.setChildElementOptionalRefType(child_element, "CONTEXT-DATA-PROTOTYPE-REF", parameter_iref.getContextDataPrototypeRef())
|
|
1372
|
+
self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", parameter_iref.getPortPrototypeRef())
|
|
1373
|
+
self.setChildElementOptionalRefType(child_element, "ROOT-PARAMETER-DATA-PROTOTYPE-REF", parameter_iref.getRootParameterDataPrototypeRef())
|
|
1374
|
+
self.setChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF", parameter_iref.getTargetDataPrototypeRef())
|
|
1375
|
+
|
|
1348
1376
|
def setAutosarParameterRef(self, element: ET.Element, key: str, parameter_ref: AutosarParameterRef):
|
|
1349
1377
|
if parameter_ref is not None:
|
|
1350
1378
|
child_element = ET.SubElement(element, key)
|
|
1379
|
+
self.setParameterInAtomicSWCTypeInstanceRef(child_element, "AUTOSAR-PARAMETER-IREF", parameter_ref.getAutosarParameterIRef())
|
|
1351
1380
|
self.setChildElementOptionalRefType(child_element, "LOCAL-PARAMETER-REF", parameter_ref.getLocalParameterRef())
|
|
1352
1381
|
|
|
1353
1382
|
def writeParameterAccess(self, element: ET.Element, parameter_access: ParameterAccess):
|
|
@@ -1592,7 +1621,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
1592
1621
|
def writeParameterDataPrototype(self, element: ET.Element, prototype: ParameterDataPrototype):
|
|
1593
1622
|
child_element = ET.SubElement(element, "PARAMETER-DATA-PROTOTYPE")
|
|
1594
1623
|
self.writeAutosarDataPrototype(child_element, prototype)
|
|
1595
|
-
self.
|
|
1624
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", prototype.getInitValue())
|
|
1596
1625
|
|
|
1597
1626
|
def writeSwcInternalBehaviorParameterDataPrototypes(self, element: ET.Element, key: str, parameters: List[ParameterDataPrototype]):
|
|
1598
1627
|
if len(parameters) > 0:
|
|
@@ -1606,7 +1635,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
1606
1635
|
for argument_value in argument_values:
|
|
1607
1636
|
child_element = ET.SubElement(child_element, "PORT-DEFINED-ARGUMENT-VALUE")
|
|
1608
1637
|
if argument_value.getValue() is not None:
|
|
1609
|
-
self.
|
|
1638
|
+
self.setChildValueSpecification(child_element, "VALUE", argument_value.getValue())
|
|
1610
1639
|
self.setChildElementOptionalRefType(child_element, "VALUE-TYPE-TREF", argument_value.getValueTypeTRef())
|
|
1611
1640
|
|
|
1612
1641
|
def writeSwcInternalBehaviorPortAPIOptions(self, element: ET.Element, behavior: SwcInternalBehavior):
|
|
@@ -2075,7 +2104,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
2075
2104
|
self.logger.debug("writeVariableDataPrototype %s" % prototype.getShortName())
|
|
2076
2105
|
child_element = ET.SubElement(element, "VARIABLE-DATA-PROTOTYPE")
|
|
2077
2106
|
self.writeAutosarDataPrototype(child_element, prototype)
|
|
2078
|
-
self.
|
|
2107
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", prototype.getInitValue())
|
|
2079
2108
|
|
|
2080
2109
|
def writeSenderReceiverInterfaceDataElements(self, element: ET.Element, sr_interface: SenderReceiverInterface):
|
|
2081
2110
|
data_elements = sr_interface.getDataElements()
|
|
@@ -4965,7 +4994,7 @@ class ARXMLWriter(AbstractARXMLWriter):
|
|
|
4965
4994
|
self.writeIdentifiable(child_element, signal)
|
|
4966
4995
|
self.setChildElementOptionalLiteral(child_element, "DATA-TYPE-POLICY", signal.getDataTypePolicy())
|
|
4967
4996
|
self.setChildElementOptionalLiteral(child_element, "I-SIGNAL-TYPE", signal.getISignalType())
|
|
4968
|
-
self.
|
|
4997
|
+
self.setChildValueSpecification(child_element, "INIT-VALUE", signal.getInitValue())
|
|
4969
4998
|
self.setChildElementOptionalNumericalValue(child_element, "LENGTH", signal.getLength())
|
|
4970
4999
|
self.setSwDataDefProps(child_element, "NETWORK-REPRESENTATION-PROPS", signal.getNetworkRepresentationProps())
|
|
4971
5000
|
self.setChildElementOptionalRefType(child_element, "SYSTEM-SIGNAL-REF", signal.getSystemSignalRef())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: armodel
|
|
3
|
-
Version: 1.8.
|
|
3
|
+
Version: 1.8.6
|
|
4
4
|
Summary: the python arxml parser
|
|
5
5
|
Home-page: http://github.com/melodypapa/py-armodel
|
|
6
6
|
Author: melodypapa
|
|
@@ -638,4 +638,19 @@ Fix the attribute intervalType of **Limit** is empty issue.
|
|
|
638
638
|
2. Add the armodel-uuid-checker cli.
|
|
639
639
|
3. Remove the space in the boolean type.
|
|
640
640
|
|
|
641
|
+
**Version 1.8.5**
|
|
642
|
+
|
|
643
|
+
1. Reorganize the SwConnector class.
|
|
644
|
+
2. Raise the error if the short name of rootSwCompositionPrototype.
|
|
645
|
+
3. To support the following AR Element:
|
|
646
|
+
* NvProvideComSpec
|
|
647
|
+
4. Fix the duplicate short name of ARPackage and Other ARElements.
|
|
648
|
+
|
|
649
|
+
**Version 1.8.6**
|
|
650
|
+
|
|
651
|
+
1. To support the following AR Element:
|
|
652
|
+
* NvProvideComSpec
|
|
653
|
+
* NvRequireComSpec
|
|
654
|
+
2. To improve the following AR Element:
|
|
655
|
+
* ParameterAccess
|
|
641
656
|
|