armodel 1.8.5__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.
Files changed (160) hide show
  1. armodel/__pycache__/__init__.cpython-312.pyc +0 -0
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswBehavior.cpython-312.pyc +0 -0
  3. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswImplementation.cpython-312.pyc +0 -0
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswInterfaces.cpython-312.pyc +0 -0
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/BswOverview.cpython-312.pyc +0 -0
  6. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HardwareConfiguration.cpython-312.pyc +0 -0
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/HeapUsage.cpython-312.pyc +0 -0
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/MemorySectionUsage.cpython-312.pyc +0 -0
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/SoftwareContext.cpython-312.pyc +0 -0
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/StackUsage.cpython-312.pyc +0 -0
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__pycache__/__init__.cpython-312.pyc +0 -0
  13. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/PortPrototypeBlueprint.cpython-312.pyc +0 -0
  14. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__pycache__/__init__.cpython-312.pyc +0 -0
  15. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/Keyword.cpython-312.pyc +0 -0
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  17. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/ExecutionOrderConstraint.cpython-312.pyc +0 -0
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingConstraint.cpython-312.pyc +0 -0
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/TimingExtensions.cpython-312.pyc +0 -0
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/__pycache__/__init__.cpython-312.pyc +0 -0
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/__pycache__/__init__.cpython-312.pyc +0 -0
  22. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Filter.cpython-312.pyc +0 -0
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/FlatMap.cpython-312.pyc +0 -0
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/Implementation.cpython-312.pyc +0 -0
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ImplementationDataTypes.cpython-312.pyc +0 -0
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/InternalBehavior.cpython-312.pyc +0 -0
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ModeDeclaration.cpython-312.pyc +0 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/ServiceNeeds.cpython-312.pyc +0 -0
  29. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/SwcBswMapping.cpython-312.pyc +0 -0
  30. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/TriggerDeclaration.cpython-312.pyc +0 -0
  31. armodel/models/M2/AUTOSARTemplates/CommonStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  32. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/DiagnosticContribution.cpython-312.pyc +0 -0
  33. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__pycache__/__init__.cpython-312.pyc +0 -0
  34. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/HwElementCategory.cpython-312.pyc +0 -0
  35. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  36. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ARPackage.cpython-312.pyc +0 -0
  37. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ArObject.cpython-312.pyc +0 -0
  38. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/ElementCollection.cpython-312.pyc +0 -0
  39. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/EngineeringObject.cpython-312.pyc +0 -0
  40. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/Identifiable.cpython-312.pyc +0 -0
  41. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/PrimitiveTypes.cpython-312.pyc +0 -0
  42. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__pycache__/__init__.cpython-312.pyc +0 -0
  43. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/AbstractStructure.cpython-312.pyc +0 -0
  44. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/LifeCycles.cpython-312.pyc +0 -0
  45. armodel/models/M2/AUTOSARTemplates/GenericStructure/__pycache__/__init__.cpython-312.pyc +0 -0
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +52 -0
  47. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  48. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__pycache__/__init__.cpython-312.pyc +0 -0
  49. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__pycache__/__init__.cpython-312.pyc +0 -0
  51. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/DataPrototypes.cpython-312.pyc +0 -0
  52. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/Datatypes.cpython-312.pyc +0 -0
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__pycache__/__init__.cpython-312.pyc +0 -0
  54. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  55. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__pycache__/__init__.cpython-312.pyc +0 -0
  56. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +1 -0
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +5 -4
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AccessCount.cpython-312.pyc +0 -0
  59. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/AutosarVariableRef.cpython-312.pyc +0 -0
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/DataElements.cpython-312.pyc +0 -0
  61. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/IncludedDataTypes.cpython-312.pyc +0 -0
  62. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/InstanceRefsUsage.cpython-312.pyc +0 -0
  63. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ModeDeclarationGroup.cpython-312.pyc +0 -0
  64. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PerInstanceMemory.cpython-312.pyc +0 -0
  65. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/PortAPIOptions.cpython-312.pyc +0 -0
  66. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/RTEEvents.cpython-312.pyc +0 -0
  67. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServerCall.cpython-312.pyc +0 -0
  68. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/ServiceMapping.cpython-312.pyc +0 -0
  69. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/Trigger.cpython-312.pyc +0 -0
  70. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__pycache__/__init__.cpython-312.pyc +0 -0
  71. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/Communication.cpython-312.pyc +0 -0
  72. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/EndToEndProtection.cpython-312.pyc +0 -0
  73. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/RPTScenario.cpython-312.pyc +0 -0
  74. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/SwcImplementation.cpython-312.pyc +0 -0
  75. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  76. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanCommunication.cpython-312.pyc +0 -0
  77. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/CanTopology.cpython-312.pyc +0 -0
  78. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/__pycache__/__init__.cpython-312.pyc +0 -0
  79. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetCommunication.cpython-312.pyc +0 -0
  80. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetFrame.cpython-312.pyc +0 -0
  81. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/EthernetTopology.cpython-312.pyc +0 -0
  82. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/NetworkEndpoint.cpython-312.pyc +0 -0
  83. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/ServiceInstances.cpython-312.pyc +0 -0
  84. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/__pycache__/__init__.cpython-312.pyc +0 -0
  85. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayCommunication.cpython-312.pyc +0 -0
  86. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/FlexrayTopology.cpython-312.pyc +0 -0
  87. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__pycache__/__init__.cpython-312.pyc +0 -0
  88. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinCommunication.cpython-312.pyc +0 -0
  89. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/LinTopology.cpython-312.pyc +0 -0
  90. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__pycache__/__init__.cpython-312.pyc +0 -0
  91. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreCommunication.cpython-312.pyc +0 -0
  92. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/CoreTopology.cpython-312.pyc +0 -0
  93. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/EcuInstance.cpython-312.pyc +0 -0
  94. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/Timing.cpython-312.pyc +0 -0
  95. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__pycache__/__init__.cpython-312.pyc +0 -0
  96. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/Fibex4Multiplatform.cpython-312.pyc +0 -0
  97. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__pycache__/__init__.cpython-312.pyc +0 -0
  98. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__pycache__/__init__.cpython-312.pyc +0 -0
  99. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DataMapping.cpython-312.pyc +0 -0
  100. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DiagnosticConnection.cpython-312.pyc +0 -0
  101. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/DoIp.cpython-312.pyc +0 -0
  102. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/EcuResourceMapping.cpython-312.pyc +0 -0
  103. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/InstanceRefs.cpython-312.pyc +0 -0
  104. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/NetworkManagement.cpython-312.pyc +0 -0
  105. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/RteEventToOsTaskMapping.cpython-312.pyc +0 -0
  106. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SWmapping.cpython-312.pyc +0 -0
  107. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/SecureCommunication.cpython-312.pyc +0 -0
  108. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/TransportProtocols.cpython-312.pyc +0 -0
  109. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__pycache__/__init__.cpython-312.pyc +0 -0
  110. armodel/models/M2/AUTOSARTemplates/__pycache__/AutosarTopLevelStructure.cpython-312.pyc +0 -0
  111. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCDescriptionTemplate.cpython-312.pyc +0 -0
  112. armodel/models/M2/AUTOSARTemplates/__pycache__/ECUCParameterDefTemplate.cpython-312.pyc +0 -0
  113. armodel/models/M2/AUTOSARTemplates/__pycache__/__init__.cpython-312.pyc +0 -0
  114. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/GlobalConstraints.cpython-312.pyc +0 -0
  115. armodel/models/M2/MSR/AsamHdo/Constraints/__pycache__/__init__.cpython-312.pyc +0 -0
  116. armodel/models/M2/MSR/AsamHdo/__pycache__/AdminData.cpython-312.pyc +0 -0
  117. armodel/models/M2/MSR/AsamHdo/__pycache__/BaseTypes.cpython-312.pyc +0 -0
  118. armodel/models/M2/MSR/AsamHdo/__pycache__/ComputationMethod.cpython-312.pyc +0 -0
  119. armodel/models/M2/MSR/AsamHdo/__pycache__/SpecialData.cpython-312.pyc +0 -0
  120. armodel/models/M2/MSR/AsamHdo/__pycache__/Units.cpython-312.pyc +0 -0
  121. armodel/models/M2/MSR/AsamHdo/__pycache__/__init__.cpython-312.pyc +0 -0
  122. armodel/models/M2/MSR/CalibrationData/__pycache__/CalibrationValue.cpython-312.pyc +0 -0
  123. armodel/models/M2/MSR/CalibrationData/__pycache__/__init__.cpython-312.pyc +0 -0
  124. armodel/models/M2/MSR/DataDictionary/__pycache__/AuxillaryObjects.cpython-312.pyc +0 -0
  125. armodel/models/M2/MSR/DataDictionary/__pycache__/Axis.cpython-312.pyc +0 -0
  126. armodel/models/M2/MSR/DataDictionary/__pycache__/CalibrationParameter.cpython-312.pyc +0 -0
  127. armodel/models/M2/MSR/DataDictionary/__pycache__/DataDefProperties.cpython-312.pyc +0 -0
  128. armodel/models/M2/MSR/DataDictionary/__pycache__/RecordLayout.cpython-312.pyc +0 -0
  129. armodel/models/M2/MSR/DataDictionary/__pycache__/ServiceProcessTask.cpython-312.pyc +0 -0
  130. armodel/models/M2/MSR/DataDictionary/__pycache__/__init__.cpython-312.pyc +0 -0
  131. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/Figure.cpython-312.pyc +0 -0
  132. armodel/models/M2/MSR/Documentation/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  133. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/ListElements.cpython-312.pyc +0 -0
  134. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/PaginationAndView.cpython-312.pyc +0 -0
  135. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__pycache__/__init__.cpython-312.pyc +0 -0
  136. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/LanguageDataModel.cpython-312.pyc +0 -0
  137. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/MultilanguageData.cpython-312.pyc +0 -0
  138. armodel/models/M2/MSR/Documentation/TextModel/__pycache__/__init__.cpython-312.pyc +0 -0
  139. armodel/models/M2/MSR/Documentation/__pycache__/Annotation.cpython-312.pyc +0 -0
  140. armodel/models/M2/MSR/Documentation/__pycache__/__init__.cpython-312.pyc +0 -0
  141. armodel/models/M2/MSR/__pycache__/__init__.cpython-312.pyc +0 -0
  142. armodel/models/M2/__pycache__/__init__.cpython-312.pyc +0 -0
  143. armodel/models/__pycache__/__init__.cpython-312.pyc +0 -0
  144. armodel/models/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  145. armodel/models/utils/__pycache__/uuid_mgr.cpython-312.pyc +0 -0
  146. armodel/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  147. armodel/parser/__pycache__/abstract_arxml_parser.cpython-312.pyc +0 -0
  148. armodel/parser/__pycache__/arxml_parser.cpython-312.pyc +0 -0
  149. armodel/parser/__pycache__/file_parser.cpython-312.pyc +0 -0
  150. armodel/parser/arxml_parser.py +66 -20
  151. armodel/writer/__pycache__/__init__.cpython-312.pyc +0 -0
  152. armodel/writer/__pycache__/abstract_arxml_writer.cpython-312.pyc +0 -0
  153. armodel/writer/__pycache__/arxml_writer.cpython-312.pyc +0 -0
  154. armodel/writer/arxml_writer.py +42 -13
  155. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/METADATA +9 -1
  156. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/RECORD +160 -11
  157. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/LICENSE +0 -0
  158. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/WHEEL +0 -0
  159. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/entry_points.txt +0 -0
  160. {armodel-1.8.5.dist-info → armodel-1.8.6.dist-info}/top_level.txt +0 -0
