armodel 1.6.2__py3-none-any.whl → 1.6.4__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 (170) hide show
  1. armodel/cli/arxml_dump_cli.py +13 -10
  2. armodel/cli/arxml_format_cli.py +1 -2
  3. armodel/cli/connector2xlsx_cli.py +2 -3
  4. armodel/cli/connector_update_cli.py +2 -5
  5. armodel/cli/memory_section_cli.py +2 -2
  6. armodel/cli/swc_list_cli.py +2 -3
  7. armodel/cli/system_signal_cli.py +2 -2
  8. armodel/lib/sw_component.py +3 -3
  9. armodel/lib/system_signal.py +3 -5
  10. armodel/models/{m2/autosar_templates/autosar_top_level_structure.py → M2/AUTOSARTemplates/AutosarTopLevelStructure.py} +5 -7
  11. armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +113 -140
  12. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +60 -0
  13. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
  14. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +77 -0
  15. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -0
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +238 -0
  17. armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +7 -6
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +119 -0
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +69 -0
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +20 -0
  22. armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +13 -9
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +35 -0
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +24 -0
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
  29. armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +4 -3
  30. armodel/models/{m2/autosar_templates/ecuc_description_template.py → M2/AUTOSARTemplates/ECUCDescriptionTemplate.py} +6 -7
  31. armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -5
  32. armodel/models/{m2/autosar_templates/generic_structure/ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +41 -29
  33. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +16 -0
  34. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +1 -0
  35. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +52 -0
  36. armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +42 -159
  37. armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +179 -71
  38. armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py +1 -0
  39. armodel/models/{m2/autosar_templates/sw_component_template/communication.py → M2/AUTOSARTemplates/SWComponentTemplate/Communication.py} +22 -5
  40. armodel/models/{m2/autosar_templates/sw_component_template/components/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py} +2 -4
  41. armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +114 -10
  42. armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -5
  43. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +96 -0
  44. armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +24 -8
  45. armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -73
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
  47. armodel/models/{m2/autosar_templates/sw_component_template/port_interface/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py} +2 -2
  48. armodel/models/{m2/autosar_templates/sw_component_template/port_interface → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface}/__init__.py +10 -6
  49. armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +34 -0
  51. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py} +2 -2
  52. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py} +7 -5
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +24 -0
  54. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py} +3 -3
  55. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py} +4 -4
  56. armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
  59. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -4
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +57 -0
  61. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +8 -0
  62. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +358 -0
  63. armodel/models/{m2/autosar_templates/system_template/data_mapping.py → M2/AUTOSARTemplates/SystemTemplate/DataMapping.py} +2 -3
  64. armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -3
  65. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +14 -0
  66. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +116 -0
  67. armodel/models/{fibex/lin_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py} +5 -2
  68. armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -4
  69. armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +4 -6
  70. armodel/models/{fibex/fibex_core/core_topology.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py} +6 -7
  71. armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
  72. armodel/models/{m2/autosar_templates/system_template/network_management.py → M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py} +5 -6
  73. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
  74. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +3 -4
  75. armodel/models/M2/MSR/AsamHdo/AdminData.py +18 -0
  76. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
  77. armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +43 -28
  78. armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +6 -4
  79. armodel/models/M2/MSR/AsamHdo/SpecialData.py +60 -0
  80. armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +3 -3
  81. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +26 -0
  82. armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +3 -4
  83. armodel/models/M2/MSR/DataDictionary/Axis.py +145 -0
  84. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +37 -0
  85. armodel/models/{m2/msr/data_dictionary/data_def_properties.py → M2/MSR/DataDictionary/DataDefProperties.py} +19 -10
  86. armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
  87. armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -10
  88. armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
  89. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +16 -0
  90. armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +20 -32
  91. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -0
  92. armodel/models/M2/MSR/Documentation/__init__.py +3 -0
  93. armodel/models/M2/MSR/__init__.py +1 -0
  94. armodel/models/M2/__init__.py +0 -0
  95. armodel/models/__init__.py +50 -24
  96. armodel/parser/abstract_arxml_parser.py +8 -4
  97. armodel/parser/arxml_parser.py +117 -90
  98. armodel/parser/connector_xlsx_parser.py +5 -3
  99. armodel/parser/file_parser.py +2 -1
  100. armodel/report/connector_xls_report.py +3 -2
  101. armodel/tests/test_armodel/models/test_ar_object.py +2 -3
  102. armodel/tests/test_armodel/models/test_ar_package.py +21 -9
  103. armodel/tests/test_armodel/models/test_ar_ref.py +7 -5
  104. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -1
  105. armodel/tests/test_armodel/models/test_common_structure.py +11 -5
  106. armodel/tests/test_armodel/models/test_data_dictionary.py +2 -2
  107. armodel/tests/test_armodel/models/test_data_prototype.py +8 -4
  108. armodel/tests/test_armodel/models/test_datatype.py +28 -14
  109. armodel/tests/test_armodel/models/test_general_structure.py +12 -2
  110. armodel/tests/test_armodel/models/test_implementation.py +3 -2
  111. armodel/tests/test_armodel/models/test_m2_msr.py +4 -2
  112. armodel/tests/test_armodel/models/test_port_interface.py +21 -11
  113. armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
  114. armodel/tests/test_armodel/parser/test_parse_bswmd.py +13 -13
  115. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  116. armodel/tests/test_armodel/parser/test_system.py +30 -0
  117. armodel/writer/abstract_arxml_writer.py +5 -2
  118. armodel/writer/arxml_writer.py +136 -91
  119. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/METADATA +16 -1
  120. armodel-1.6.4.dist-info/RECORD +156 -0
  121. armodel/lib/data_analyzer.py +0 -34
  122. armodel/models/ar_package.py +0 -641
  123. armodel/models/ar_ref.py +0 -25
  124. armodel/models/calibration.py +0 -119
  125. armodel/models/common_structure.py +0 -272
  126. armodel/models/communication.py +0 -17
  127. armodel/models/data_def_properties.py +0 -16
  128. armodel/models/data_dictionary.py +0 -59
  129. armodel/models/data_prototype.py +0 -103
  130. armodel/models/end_to_end_protection.py +0 -67
  131. armodel/models/fibex/fibex_core.py +0 -341
  132. armodel/models/fibex/lin_topology.py +0 -7
  133. armodel/models/implementation.py +0 -135
  134. armodel/models/internal_behavior.py +0 -63
  135. armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
  136. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +0 -154
  137. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
  138. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +0 -203
  139. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +0 -10
  140. armodel/models/m2/autosar_templates/system_template/transport_protocols.py +0 -7
  141. armodel/models/mode_declaration.py +0 -8
  142. armodel/models/port_interface.py +0 -165
  143. armodel/models/port_prototype.py +0 -6
  144. armodel/models/service_mapping.py +0 -11
  145. armodel/models/sw_component.py +0 -385
  146. armodel/models/system_template/network_management.py +0 -7
  147. armodel/models/system_template/transport_protocols.py +0 -7
  148. armodel/models/timing.py +0 -91
  149. armodel/models/unit.py +0 -14
  150. armodel-1.6.2.dist-info/RECORD +0 -142
  151. /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior}/__init__.py +0 -0
  152. /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
  153. /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
  154. /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses}/__init__.py +0 -0
  155. /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate/Datatype}/__init__.py +0 -0
  156. /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
  157. /armodel/models/{m2/autosar_templates/generic_structure → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
  158. /armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
  159. /armodel/models/{m2/autosar_templates/sw_component_template/data_type → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin}/__init__.py +0 -0
  160. /armodel/models/{m2/msr → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore}/__init__.py +0 -0
  161. /armodel/models/{m2/msr/asam_hdo → M2/AUTOSARTemplates/SystemTemplate/Fibex}/__init__.py +0 -0
  162. /armodel/models/{m2/msr/data_dictionary → M2/AUTOSARTemplates}/__init__.py +0 -0
  163. /armodel/models/{m2/msr/documentation → M2/MSR/AsamHdo/Constraints}/__init__.py +0 -0
  164. /armodel/models/{system_template → M2/MSR/AsamHdo}/__init__.py +0 -0
  165. /armodel/models/{ecuc_parameter_def_template.py → M2/MSR/CalibrationData/__init__.py} +0 -0
  166. /armodel/models/{m2/autosar_templates/common_structure/constants.py → M2/MSR/DataDictionary/__init__.py} +0 -0
  167. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/LICENSE +0 -0
  168. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/WHEEL +0 -0
  169. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/entry_points.txt +0 -0
  170. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,17 @@
1
1
  import pytest
2
2
 
3
- from ....models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
4
- from ....models.general_structure import ARElement, ARObject, AtpFeature, CollectableElement, Identifiable, Limit, MultilanguageReferrable, PackageableElement, Referrable
3
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, PackageableElement
4
+
5
+ from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
6
+
7
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
8
+
9
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
10
+
11
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
+
13
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
14
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
5
15
 
6
16
  class TestGeneralStructure:
7
17
  def test_ar_object(self):
@@ -1,6 +1,7 @@
1
1
 
2
- from ....models.implementation import AutosarEngineeringObject, Code
3
- from ....models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
2
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.EngineeringObject import AutosarEngineeringObject
3
+ from ....models.M2.AUTOSARTemplates.CommonStructure.Implementation import Code
4
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
4
5
 
5
6
 
6
7
  class TestImplementation:
@@ -1,8 +1,10 @@
1
1
  import pytest
2
2
 
3
+ from ....models.M2.MSR.AsamHdo.ComputationMethod import Compu, CompuConst, CompuConstContent, CompuConstNumericContent, CompuConstTextContent, CompuContent, CompuScale
4
+
3
5
  from .... import AUTOSAR
4
- from ....models.general_structure import ARObject
5
- from ....models.m2_msr import Compu, CompuConst, CompuConstContent, CompuConstNumericContent, CompuConstTextContent, CompuContent, CompuScale, CompuScales
6
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
+ from ....models.M2.MSR.AsamHdo.ComputationMethod import CompuScales
6
8
 
7
9
  class Test_M2_MSR_AsamHdo_ComputationMethod:
8
10
  def test_CompuContent(self):
@@ -1,11 +1,21 @@
1
1
  import pytest
2
2
 
3
- from ....models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
4
- from ....models.ar_ref import RefType
5
- from ....models.m2.autosar_templates.sw_component_template.data_type.data_prototypes import AtpPrototype, AutosarDataPrototype, DataPrototype, VariableDataPrototype
6
- from ....models.datatype import AtpType
7
- from ....models.general_structure import ARElement, ARObject, AtpFeature, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, Referrable
8
- from ....models.m2.autosar_templates.sw_component_template.port_interface import ApplicationError, ArgumentDataPrototype, ClientServerInterface, ClientServerOperation, DataInterface, NvDataInterface, ParameterInterface, PortInterface, SenderReceiverInterface
3
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import PackageableElement
4
+
5
+ from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
6
+
7
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
8
+
9
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
10
+
11
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
+
13
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
14
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
15
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype, DataPrototype, VariableDataPrototype
16
+ from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
17
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
18
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ArgumentDataPrototype, ClientServerInterface, ClientServerOperation, DataInterface, NvDataInterface, ParameterInterface, PortInterface, SenderReceiverInterface
9
19
 
10
20
 
11
21
  class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
@@ -40,7 +50,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
40
50
  assert(isinstance(data_if, Referrable))
41
51
  assert(isinstance(data_if, NvDataInterface))
42
52
 
43
- assert(data_if._parent == ar_root)
53
+ assert(data_if.parent == ar_root)
44
54
  assert(data_if.short_name == "NvDataInterface")
45
55
 
46
56
  def test_ParameterInterface(self):
@@ -63,7 +73,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
63
73
  assert(isinstance(data_if, Referrable))
64
74
  assert(isinstance(data_if, ParameterInterface))
65
75
 
66
- assert(data_if._parent == ar_root)
76
+ assert(data_if.parent == ar_root)
67
77
  assert(data_if.short_name == "ParameterInterface")
68
78
 
69
79
  def test_SenderReceiverInterface(self):
@@ -87,7 +97,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
87
97
  assert(isinstance(sr_if, SenderReceiverInterface))
88
98
 
89
99
  assert(sr_if.short_name == "sr_if")
90
- assert(sr_if._parent == ar_root)
100
+ assert(sr_if.parent == ar_root)
91
101
  assert(len(sr_if.getDataElements()) == 0)
92
102
 
93
103
  element = sr_if.createDataElement("element")
@@ -117,7 +127,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
117
127
  assert(isinstance(prototype, Referrable))
118
128
  assert(isinstance(prototype, ArgumentDataPrototype))
119
129
 
120
- assert(prototype._parent == ar_root)
130
+ assert(prototype.parent == ar_root)
121
131
  assert(prototype.short_name == "ArgumentDataPrototype")
122
132
  assert(prototype.direction == "")
123
133
  assert(prototype.server_argument_impl_policy == "")
@@ -133,7 +143,7 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
133
143
  assert(isinstance(app_error, Referrable))
134
144
  assert(isinstance(app_error, ApplicationError))
135
145
 
136
- assert(app_error._parent == ar_root)
146
+ assert(app_error.parent == ar_root)
137
147
  assert(app_error.short_name == "ApplicationError")
138
148
 
139
149
  def test_ClientServerOperation(self):
@@ -1,6 +1,6 @@
1
1
  import pytest
2
2
 
3
- from ....models.port_prototype import PPortComSpec, RPortComSpec
3
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import PPortComSpec, RPortComSpec
4
4
 
5
5
  class Test_PortProtype:
6
6
  def test_PPortComSpec(self):
@@ -1,6 +1,6 @@
1
1
  import filecmp
2
2
 
3
- from ....models.m2.autosar_templates.generic_structure.ar_package import ARPackage
3
+ from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
4
4
 
5
5
  from .... import AUTOSAR
6
6
  from .... import ARXMLParser, ARXMLWriter
@@ -153,30 +153,30 @@ class TestBswMD:
153
153
  assert(artifact_descs[1].getShortLabel().getValue() == "make::BswM_rules.mak")
154
154
  assert(artifact_descs[1].getCategory().getValue() == "SWMAKE")
155
155
 
156
- assert(impl.programming_language.getValue() == "C")
156
+ assert(impl.programmingLanguage.getValue() == "C")
157
157
 
158
- assert(impl.resource_consumption.short_name == "ResourceConsumption")
159
- assert(len(impl.resource_consumption.getMemorySections()) == 8)
158
+ assert(impl.resourceConsumption.short_name == "ResourceConsumption")
159
+ assert(len(impl.resourceConsumption.getMemorySections()) == 8)
160
160
 
161
- section = impl.resource_consumption.getMemorySection("CODE")
161
+ section = impl.resourceConsumption.getMemorySection("CODE")
162
162
  assert(section.short_name == "CODE")
163
163
  assert(section.alignment == None)
164
164
  assert(section.swAddrMethodRef.dest == "SW-ADDR-METHOD")
165
165
  assert(section.swAddrMethodRef.value == "/AUTOSAR_MemMap/SwAddrMethods/CODE")
166
166
 
167
- section = impl.resource_consumption.getMemorySection("VAR_NO_INIT_UNSPECIFIED")
167
+ section = impl.resourceConsumption.getMemorySection("VAR_NO_INIT_UNSPECIFIED")
168
168
  assert(section.short_name == "VAR_NO_INIT_UNSPECIFIED")
169
169
  assert(section.alignment.getText() == "UNSPECIFIED")
170
170
  assert(section.swAddrMethodRef.dest == "SW-ADDR-METHOD")
171
171
  assert(section.swAddrMethodRef.value == "/AUTOSAR_MemMap/SwAddrMethods/VAR_NOINIT")
172
172
 
173
- assert(impl.vendor_id.getValue() == 1)
174
- assert(impl.sw_version.getValue() == "1.14.1")
175
- assert(impl.swc_bsw_mapping_ref.dest == "SWC-BSW-MAPPING")
176
- assert(impl.swc_bsw_mapping_ref.value == "/AUTOSAR_BswM/SwcBswMappings/SwcBswMapping_0")
177
- assert(impl.ar_release_version.getValue() == "4.0.3")
178
- assert(impl.behavior_ref.dest == "BSW-INTERNAL-BEHAVIOR")
179
- assert(impl.behavior_ref.value == "/AUTOSAR_BswM/BswModuleDescriptions/BswM/InternalBehavior_0")
173
+ assert(impl.vendorId.getValue() == 1)
174
+ assert(impl.swVersion.getValue() == "1.14.1")
175
+ assert(impl.swcBswMappingRef.dest == "SWC-BSW-MAPPING")
176
+ assert(impl.swcBswMappingRef.value == "/AUTOSAR_BswM/SwcBswMappings/SwcBswMapping_0")
177
+ assert(impl.arReleaseVersion.getValue() == "4.0.3")
178
+ assert(impl.behaviorRef.dest == "BSW-INTERNAL-BEHAVIOR")
179
+ assert(impl.behaviorRef.value == "/AUTOSAR_BswM/BswModuleDescriptions/BswM/InternalBehavior_0")
180
180
 
181
181
 
182
182
  def test_load_save(self):
@@ -1,8 +1,8 @@
1
1
  import filecmp
2
- from ....models.m2.autosar_templates.sw_component_template.composition import CompositionSwComponentType
2
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Components import CompositionSwComponentType
3
3
  from ....writer.arxml_writer import ARXMLWriter
4
4
  from ....parser.arxml_parser import ARXMLParser
5
- from ....models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
5
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
6
6
 
7
7
  class TestSWComponents:
8
8
  def setup_method(self):
@@ -0,0 +1,30 @@
1
+ import filecmp
2
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Components import CompositionSwComponentType
3
+ from ....writer.arxml_writer import ARXMLWriter
4
+ from ....parser.arxml_parser import ARXMLParser
5
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
6
+
7
+ class TestSystemTemplate:
8
+ def setup_method(self):
9
+ document = AUTOSAR.getInstance()
10
+ document.clear()
11
+ parser = ARXMLParser()
12
+ parser.load("src/armodel/tests/test_files/CanSystem.arxml", document)
13
+
14
+
15
+ def test_bswm_mode_arxml_loading_and_saving(self):
16
+ document = AUTOSAR.getInstance()
17
+ document.clear()
18
+ parser = ARXMLParser()
19
+ parser.load("src/armodel/tests/test_files/CanSystem.arxml", document)
20
+
21
+ writer = ARXMLWriter()
22
+ writer.save("data/generated_CanSystem.arxml", document)
23
+
24
+ #assert(filecmp.cmp("src/armodel/tests/test_files/CanSystem.arxml", "data/generated_CanSystem.arxml", shallow = False) == True)
25
+
26
+
27
+
28
+
29
+
30
+
@@ -7,9 +7,12 @@ from colorama import Fore
7
7
  import logging
8
8
  import xml.etree.cElementTree as ET
9
9
 
10
- from armodel.models.ar_ref import TRefType
10
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
11
11
 
12
- from ..models.ar_object import ARBoolean, ARFloat, ARLiteral, ARNumerical, ARObject
12
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, ARLiteral, ARNumerical
13
+ from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TRefType
14
+
15
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
13
16
 
14
17
  class AbstractARXMLWriter:
15
18
  __metaclass__ = ABCMeta
@@ -2,70 +2,93 @@ import xml.etree.cElementTree as ET
2
2
 
3
3
  from typing import List
4
4
 
5
- from armodel.models.m2.autosar_templates.common_structure.implementation_data_types import ImplementationDataType
6
-
7
-
8
-
9
- from ..models.m2.msr.data_dictionary.auxillary_objects import SwAddrMethod
10
- from ..models.m2.msr.data_dictionary.data_def_properties import SwDataDefProps
11
- from ..models.m2.msr.asam_hdo.units import PhysicalDimension
12
- from ..models.m2.msr.documentation.block_elements import DocumentationBlock
13
- from ..models.m2_msr import CompuConstTextContent, CompuMethod, CompuNominatorDenominator, CompuScale, CompuScaleConstantContents, CompuScaleRationalFormula, CompuScales
14
-
15
- from ..models.m2.autosar_templates.common_structure import ApplicationValueSpecification, ArrayValueSpecification, ConstantReference, ConstantSpecification, NumericalValueSpecification, RecordValueSpecification, TextValueSpecification, ValueSpecification
16
- from ..models.m2.autosar_templates.ecuc_description_template import EcucAbstractReferenceValue, EcucContainerValue, EcucInstanceReferenceValue, EcucModuleConfigurationValues, EcucNumericalParamValue, EcucParameterValue, EcucReferenceValue, EcucTextualParamValue, EcucValueCollection
17
- from ..models.m2.autosar_templates.generic_structure.abstract_structure import AnyInstanceRef
18
- from ..models.m2.autosar_templates.sw_component_template.components import PortGroup, SwComponentType, PPortPrototype, PortPrototype, RPortPrototype
19
- from ..models.m2.autosar_templates.sw_component_template.components.instance_refs import InnerPortGroupInCompositionInstanceRef, PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef, RModeInAtomicSwcInstanceRef, RVariableInAtomicSwcInstanceRef
20
- from ..models.m2.autosar_templates.sw_component_template.swc_internal_behavior import RunnableEntityArgument, SynchronousServerCallPoint
21
- from ..models.m2.autosar_templates.sw_component_template.swc_internal_behavior.server_call import ServerCallPoint
22
- from ..models.m2.autosar_templates.sw_component_template.swc_internal_behavior.data_elements import ParameterAccess, VariableAccess
23
- from ..models.m2.autosar_templates.sw_component_template.composition import AssemblySwConnector, CompositionSwComponentType, DelegationSwConnector, SwComponentPrototype, SwConnector
24
- from ..models.m2.autosar_templates.sw_component_template.composition.instance_refs import POperationInAtomicSwcInstanceRef, PPortInCompositionInstanceRef, ROperationInAtomicSwcInstanceRef, RPortInCompositionInstanceRef
25
- from ..models.m2.autosar_templates.sw_component_template.port_interface.instance_refs import ApplicationCompositeElementInPortInterfaceInstanceRef
26
- from ..models.m2.autosar_templates.sw_component_template.swc_internal_behavior.instance_refs_usage import AutosarParameterRef, AutosarVariableRef, VariableInAtomicSWCTypeInstanceRef
27
- from ..models.m2.autosar_templates.system_template.instance_refs import VariableDataPrototypeInSystemInstanceRef
28
- from ..models.m2.autosar_templates.sw_component_template.components.instance_refs import PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef
29
- from ..models.m2.autosar_templates.system_template.data_mapping import SenderReceiverToSignalGroupMapping, SenderReceiverToSignalMapping
30
- from ..models.m2.autosar_templates.system_template import System, SystemMapping
31
- from ..models.m2.autosar_templates.system_template.network_management import CanNmCluster, CanNmClusterCoupling, CanNmNode, NmCluster, NmConfig, NmNode
32
- from ..models.m2.autosar_templates.system_template.transport_protocols import CanTpConfig
33
- from ..models.m2.autosar_templates.sw_component_template.communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec, NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec, ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec, RPortComSpec, ReceiverComSpec, SenderComSpec, ServerComSpec
34
-
35
- from ..models.fibex.fibex_4_multiplatform import Gateway, ISignalMapping
36
- from ..models.fibex.can_communication import CanFrame, CanFrameTriggering, RxIdentifierRange
37
- from ..models.fibex.fibex_core.core_communication import FrameTriggering, IPdu, ISignalGroup, ISignalIPdu, ISignalIPduGroup, ISignalTriggering, PduTriggering, SecuredIPdu, SystemSignal, DcmIPdu, Frame, ISignal, NPdu, NmPdu, SystemSignalGroup
38
- from ..models.fibex.lin_communication import LinFrameTriggering, LinUnconditionalFrame
39
- from ..models.fibex.fibex_core.core_topology import AbstractCanCluster, CanCluster, EcuInstance, CanPhysicalChannel, CommunicationCluster, LinCluster, LinPhysicalChannel, PhysicalChannel
40
-
41
- from ..models.internal_behavior import IncludedDataTypeSet, InternalBehavior
42
- from ..models.timing import EOCExecutableEntityRef, ExecutionOrderConstraint, SwcTiming, TimingExtension
43
- from ..models.data_def_properties import ValueList
44
- from ..models.multilanguage_data import MultiLanguageOverviewParagraph, MultiLanguageParagraph, MultilanguageLongName
45
- from ..models.record_layout import SwRecordLayout, SwRecordLayoutGroup, SwRecordLayoutV
46
- from ..models.service_mapping import RoleBasedPortAssignment
47
- from ..models.service_needs import NvBlockNeeds, RoleBasedDataAssignment
48
- from ..models.m2.autosar_templates.sw_component_template.data_type.data_prototypes import ApplicationArrayElement, ApplicationCompositeElementDataPrototype, ApplicationRecordElement, AutosarDataPrototype, DataPrototype, ParameterDataPrototype, VariableDataPrototype
49
- from ..models.bsw_module_template import BswCalledEntity, BswEvent, BswInternalBehavior, BswModeSenderPolicy, BswModuleDescription, BswModuleEntity, BswModuleEntry, BswSchedulableEntity, BswScheduleEvent, BswTimingEvent
50
- from ..models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
51
- from ..models.sw_component import ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, DataReceivedEvent, EcuAbstractionSwComponentType, InitEvent, InternalTriggerOccurredEvent, OperationInvokedEvent, PortAPIOption, RTEEvent, ServiceDependency, ServiceSwComponentType, SwcModeSwitchEvent, SwcServiceDependency
52
- from ..models.m2.autosar_templates.generic_structure.ar_package import ARPackage
53
- from ..models.ar_ref import RefType
54
- from ..models.calibration import SwAxisGrouped, SwAxisIndividual, SwCalprmAxis, SwCalprmAxisSet, SwValueCont, SwValues
55
- from ..models.common_structure import IncludedModeDeclarationGroupSet, ModeDeclaration, ModeDeclarationGroup, ModeDeclarationGroupPrototype
56
- from ..models.communication import CompositeNetworkRepresentation, TransmissionAcknowledgementRequest
57
- from ..models.datatype import ApplicationArrayDataType, ApplicationCompositeDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType, AutosarDataType, BaseTypeDirectDefinition, DataTypeMappingSet, SwBaseType
58
- from ..models.general_structure import ARElement, AdminData, Identifiable, Limit, MultilanguageReferrable, Referrable, Sdg, SwcBswMapping, SwcBswRunnableMapping
59
-
60
- from ..models.annotation import Annotation
61
- from ..models.end_to_end_protection import EndToEndDescription, EndToEndProtection, EndToEndProtectionSet, EndToEndProtectionVariablePrototype
62
- from ..models.m2.autosar_templates.sw_component_template.port_interface import ApplicationError, ClientServerInterface, ClientServerOperation, ModeSwitchInterface, PortInterface, SenderReceiverInterface, TriggerInterface
63
- from ..models.m2.msr.asam_hdo.units import Unit
64
- from ..models.implementation import AutosarEngineeringObject, BswImplementation, Code, EngineeringObject, Implementation, SwcImplementation
65
- from ..models.common_structure import ExecutableEntity, ResourceConsumption
66
- from ..models.sw_component import RunnableEntity, SwcInternalBehavior, TimingEvent
67
- from ..models.ar_object import ARLiteral
68
- from ..models.global_constraints import DataConstr, InternalConstrs, PhysConstrs
5
+ from ..models.M2.MSR.DataDictionary.RecordLayout import SwRecordLayoutGroup, SwRecordLayoutV
6
+ from ..models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import InternalConstrs, PhysConstrs
7
+ from ..models.M2.MSR.DataDictionary.CalibrationParameter import SwCalprmAxis
8
+ from ..models.M2.MSR.DataDictionary.Axis import SwAxisGrouped, SwAxisIndividual
9
+ from ..models.M2.MSR.CalibrationData.CalibrationValue import SwValueCont, SwValues
10
+ from ..models.M2.MSR.AsamHdo.BaseTypes import BaseTypeDirectDefinition, SwBaseType
11
+ from ..models.M2.MSR.AsamHdo.SpecialData import Sdg
12
+ from ..models.M2.MSR.AsamHdo.AdminData import AdminData
13
+ from ..models.M2.MSR.AsamHdo.ComputationMethod import CompuConstTextContent, CompuNominatorDenominator, CompuScale, CompuScaleConstantContents, CompuScaleRationalFormula, CompuScales
14
+ from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph, MultiLanguageParagraph
15
+ from ..models.M2.MSR.DataDictionary.AuxillaryObjects import SwAddrMethod
16
+ from ..models.M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
17
+ from ..models.M2.MSR.AsamHdo.Units import PhysicalDimension
18
+ from ..models.M2.MSR.Documentation.BlockElements import DocumentationBlock
19
+ from ..models.M2.MSR.AsamHdo.ComputationMethod import CompuMethod
20
+ from ..models.M2.MSR.DataDictionary.DataDefProperties import ValueList
21
+ from ..models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
22
+ from ..models.M2.MSR.DataDictionary.RecordLayout import SwRecordLayout
23
+ from ..models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstr
24
+ from ..models.M2.MSR.AsamHdo.Units import Unit
25
+ from ..models.M2.MSR.Documentation.Annotation import Annotation
26
+
27
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortAPIOption
28
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
29
+ from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import TimingExtension
30
+ from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.ExecutionOrderConstraint import EOCExecutableEntityRef, ExecutionOrderConstraint
31
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetFrame import GenericEthernetFrame
32
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
33
+ from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
34
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationCompositeDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType, AutosarDataType
35
+ from ..models.M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping, SwcBswRunnableMapping
36
+ from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
37
+ from ..models.M2.AUTOSARTemplates.CommonStructure.Implementation import Code, Implementation
38
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndDescription, EndToEndProtection, EndToEndProtectionVariablePrototype
39
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import RoleBasedDataAssignment, ServiceDependency
40
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.EngineeringObject import AutosarEngineeringObject, EngineeringObject
41
+ from ..models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
42
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclaration, ModeDeclarationGroup
43
+ from ..models.M2.AUTOSARTemplates.CommonStructure.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
44
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, TransmissionAcknowledgementRequest
45
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable, MultilanguageReferrable, Referrable
46
+ from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswCalledEntity, BswEvent, BswInternalBehavior, BswModeSenderPolicy, BswModuleEntity, BswSchedulableEntity, BswScheduleEvent, BswTimingEvent
47
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
48
+ from ..models.M2.AUTOSARTemplates.CommonStructure import ApplicationValueSpecification, ArrayValueSpecification, ConstantReference, ConstantSpecification, NumericalValueSpecification, RecordValueSpecification, TextValueSpecification, ValueSpecification
49
+ from ..models.M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucAbstractReferenceValue, EcucContainerValue, EcucInstanceReferenceValue, EcucModuleConfigurationValues, EcucNumericalParamValue, EcucParameterValue, EcucReferenceValue, EcucTextualParamValue, EcucValueCollection
50
+ from ..models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AnyInstanceRef
51
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, CompositionSwComponentType, EcuAbstractionSwComponentType, PortGroup, SwComponentType, PPortPrototype, PortPrototype, RPortPrototype
52
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import InnerPortGroupInCompositionInstanceRef, PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef, RModeInAtomicSwcInstanceRef, RVariableInAtomicSwcInstanceRef
53
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import RunnableEntity, RunnableEntityArgument, SwcInternalBehavior, SynchronousServerCallPoint
54
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServerCall import ServerCallPoint
55
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
56
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition import AssemblySwConnector, DelegationSwConnector, SwComponentPrototype, SwConnector
57
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import POperationInAtomicSwcInstanceRef, PPortInCompositionInstanceRef, ROperationInAtomicSwcInstanceRef, RPortInCompositionInstanceRef
58
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
59
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, AutosarVariableRef, VariableInAtomicSWCTypeInstanceRef
60
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec, NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec, ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec, RPortComSpec, ReceiverComSpec, SenderComSpec, ServerComSpec
61
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef
62
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.DataMapping import SenderReceiverToSignalGroupMapping, SenderReceiverToSignalMapping
63
+ from ..models.M2.AUTOSARTemplates.SystemTemplate import System, SystemMapping
64
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import CanNmCluster, CanNmClusterCoupling, CanNmNode, NmCluster, NmConfig, NmNode
65
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig
66
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import VariableDataPrototypeInSystemInstanceRef
67
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Multiplatform import Gateway, ISignalMapping
68
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrame, CanFrameTriggering, RxIdentifierRange
69
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FrameTriggering, IPdu, ISignalGroup, ISignalIPdu, ISignalIPduGroup, ISignalTriggering, PduTriggering, SecuredIPdu, SystemSignal, DcmIPdu, Frame, ISignal, NPdu, NmPdu, SystemSignalGroup
70
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinFrameTriggering, LinUnconditionalFrame
71
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import AbstractCanCluster, CanCluster, EcuInstance, CanPhysicalChannel, CommunicationCluster, LinCluster, LinPhysicalChannel, PhysicalChannel
72
+ from ..models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
73
+ from ..models.M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
74
+
75
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import RoleBasedPortAssignment, SwcServiceDependency
76
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import NvBlockNeeds
77
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationArrayElement, ApplicationCompositeElementDataPrototype, ApplicationRecordElement, AutosarDataPrototype, DataPrototype, ParameterDataPrototype, VariableDataPrototype
78
+ from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
79
+ from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
80
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import ServiceSwComponentType
81
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
82
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
83
+ from ..models.M2.MSR.DataDictionary.CalibrationParameter import SwCalprmAxisSet
84
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype
85
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
86
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
87
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
88
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ClientServerInterface, ClientServerOperation, ModeSwitchInterface, ParameterInterface, PortInterface, SenderReceiverInterface, TriggerInterface
89
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
90
+ from ..models.M2.AUTOSARTemplates.CommonStructure.ResourceConsumption import ResourceConsumption
91
+ from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
69
92
 
70
93
  from .abstract_arxml_writer import AbstractARXMLWriter
71
94
  class ARXMLWriter(AbstractARXMLWriter):
@@ -678,10 +701,10 @@ class ARXMLWriter(AbstractARXMLWriter):
678
701
  raise NotImplementedError("Unsupported ApplicationDataType <%s>" % type(data_type))
679
702
 
680
703
  def writeBaseTypeDirectDefinition(self, element: ET.Element, base_type_definition: BaseTypeDirectDefinition):
681
- self.setChildElementOptionalNumericalValue(element, "BASE-TYPE-SIZE", base_type_definition.base_type_size)
682
- self.setChildElementOptionalLiteral(element, "BASE-TYPE-ENCODING", base_type_definition.base_type_encoding)
683
- self.setChildElementOptionalNumericalValue(element, "MEM-ALIGNMENT", base_type_definition.mem_alignment)
684
- self.setChildElementOptionalLiteral(element, "NATIVE-DECLARATION", base_type_definition.native_declaration)
704
+ self.setChildElementOptionalNumericalValue(element, "BASE-TYPE-SIZE", base_type_definition.baseTypeSize)
705
+ self.setChildElementOptionalLiteral(element, "BASE-TYPE-ENCODING", base_type_definition.baseTypeEncoding)
706
+ self.setChildElementOptionalNumericalValue(element, "MEM-ALIGNMENT", base_type_definition.memAlignment)
707
+ self.setChildElementOptionalLiteral(element, "NATIVE-DECLARATION", base_type_definition.nativeDeclaration)
685
708
 
686
709
  def writeSwBaseType(self, element: ET.Element, base_type: SwBaseType):
687
710
  data_type_tag = ET.SubElement(element, "SW-BASE-TYPE")
@@ -836,7 +859,7 @@ class ARXMLWriter(AbstractARXMLWriter):
836
859
  child_element = ET.SubElement(element, "DISABLED-MODE-IREFS")
837
860
  for iref in irefs:
838
861
  self.setRModeInAtomicSwcInstanceRef(child_element, "DISABLED-MODE-IREF", iref)
839
- self.setChildElementOptionalRefType(element, "START-ON-EVENT-REF", event.start_on_event_ref)
862
+ self.setChildElementOptionalRefType(element, "START-ON-EVENT-REF", event.startOnEventRef)
840
863
 
841
864
  def setTimingEvent(self, element: ET.Element, event: TimingEvent):
842
865
  if event is not None:
@@ -848,7 +871,7 @@ class ARXMLWriter(AbstractARXMLWriter):
848
871
  if event is not None:
849
872
  child_element = ET.SubElement(element, "OPERATION-INVOKED-EVENT")
850
873
  self.setRTEEvent(child_element, event)
851
- self.setPOperationInAtomicSwcInstanceRef(child_element, "OPERATION-IREF", event.operation_iref)
874
+ self.setPOperationInAtomicSwcInstanceRef(child_element, "OPERATION-IREF", event.operationIRef)
852
875
 
853
876
  def setSwcModeSwitchEvent(self, element: ET.Element, event: SwcModeSwitchEvent):
854
877
  if event is not None:
@@ -1141,7 +1164,7 @@ class ARXMLWriter(AbstractARXMLWriter):
1141
1164
  if argument_value.value is not None:
1142
1165
  value_tag = ET.SubElement(child_element, "VALUE")
1143
1166
  self.setValueSpecification(value_tag, argument_value.value)
1144
- self.setChildElementOptionalRefType(child_element, "VALUE-TYPE-TREF", argument_value.value_type)
1167
+ self.setChildElementOptionalRefType(child_element, "VALUE-TYPE-TREF", argument_value.valueTypeTRef)
1145
1168
 
1146
1169
  def writePortAPIOptions(self, element: ET.Element, behavior: SwcInternalBehavior):
1147
1170
  options = behavior.getPortAPIOptions()
@@ -1149,10 +1172,10 @@ class ARXMLWriter(AbstractARXMLWriter):
1149
1172
  port_api_options_tag = ET.SubElement(element, "PORT-API-OPTIONS")
1150
1173
  for option in options:
1151
1174
  child_element = ET.SubElement(port_api_options_tag, "PORT-API-OPTION")
1152
- self.setChildElementOptionalBooleanValue(child_element, "ENABLE-TAKE-ADDRESS", option.enable_take_address)
1153
- self.setChildElementOptionalBooleanValue(child_element, "INDIRECT-API", option.indirect_api)
1175
+ self.setChildElementOptionalBooleanValue(child_element, "ENABLE-TAKE-ADDRESS", option.enableTakeAddress)
1176
+ self.setChildElementOptionalBooleanValue(child_element, "INDIRECT-API", option.indirectAPI)
1154
1177
  self.writePortDefinedArgumentValues(child_element, option)
1155
- self.setChildElementOptionalRefType(child_element, "PORT-REF", option.port_ref)
1178
+ self.setChildElementOptionalRefType(child_element, "PORT-REF", option.portRef)
1156
1179
 
1157
1180
  def writeServiceDependency(self, element: ET.Element, dependency: ServiceDependency):
1158
1181
  self.setIdentifiable(element, dependency)
@@ -1165,7 +1188,7 @@ class ARXMLWriter(AbstractARXMLWriter):
1165
1188
 
1166
1189
  def writeRoleBasedPortAssignment(self, element: ET.Element, assignment: RoleBasedPortAssignment):
1167
1190
  child_element = ET.SubElement(element, "ROLE-BASED-PORT-ASSIGNMENT")
1168
- self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", assignment.port_prototype_ref)
1191
+ self.setChildElementOptionalRefType(child_element, "PORT-PROTOTYPE-REF", assignment.portPrototypeRef)
1169
1192
  self.setChildElementOptionalLiteral(child_element, "ROLE", assignment.role)
1170
1193
 
1171
1194
  def writeSwcServiceDependencyAssignedData(self, element: ET.Element, dependency: SwcServiceDependency):
@@ -1333,18 +1356,18 @@ class ARXMLWriter(AbstractARXMLWriter):
1333
1356
  def writeImplementation(self, element: ET.Element, impl: Implementation):
1334
1357
  self.setIdentifiable(element, impl)
1335
1358
  self.writeCodeDescriptors(element, impl)
1336
- self.setChildElementOptionalLiteral(element, "PROGRAMMING-LANGUAGE", impl.programming_language)
1359
+ self.setChildElementOptionalLiteral(element, "PROGRAMMING-LANGUAGE", impl.getProgrammingLanguage())
1337
1360
  self.setResourceConsumption(element, impl.getResourceConsumption())
1338
- self.setChildElementOptionalLiteral(element, "SW-VERSION", impl.sw_version)
1339
- self.setChildElementOptionalRefType(element, "SWC-BSW-MAPPING-REF", impl.swc_bsw_mapping_ref)
1340
- self.setChildElementOptionalLiteral(element, "USED-CODE-GENERATOR", impl.used_code_generator)
1341
- self.setChildElementOptionalNumericalValue(element, "VENDOR-ID", impl.vendor_id)
1361
+ self.setChildElementOptionalLiteral(element, "SW-VERSION", impl.getSwVersion())
1362
+ self.setChildElementOptionalRefType(element, "SWC-BSW-MAPPING-REF", impl.getSwcBswMappingRef())
1363
+ self.setChildElementOptionalLiteral(element, "USED-CODE-GENERATOR", impl.getUsedCodeGenerator())
1364
+ self.setChildElementOptionalNumericalValue(element, "VENDOR-ID", impl.getVendorId())
1342
1365
 
1343
1366
  def writeSwcImplementation(self, element: ET.Element, impl: SwcImplementation):
1344
1367
  self.logger.debug("writeSwcImplementation %s" % impl.short_name)
1345
1368
  child_element = ET.SubElement(element, "SWC-IMPLEMENTATION")
1346
1369
  self.writeImplementation(child_element, impl)
1347
- self.setChildElementOptionalRefType(child_element, "BEHAVIOR-REF", impl.behavior_ref)
1370
+ self.setChildElementOptionalRefType(child_element, "BEHAVIOR-REF", impl.getBehaviorRef())
1348
1371
 
1349
1372
  def writeEndToEndDescriptionDataId(self, element: ET.Element, parent: EndToEndDescription):
1350
1373
  data_ids = parent.getDataIds()
@@ -1358,18 +1381,18 @@ class ARXMLWriter(AbstractARXMLWriter):
1358
1381
  child_element = ET.SubElement(element, key)
1359
1382
  self.setChildElementOptionalLiteral(child_element, "CATEGORY", desc.category)
1360
1383
  self.writeEndToEndDescriptionDataId(child_element, desc)
1361
- self.setChildElementOptionalNumericalValue(child_element, "DATA-ID-MODE", desc.dataIdMode)
1362
- self.setChildElementOptionalNumericalValue(child_element, "MAX-DELTA-COUNTER-INIT", desc.maxDeltaCounterInit)
1363
- self.setChildElementOptionalNumericalValue(child_element, "CRC-OFFSET", desc.crcOffset)
1364
- self.setChildElementOptionalNumericalValue(child_element, "COUNTER-OFFSET", desc.counterOffset)
1384
+ self.setChildElementOptionalNumericalValue(child_element, "DATA-ID-MODE", desc.getDataIdMode())
1385
+ self.setChildElementOptionalNumericalValue(child_element, "MAX-DELTA-COUNTER-INIT", desc.getMaxDeltaCounterInit())
1386
+ self.setChildElementOptionalNumericalValue(child_element, "CRC-OFFSET", desc.getCrcOffset())
1387
+ self.setChildElementOptionalNumericalValue(child_element, "COUNTER-OFFSET", desc.getCounterOffset())
1365
1388
 
1366
1389
  def setVariableDataPrototypeInSystemInstanceRef(self, element: ET.Element, key: str, iref: VariableDataPrototypeInSystemInstanceRef):
1367
1390
  if iref is not None:
1368
1391
  child_element = ET.SubElement(element, key)
1369
- self.setChildElementOptionalRefType(child_element, "CONTEXT-COMPONENT-REF", iref.context_component_refs)
1370
- self.setChildElementOptionalRefType(child_element, "CONTEXT-COMPOSITION-REF", iref.context_composition_ref)
1371
- self.setChildElementOptionalRefType(child_element, "CONTEXT-PORT-REF", iref.context_port_ref)
1372
- self.setChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF", iref.target_data_prototype_ref)
1392
+ #self.setChildElementOptionalRefType(child_element, "CONTEXT-COMPONENT-REF", iref.getContextComponentRefs()) # TODO
1393
+ self.setChildElementOptionalRefType(child_element, "CONTEXT-COMPOSITION-REF", iref.getContextCompositionRef())
1394
+ self.setChildElementOptionalRefType(child_element, "CONTEXT-PORT-REF", iref.getContextPortRef())
1395
+ self.setChildElementOptionalRefType(child_element, "TARGET-DATA-PROTOTYPE-REF", iref.getTargetDataPrototypeRef())
1373
1396
 
1374
1397
  def setEndToEndProtectionVariablePrototype(self, element: ET.Element, key: str, prototype: EndToEndProtectionVariablePrototype):
1375
1398
  if prototype is not None:
@@ -1667,8 +1690,8 @@ class ARXMLWriter(AbstractARXMLWriter):
1667
1690
  self.logger.debug("writeBswModuleDescription %s" % impl.short_name)
1668
1691
  child_element = ET.SubElement(element, "BSW-IMPLEMENTATION")
1669
1692
  self.writeImplementation(child_element, impl)
1670
- self.setChildElementOptionalLiteral(child_element, "AR-RELEASE-VERSION", impl.ar_release_version)
1671
- self.setChildElementOptionalRefType(child_element, "BEHAVIOR-REF", impl.behavior_ref)
1693
+ self.setChildElementOptionalLiteral(child_element, "AR-RELEASE-VERSION", impl.getArReleaseVersion())
1694
+ self.setChildElementOptionalRefType(child_element, "BEHAVIOR-REF", impl.getBehaviorRef())
1672
1695
  self.writeBswImplementationVendorSpecificModuleDefRefs(child_element, impl)
1673
1696
 
1674
1697
  def writeImplementationDataTypeElements(self, element: ET.Element, parent: ImplementationDataType):
@@ -2490,6 +2513,16 @@ class ARXMLWriter(AbstractARXMLWriter):
2490
2513
  self.setIdentifiable(child_element, signal)
2491
2514
  self.setChildElementOptionalBooleanValue(child_element, "DYNAMIC-LENGTH", signal.getDynamicLength())
2492
2515
 
2516
+ def writeParameterInterface(self, element: ET.Element, signal: SystemSignal):
2517
+ self.logger.debug("Write ParameterInterface %s" % signal.short_name)
2518
+ child_element = ET.SubElement(element, "PARAMETER-INTERFACE")
2519
+ self.setIdentifiable(child_element, signal)
2520
+
2521
+ def writeGenericEthernetFrame(self, element: ET.Element, signal: SystemSignal):
2522
+ self.logger.debug("Write GenericEthernetFrame %s" % signal.short_name)
2523
+ child_element = ET.SubElement(element, "ETHERNET-FRAME")
2524
+ self.writeFrame(child_element, signal)
2525
+
2493
2526
  def writeISignalToPduMappings(self, element: ET.Element, parent: ISignalIPdu):
2494
2527
  mappings = parent.getISignalToPduMappings()
2495
2528
  if len(mappings) > 0:
@@ -2595,6 +2628,18 @@ class ARXMLWriter(AbstractARXMLWriter):
2595
2628
  self.writeGateway(element, ar_element)
2596
2629
  elif isinstance(ar_element, ISignal):
2597
2630
  self.writeISignal(element, ar_element)
2631
+ elif isinstance(ar_element, System):
2632
+ self.writeSystem(element, ar_element)
2633
+ elif isinstance(ar_element, EcuInstance):
2634
+ self.writeEcuInstance(element, ar_element)
2635
+ elif isinstance(ar_element, ISignalIPdu):
2636
+ self.writeISignalIPdu(element, ar_element)
2637
+ elif isinstance(ar_element, SystemSignal):
2638
+ self.writeSystemSignal(element, ar_element)
2639
+ elif isinstance(ar_element, ParameterInterface):
2640
+ self.writeParameterInterface(element, ar_element)
2641
+ elif isinstance(ar_element, GenericEthernetFrame):
2642
+ self.writeGenericEthernetFrame(element, ar_element)
2598
2643
  else:
2599
2644
  raise NotImplementedError("Unsupported Elements of ARPackage <%s>" % type(ar_element))
2600
2645
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: armodel
3
- Version: 1.6.2
3
+ Version: 1.6.4
4
4
  Summary: the python arxml parser
5
5
  Home-page: http://github.com/melodypapa/py-armodel
6
6
  Author: melodypapa
@@ -354,3 +354,18 @@ Fix the attribute intervalType of **Limit** is empty issue.
354
354
  1. Organize the armodel package.
355
355
  2. Add the Get/Set method for several class.
356
356
 
357
+ **Version 1.6.2**
358
+
359
+ 1. Change the AUTOSAR.clear() to AUTOSAR.new().
360
+ 2. Fix the several refactor methods issue.
361
+
362
+ **Version 1.6.3**
363
+
364
+ 1. Change the Package structure according to AUTOSAR standard.
365
+
366
+ **Version 1.6.4**
367
+
368
+ 1. Refactor the Implementation.
369
+ 2. Fix the Binary value
370
+ 3. Refactor the SwComponentType.
371
+