@@ -2,6 +2,9 @@ from typing import List
2
2
  import xml.etree.ElementTree as ET
3
3
  import os
4
4
 
5
+
6
+
7
+
5
8
  from ..models.M2.MSR.AsamHdo.AdminData import AdminData, DocRevision, Modification
6
9
  from ..models.M2.MSR.AsamHdo.BaseTypes import BaseTypeDirectDefinition, SwBaseType
7
10
  from ..models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstrRule, InternalConstrs, PhysConstrs, DataConstr
@@ -29,6 +32,7 @@ from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultiLangu
29
32
  from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
30
33
  from ..models.M2.MSR.Documentation.TextModel.BlockElements.PaginationAndView import DocumentViewSelectable, Paginateable
31
34
 
35
+
32
36
  from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
33
37
  from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswApiOptions, BswAsynchronousServerCallPoint, BswBackgroundEvent
34
38
  from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswSynchronousServerCallPoint
@@ -101,7 +105,8 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import
101
105
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import POperationInAtomicSwcInstanceRef, PPortInCompositionInstanceRef
102
106
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import ROperationInAtomicSwcInstanceRef, RPortInCompositionInstanceRef
103
107
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
104
- from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest, NvRequireComSpec
108
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest, NvProvideComSpec
109
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import NvRequireComSpec, PPortComSpec, RPortComSpec
105
110
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransformationComSpecProps, UserDefinedTransformationComSpecProps
106
111
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransmissionAcknowledgementRequest
107
112
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
@@ -135,8 +140,9 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import Varia
135
140
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
136
141
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import RunnableEntity, RunnableEntityArgument, SwcInternalBehavior
137
142
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
143
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess
138
144
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
139
- from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
145
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, ParameterInAtomicSWCTypeInstanceRef
140
146
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import VariableInAtomicSWCTypeInstanceRef
141
147
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
142
148
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import ModeAccessPoint, ModeSwitchPoint
@@ -1247,21 +1253,38 @@ class ARXMLParser(AbstractARXMLParser):
1247
1253
  argument = RunnableEntityArgument()
1248
1254
  argument.setSymbol(self.getChildElementOptionalLiteral(element, "SYMBOL"))
1249
1255
  return argument
1256
+
1257
+ def getParameterInAtomicSWCTypeInstanceRef(self, element: ET.Element, key: str) -> ParameterInAtomicSWCTypeInstanceRef:
1258
+ parameter_iref = None
1259
+ child_element = self.find(element, key)
1260
+ if child_element is not None:
1261
+ parameter_iref = ParameterInAtomicSWCTypeInstanceRef()
1262
+ parameter_iref.setBaseRef(self.getChildElementOptionalRefType(child_element, "BASE-REF"))
1263
+ parameter_iref.setContextDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "CONTEXT-DATA-PROTOTYPE-REF"))
1264
+ parameter_iref.setPortPrototypeRef(self.getChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF"))
1265
+ parameter_iref.setRootParameterDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "ROOT-PARAMETER-DATA-PROTOTYPE-REF"))
1266
+ parameter_iref.setTargetDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF"))
1267
+ return parameter_iref
1250
1268
 
1251
1269
  def getAutosarParameterRef(self, element: ET.Element, key: str) -> AutosarParameterRef:
1252
1270
  parameter = None
1253
1271
  child_element = self.find(element, key)
1254
1272
  if child_element is not None:
1255
1273
  parameter = AutosarParameterRef()
1274
+ parameter.setAutosarParameterIRef(self.getParameterInAtomicSWCTypeInstanceRef(child_element, "AUTOSAR-PARAMETER-IREF"))
1256
1275
  parameter.setLocalParameterRef(self.getChildElementOptionalRefType(child_element, "LOCAL-PARAMETER-REF"))
1257
1276
  return parameter
1258
1277
 
1278
+ def readParameterAccess(self, element: ET.Element, access: ParameterAccess):
1279
+ self.readIdentifiable(element, access)
1280
+ access.setAccessedParameter(self.getAutosarParameterRef(element, "ACCESSED-PARAMETER"))
1281
+
1259
1282
  def readRunnableEntityParameterAccesses(self, element: ET.Element, parent: RunnableEntity):
1260
1283
  for child_element in self.findall(element, "PARAMETER-ACCESSS/PARAMETER-ACCESS"):
1261
1284
  short_name = self.getShortName(child_element)
1262
1285
  self.logger.debug("readParameterAccesses %s" % short_name)
1263
1286
  parameter_access = parent.createParameterAccess(short_name)
1264
- parameter_access.setAccessedParameter(self.getAutosarParameterRef(child_element, "ACCESSED-PARAMETER"))
1287
+ self.readParameterAccess(child_element, parameter_access)
1265
1288
 
1266
1289
  def readRunnableEntityWrittenLocalVariables(self, element: ET.Element, parent: RunnableEntity):
1267
1290
  self._readVariableAccesses(element, parent, "WRITTEN-LOCAL-VARIABLES")
@@ -1886,8 +1909,8 @@ class ARXMLParser(AbstractARXMLParser):
1886
1909
  iref = None
1887
1910
  if child_element is not None:
1888
1911
  iref = ApplicationCompositeElementInPortInterfaceInstanceRef()
1889
- iref.setRootDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "ROOT-DATA-PROTOTYPE-REF"))\
1890
- .setTargetDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF"))
1912
+ iref.setRootDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "ROOT-DATA-PROTOTYPE-REF"))
1913
+ iref.setTargetDataPrototypeRef(self.getChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF"))
1891
1914
  return iref
1892
1915
 
1893
1916
  def getCompositeNetworkRepresentation(self, element: ET.Element) -> CompositeNetworkRepresentation:
@@ -1898,7 +1921,7 @@ class ARXMLParser(AbstractARXMLParser):
1898
1921
  return representation
1899
1922
 
1900
1923
  def readReceiverComSpec(self, element: ET.Element, com_spec: ReceiverComSpec):
1901
- self.readARObjectAttributes(element, com_spec)
1924
+ self.readRPortComSpec(element, com_spec)
1902
1925
  for child_element in self.findall(element, "COMPOSITE-NETWORK-REPRESENTATIONS/COMPOSITE-NETWORK-REPRESENTATION"):
1903
1926
  com_spec.addCompositeNetworkRepresentation(self.getCompositeNetworkRepresentation(child_element))
1904
1927
  com_spec.setDataElementRef(self.getChildElementOptionalRefType(element, "DATA-ELEMENT-REF"))
@@ -1949,29 +1972,39 @@ class ARXMLParser(AbstractARXMLParser):
1949
1972
 
1950
1973
  self.logger.debug("readApplicationValueSpecification Category %s" % value_spec.category)
1951
1974
 
1952
- def getInitValue(self, element: ET.Element) -> ValueSpecification:
1975
+ def getChildValueSpecification(self, element: ET.Element, key: str) -> ValueSpecification:
1953
1976
  value_spec = None
1954
- child_element = self.find(element, "INIT-VALUE/*")
1977
+ child_element = self.find(element, key + "/*")
1955
1978
  if child_element is not None:
1956
1979
  value_spec = self.getValueSpecification(child_element, self.getTagName(child_element))
1957
1980
  return value_spec
1958
-
1981
+
1982
+ def getInitValue(self, element: ET.Element) -> ValueSpecification:
1983
+ return self.getChildValueSpecification(element, "INIT-VALUE")
1984
+
1985
+ def readRPortComSpec(self, element: ET.Element, com_spec: RPortComSpec):
1986
+ self.readARObjectAttributes(element, com_spec)
1987
+
1959
1988
  def getClientComSpec(self, element: ET.Element) -> ClientComSpec:
1960
1989
  com_spec = ClientComSpec()
1961
- self.readARObjectAttributes(element, com_spec)
1990
+ self.readRPortComSpec(element, com_spec)
1962
1991
  com_spec.operationRef = self.getChildElementOptionalRefType(element, "OPERATION-REF")
1963
1992
  return com_spec
1964
1993
 
1965
1994
  def getParameterRequireComSpec(self, element: ET.Element) -> ParameterRequireComSpec:
1966
1995
  com_spec = ParameterRequireComSpec()
1967
- self.readARObjectAttributes(element, com_spec)
1968
- com_spec.setInitValue(self.getInitValue(element)) \
1969
- .setParameterRef(self.getChildElementOptionalRefType(element, "PARAMETER-REF"))
1996
+ self.readRPortComSpec(element, com_spec)
1997
+ com_spec.setInitValue(self.getChildValueSpecification(element, "INIT-VALUE"))
1998
+ com_spec.setParameterRef(self.getChildElementOptionalRefType(element, "PARAMETER-REF"))
1999
+ return com_spec
2000
+
2001
+ def getNvRequireComSpec(self, element: ET.Element) -> NvRequireComSpec:
2002
+ com_spec = NvRequireComSpec()
2003
+ self.readRPortComSpec(element, com_spec)
2004
+ com_spec.setInitValue(self.getChildValueSpecification(element, "INIT-VALUE"))
2005
+ com_spec.setVariableRef(self.getChildElementOptionalRefType(element, "VARIABLE-REF"))
1970
2006
  return com_spec
1971
2007
 
1972
- def getNvProvideComSpec(self, element: ET.Element) -> NvRequireComSpec:
1973
- pass
1974
-
1975
2008
  def getQueuedReceiverComSpec(self, element: ET.Element) -> QueuedReceiverComSpec:
1976
2009
  com_spec = QueuedReceiverComSpec()
1977
2010
  self.readARObjectAttributes(element, com_spec)
@@ -1981,7 +2014,7 @@ class ARXMLParser(AbstractARXMLParser):
1981
2014
 
1982
2015
  def getModeSwitchReceiverComSpec(self, element: ET.Element) -> ModeSwitchReceiverComSpec:
1983
2016
  com_spec = ModeSwitchReceiverComSpec()
1984
- self.readARObjectAttributes(element, com_spec)
2017
+ self.readRPortComSpec(element, com_spec)
1985
2018
  com_spec.setEnhancedModeApi(self.getChildElementOptionalBooleanValue(element, "ENHANCED-MODE-API"))
1986
2019
  com_spec.setModeGroupRef(self.getChildElementOptionalRefType(element, "MODE-GROUP-REF"))
1987
2020
  com_spec.setSupportsAsynchronousModeSwitch(self.getChildElementOptionalBooleanValue(element, "SUPPORTS-ASYNCHRONOUS-MODE-SWITCH"))
@@ -2012,8 +2045,8 @@ class ARXMLParser(AbstractARXMLParser):
2012
2045
  parent.addRequiredComSpec(self.getModeSwitchReceiverComSpec(child_element))
2013
2046
  elif tag_name == "PARAMETER-REQUIRE-COM-SPEC":
2014
2047
  parent.addRequiredComSpec(self.getParameterRequireComSpec(child_element))
2015
- elif tag_name == "NV-PROVIDE-COM-SPEC":
2016
- parent.addRequiredComSpec(self.getNvProvideComSpec(child_element))
2048
+ elif tag_name == "NV-REQUIRE-COM-SPEC":
2049
+ parent.addRequiredComSpec(self.getNvRequireComSpec(child_element))
2017
2050
  else:
2018
2051
  self.raiseError("Unsupported RequiredComSpec <%s>" % tag_name)
2019
2052
 
@@ -2098,9 +2131,12 @@ class ARXMLParser(AbstractARXMLParser):
2098
2131
  else:
2099
2132
  self.notImplemented("Unsupported TransformationComSpecProps <%s>" % tag_name)
2100
2133
 
2134
+ def readPPortComSpec(self, element: ET.Element, com_spec: PPortComSpec):
2135
+ self.readARObjectAttributes(element, com_spec)
2136
+
2101
2137
  def getServerComSpec(self, element: ET.Element) -> ServerComSpec:
2102
2138
  com_spec = ServerComSpec()
2103
- self.readARObjectAttributes(element, com_spec)
2139
+ self.readPPortComSpec(element, com_spec)
2104
2140
  com_spec.setOperationRef(self.getChildElementOptionalRefType(element, "OPERATION-REF"))
2105
2141
  com_spec.setQueueLength(self.getChildElementOptionalNumericalValue(element, "QUEUE-LENGTH"))
2106
2142
  self.readServerComSpecTransformationComSpecProps(element, com_spec)
@@ -2126,6 +2162,14 @@ class ARXMLParser(AbstractARXMLParser):
2126
2162
  com_spec.setQueueLength(self.getChildElementOptionalNumericalValue(element, "QUEUE-LENGTH"))
2127
2163
  return com_spec
2128
2164
 
2165
+ def getNvProvideComSpec(self, element: ET.Element) -> NvProvideComSpec:
2166
+ com_spec = NvProvideComSpec()
2167
+ self.readPPortComSpec(element, com_spec)
2168
+ com_spec.setRamBlockInitValue(self.getChildValueSpecification(element, "RAM-BLOCK-INIT-VALUE"))
2169
+ com_spec.setRomBlockInitValue(self.getChildValueSpecification(element, "ROM-BLOCK-INIT-VALUE"))
2170
+ com_spec.setVariableRef(self.getChildElementOptionalRefType(element, "VARIABLE-REF"))
2171
+ return com_spec
2172
+
2129
2173
  def readProvidedComSpec(self, element: ET.Element, parent: PPortPrototype):
2130
2174
  for child_element in self.findall(element, "PROVIDED-COM-SPECS/*"):
2131
2175
  tag_name = self.getTagName(child_element)
@@ -2137,6 +2181,8 @@ class ARXMLParser(AbstractARXMLParser):
2137
2181
  parent.addProvidedComSpec(self.getQueuedSenderComSpec(child_element))
2138
2182
  elif tag_name == "MODE-SWITCH-SENDER-COM-SPEC":
2139
2183
  parent.addProvidedComSpec(self.getModeSwitchSenderComSpec(child_element))
2184
+ elif tag_name == "NV-PROVIDE-COM-SPEC":
2185
+ parent.addProvidedComSpec(self.getNvProvideComSpec(child_element))
2140
2186
  else:
2141
2187
  self.raiseError("Unsupported RequiredComSpec <%s>" % tag_name)
2142
2188
 
@@ -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.setValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
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 setValueSpecification(self, element: ET.Element, key: str, value_spec: ValueSpecification):
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.setValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
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
- self.setValueSpecification(child_element, "INIT-VALUE", com_spec.getInitValue())
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.setValueSpecification(conditional_tag, "INVALID-VALUE", props.getInvalidValue())
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.setValueSpecification(spec_tag, "VALUE-SPEC", spec.getValueSpec())
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.setValueSpecification(child_element, "INIT-VALUE", prototype.getInitValue())
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.setValueSpecification(child_element, "VALUE", argument_value.getValue())
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.setValueSpecification(child_element, "INIT-VALUE", prototype.getInitValue())
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.setValueSpecification(child_element, "INIT-VALUE", signal.getInitValue())
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.5
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
@@ -646,3 +646,11 @@ Fix the attribute intervalType of **Limit** is empty issue.
646
646
  * NvProvideComSpec
647
647
  4. Fix the duplicate short name of ARPackage and Other ARElements.
648
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
656
+