armodel 1.6.2__py3-none-any.whl → 1.6.3__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 (157) hide show
  1. armodel/cli/arxml_dump_cli.py +10 -7
  2. armodel/cli/arxml_format_cli.py +1 -1
  3. armodel/cli/connector_update_cli.py +1 -1
  4. armodel/lib/sw_component.py +1 -1
  5. armodel/lib/system_signal.py +2 -2
  6. armodel/models/{m2/autosar_templates/autosar_top_level_structure.py → M2/AUTOSARTemplates/AutosarTopLevelStructure.py} +7 -4
  7. armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +115 -140
  8. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +21 -0
  9. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
  10. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +78 -0
  11. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +1 -0
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +81 -0
  13. armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +9 -5
  14. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +108 -0
  15. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +72 -0
  17. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +22 -0
  18. armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +7 -7
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +36 -0
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +27 -0
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +1 -0
  22. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
  23. armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +5 -2
  24. armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -2
  25. armodel/models/{m2/autosar_templates/generic_structure/ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +29 -21
  26. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +16 -0
  27. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +1 -0
  28. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +55 -0
  29. armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +37 -149
  30. armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +163 -70
  31. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +1 -0
  32. armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py +1 -0
  33. armodel/models/{m2/autosar_templates/sw_component_template/communication.py → M2/AUTOSARTemplates/SWComponentTemplate/Communication.py} +22 -5
  34. armodel/models/{m2/autosar_templates/sw_component_template/components/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py} +2 -2
  35. armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +10 -8
  36. armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -2
  37. armodel/models/{m2/autosar_templates/sw_component_template/composition → M2/AUTOSARTemplates/SWComponentTemplate/Composition}/__init__.py +5 -5
  38. armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +25 -7
  39. armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -73
  40. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +1 -0
  41. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
  42. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +11 -0
  43. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py} +2 -2
  44. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py} +7 -5
  45. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +24 -0
  46. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py} +3 -3
  47. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py} +3 -3
  48. armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
  49. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -3
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +23 -0
  51. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py} +2 -2
  52. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior}/__init__.py +9 -10
  53. armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/__init__.py +10 -6
  54. armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/instance_refs.py +2 -2
  55. armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
  56. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +4 -2
  57. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/data_mapping.py +2 -2
  58. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/network_management.py +7 -3
  59. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/transport_protocols.py +1 -1
  60. armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/ecuc_description_template.py +10 -6
  61. armodel/models/M2/MSR/AsamHdo/AdminData.py +21 -0
  62. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
  63. armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +44 -28
  64. armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +7 -4
  65. armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +1 -0
  66. armodel/models/M2/MSR/AsamHdo/SpecialData.py +63 -0
  67. armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +6 -3
  68. armodel/models/M2/MSR/AsamHdo/__init__.py +1 -0
  69. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +30 -0
  70. armodel/models/M2/MSR/CalibrationData/__init__.py +1 -0
  71. armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +4 -2
  72. armodel/models/M2/MSR/DataDictionary/Axis.py +145 -0
  73. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +37 -0
  74. armodel/models/{m2/msr/data_dictionary/data_def_properties.py → M2/MSR/DataDictionary/DataDefProperties.py} +19 -9
  75. armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
  76. armodel/models/M2/MSR/DataDictionary/__init__.py +1 -0
  77. armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -8
  78. armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
  79. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +17 -0
  80. armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +21 -30
  81. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +2 -0
  82. armodel/models/M2/MSR/Documentation/__init__.py +3 -0
  83. armodel/models/M2/MSR/__init__.py +1 -0
  84. armodel/models/M2/__init__.py +1 -0
  85. armodel/models/__init__.py +6 -23
  86. armodel/models/fibex/can_communication.py +3 -2
  87. armodel/models/fibex/fibex_4_multiplatform.py +5 -3
  88. armodel/models/fibex/fibex_core/core_communication.py +9 -3
  89. armodel/models/fibex/fibex_core/core_topology.py +7 -3
  90. armodel/models/fibex/lin_communication.py +5 -1
  91. armodel/models/rpt_scenario.py +2 -2
  92. armodel/models/sw_component.py +19 -14
  93. armodel/models/timing.py +3 -3
  94. armodel/parser/abstract_arxml_parser.py +8 -4
  95. armodel/parser/arxml_parser.py +85 -62
  96. armodel/parser/connector_xlsx_parser.py +5 -3
  97. armodel/report/connector_xls_report.py +1 -1
  98. armodel/tests/test_armodel/models/test_ar_object.py +2 -1
  99. armodel/tests/test_armodel/models/test_ar_package.py +20 -8
  100. armodel/tests/test_armodel/models/test_ar_ref.py +7 -5
  101. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -1
  102. armodel/tests/test_armodel/models/test_common_structure.py +11 -5
  103. armodel/tests/test_armodel/models/test_data_dictionary.py +2 -2
  104. armodel/tests/test_armodel/models/test_data_prototype.py +7 -3
  105. armodel/tests/test_armodel/models/test_datatype.py +21 -7
  106. armodel/tests/test_armodel/models/test_general_structure.py +12 -2
  107. armodel/tests/test_armodel/models/test_implementation.py +3 -2
  108. armodel/tests/test_armodel/models/test_m2_msr.py +4 -2
  109. armodel/tests/test_armodel/models/test_port_interface.py +16 -6
  110. armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
  111. armodel/tests/test_armodel/parser/test_parse_bswmd.py +1 -1
  112. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  113. armodel/tests/test_armodel/parser/test_system.py +30 -0
  114. armodel/writer/abstract_arxml_writer.py +5 -2
  115. armodel/writer/arxml_writer.py +100 -67
  116. {armodel-1.6.2.dist-info → armodel-1.6.3.dist-info}/METADATA +366 -356
  117. armodel-1.6.3.dist-info/RECORD +148 -0
  118. {armodel-1.6.2.dist-info → armodel-1.6.3.dist-info}/WHEEL +1 -1
  119. armodel/lib/data_analyzer.py +0 -34
  120. armodel/models/ar_package.py +0 -641
  121. armodel/models/ar_ref.py +0 -25
  122. armodel/models/calibration.py +0 -119
  123. armodel/models/common_structure.py +0 -272
  124. armodel/models/communication.py +0 -17
  125. armodel/models/data_def_properties.py +0 -16
  126. armodel/models/data_dictionary.py +0 -59
  127. armodel/models/data_prototype.py +0 -103
  128. armodel/models/ecuc_parameter_def_template.py +0 -0
  129. armodel/models/end_to_end_protection.py +0 -67
  130. armodel/models/fibex/fibex_core.py +0 -341
  131. armodel/models/fibex/lin_topology.py +0 -7
  132. armodel/models/implementation.py +0 -135
  133. armodel/models/internal_behavior.py +0 -63
  134. armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
  135. armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
  136. armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
  137. armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
  138. armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
  139. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
  140. armodel/models/m2/msr/__init__.py +0 -0
  141. armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
  142. armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
  143. armodel/models/m2/msr/documentation/__init__.py +0 -0
  144. armodel/models/mode_declaration.py +0 -8
  145. armodel/models/port_interface.py +0 -165
  146. armodel/models/port_prototype.py +0 -6
  147. armodel/models/service_mapping.py +0 -11
  148. armodel/models/system_template/__init__.py +0 -0
  149. armodel/models/system_template/network_management.py +0 -7
  150. armodel/models/system_template/transport_protocols.py +0 -7
  151. armodel/models/unit.py +0 -14
  152. armodel-1.6.2.dist-info/RECORD +0 -142
  153. /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
  154. /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/__init__.py +0 -0
  155. {armodel-1.6.2.dist-info → armodel-1.6.3.dist-info}/LICENSE +0 -0
  156. {armodel-1.6.2.dist-info → armodel-1.6.3.dist-info}/entry_points.txt +0 -0
  157. {armodel-1.6.2.dist-info → armodel-1.6.3.dist-info}/top_level.txt +0 -0
@@ -1,356 +1,366 @@
1
- Metadata-Version: 2.1
2
- Name: armodel
3
- Version: 1.6.2
4
- Summary: the python arxml parser
5
- Home-page: http://github.com/melodypapa/py-armodel
6
- Author: melodypapa
7
- Author-email: melodypapa@outlook.com
8
- License: MIT
9
- Keywords: AUTOSAR ARXML
10
- Platform: UNKNOWN
11
- Classifier: Development Status :: 1 - Planning
12
- Classifier: Environment :: Console
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: OS Independent
16
- Requires-Python: >=3.5
17
- Description-Content-Type: text/markdown
18
- Requires-Dist: colorama
19
- Requires-Dist: openpyxl
20
- Requires-Dist: lxml
21
- Provides-Extra: pytest
22
- Requires-Dist: pytest-cov ; extra == 'pytest'
23
-
24
- # 1. py-armodel
25
-
26
- ## 1.1. Purpose
27
-
28
- To support AUTOSAR model with python
29
-
30
- ## 1.2. Reference Documents
31
- 1. AUTOSAR_TPS_XMLSchemaProductionRules.pdf
32
- 2. AUTOSAR_TPS_ARXMLSerializationRules.pdf
33
-
34
- |Version|Documentation|Travis CI|Coverage Status|Pypi|
35
- |--|--|--|--|--|
36
- |[![GitHub version](https://badge.fury.io/gh/melodypapa%2Fpy-armodel.svg)](https://badge.fury.io/gh/melodypapa%2Fpy-armodel)|[![Documentation Status](https://readthedocs.org/projects/py-armodel/badge/?version=latest)](https://py-armodel.readthedocs.io/en/latest)|[![](https://www.travis-ci.com/melodypapa/py-armodel.svg?branch=main)](https://www.travis-ci.com/melodypapa/py-armodel)|[![Coverage Status](https://coveralls.io/repos/github/melodypapa/py-armodel/badge.svg?branch=main)](https://coveralls.io/github/melodypapa/py-armodel?branch=main)|[![PyPI version](https://badge.fury.io/py/armodel.svg)](https://badge.fury.io/py/armodel)|
37
-
38
- ## 1.3. How to create the distribution and upload to pypi
39
- 1. Run `python setup.py bdist_wheel` to generate distribution
40
- 2. Run `twine check dist/*` to check the validation of distribution
41
- 3. Run `twine upload dist/*` to upload to pypi repository
42
- 4. Check the website https://pypi.org/project/armodel/ to find out it works or not
43
-
44
- And more details can be found at https://packaging.python.org/
45
-
46
- ## 1.4. How to perform Unit test
47
-
48
- * Run `pip install pytest pytest-cov` to install pytest.
49
- * Run `pytest --cov=armodel --cov-report term-missing` to verify all the functionality.
50
-
51
- ## 1.5. How to create a distribution and wheel
52
-
53
- * Run `python setup.py sdist bdist_wheel --universal`
54
-
55
- ## 1.6. How to create the document
56
-
57
- 1. Run `pip install sphinx` to install the necessary document
58
-
59
- ## 1.7. Heritage
60
-
61
- ```
62
- - ARObject
63
- - Referrable
64
- - MultilanguageReferrable
65
- - Identifiable
66
- - PackageableElement
67
- - ARElement
68
- - AtpType
69
- - AutosarDataType
70
- - PortInterface
71
- - DataInterface
72
- - NvDataInterface
73
- - ParameterInterface
74
- - SenderReceiverInterface
75
- - BswModuleEntry
76
- - EndToEndProtectionSet
77
- - Implementation
78
- - BswImplementation
79
- - AtpFeature
80
- - AtpPrototype
81
- - AtpPrototype
82
- - DataPrototype
83
- - AutosarDataPrototype
84
- - VariableDataPrototype
85
- - ApplicationCompositeElementDataPrototype
86
- - ApplicationArrayElement
87
- - ApplicationRecordElement
88
- - AtpStructureElement
89
- - BswModuleDescription
90
- - ExecutableEntity
91
- - SwcBswMapping
92
- - PortPrototype
93
- - AbstractProvidedPortPrototype
94
- - PPortPrototype
95
- - AbstractRequiredPortPrototype
96
- - RPortPrototype
97
- - ValueSpecification
98
- - ConstantReference
99
- ```
100
-
101
- ## 1.8. CLI usages
102
-
103
- ### 1.8.1. arxml-dump
104
-
105
- **Dump all the arxml data to screen**
106
-
107
-
108
- `arxml-dump --arxml arg -h`
109
-
110
- --arxml arg The file name of arxml data
111
- -h show the help information
112
-
113
- #### 1.8.1.1. arxml-dump usage
114
-
115
- **Dump the arxml data from test1.arxml and test2.arxml**
116
-
117
- ```
118
- $arxml-dump --arxml test1.arxml --arxml test2.arxml
119
- ```
120
-
121
- ### 1.8.2. arxml-swc
122
-
123
- **List all the SwComponentType in the autosar model**
124
-
125
- usage: swc-list [-h] [-v] [-f FORMAT] [--filter FILTER] Input [Input ...]
126
-
127
- -h, --help show the help message and exit
128
- -v, --verbose Print debug information
129
- -f FORMAT, --format FORMAT
130
- Specify the short or long name of Sw-C.
131
- *short* : only print the short name of SWComponentType
132
- *long* : print the SWComponentType with ARPackage names
133
- --filter FILTER Set the filter condition.
134
- *CompositionSwComponent* : Print the CompositionSwComponent only.
135
-
136
-
137
- #### 1.8.2.1. List all the SW-Components in the specific path
138
-
139
- ```
140
- $arxml-swc <arxml_folder>
141
- ```
142
-
143
- #### 1.8.2.2. List all the CompositionSwComponent with the long name
144
-
145
- ```
146
- $arxml-swc --format long --filter CompositionSwComponent <arxml_folder>
147
- ```
148
-
149
- ### 1.8.3. connector2xlsx
150
-
151
- **Export all the SwConnector (AssemblySwConnector, DelegationSwConnector) to excel file**
152
-
153
- ```
154
- $connector2xlsx src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx
155
- ```
156
-
157
- ### 1.8.4. connector-update
158
-
159
- **Update all the SwConnector (AssemblySwConnector, DelegationSwConnector) from excel file**
160
-
161
- ```
162
- $connector-update src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx data/Test.arxml
163
- ```
164
-
165
-
166
- ## 1.9. API
167
-
168
- ### 1.9.1. Constructor
169
-
170
- ```
171
- ARXMLParser(options={"warning": True})
172
- ```
173
-
174
- ## 1.10. Change notes:
175
-
176
- **Version 0.1.1**
177
-
178
- Add the ARRAY category support for ImplementationDataType
179
-
180
- **Version 0.1.2**
181
-
182
- Add the AsynchronousServerCallPoint support for ARXML
183
-
184
- **Version 0.1.3**
185
-
186
- Fix the attribute intervalType of **Limit** is empty issue.
187
-
188
- **Version 1.0.0**
189
-
190
- 1. Add the logging support
191
- 2. Add the <warning> option to disable exception raised.
192
- 3. Add the BswMD support
193
-
194
- **Version 1.1.0**
195
-
196
- 1. Add the InitEvent support. (Issue #5)
197
- 2. Add the DataReceiveEvent support. (Issue #5)
198
- 3. Add the SwcModeSwitchEvent support. (Issue #5)
199
-
200
- **Version 1.2.0**
201
-
202
- 1. Add the SwcImplementation support (Issue #9)
203
- 2. Add the integer value for memory section alignment (Issue #9)
204
- 3. Remove the required attributes for the Implementation according to the AUTOSAR standard 23R-11. (Issue #9)
205
- 4. Change the START-ON-EVENT-REF to optional according to the AUTOSAR standard 23R-11. (Issue #9)
206
- 5. Change the HANDLE-OUT-OF-RANGE to optional according to the AUTOSAR standard 23R-11. (Issue #9)
207
- 6. Add the SensorActuatorSwComponentType support (Issue #9)
208
- 7. Change the CATEGORY of COMPU-METHOD to optional.
209
- 8. Change the CAN-BE-INVOKED-CONCURRENTLY to optional.
210
-
211
- **Version 1.3.0**
212
-
213
- 1. List all the SwComponentType (Issue #11)
214
- 2. Support to parse the DelegationSwConnector (Issue #12)
215
- 3. Correct the class definitions of PPortInCompositionInstanceRef and RPortInCompositionInstanceRef. (Issue #12)
216
-
217
- **Version 1.4.0**
218
-
219
- 1. Support to write the AUTOSAR model to arxml file (Issue #17)
220
- * ARPackage
221
- * CompositionSwComponent
222
- * CompuMethod
223
- * DataConstr
224
- * Unit
225
- 2. Support to read the AUTOSAR model from arxml file (Issue #17)
226
- * ConstantSpecification
227
- * DataConstr
228
- * Unit
229
-
230
- **Version 1.4.1**
231
-
232
- 1. Support to read the AUTOSAR model from arxml file (Issue #19)
233
- * ServerComSpec
234
- * PerInstanceMemory
235
- * PortDefinedArgumentValue
236
- * DataWriteAccesses
237
- * NvBlockNeeds
238
- * CompositeNetworkRepresentation
239
- * PortGroup
240
- 2. Support to write the AUTOSAR model to arxml file (Issue #19)
241
- * ServerComSpec
242
- * PerInstanceMemory
243
- * ServerCallPoint
244
- * ReadLocalVariable
245
- * WrittenLocalVariable
246
- * PortDefinedArgumentValue
247
- * RVariableInAtomicSwcInstanceRef
248
- * DataWriteAccesses
249
- * NvBlockNeeds
250
- * RecordValueSpecification
251
- * CompositeNetworkRepresentation
252
- * PortGroup
253
- 3. Move the ARPackage from the Elements.
254
-
255
- **Version 1.4.2**
256
-
257
- 1. Support to read the AUTOSAR model from arxml file (Issue #23)
258
- * EndToEndProtectionSet
259
- * EndToEndProtection
260
- * EndToEndProtectionVariablePrototype
261
- * EndToEndDescription
262
- * ApplicationArrayDataType
263
- * SwRecordLayout
264
- * SwCalprmAxisSet
265
- * SwCalprmAxis
266
- * ApplicationArrayElement
267
- * ApplicationArrayDataType
268
- * SwRecordLayoutGroup
269
- * SwRecordLayoutGroupContent
270
- 2. Support to write the AUTOSAR model to arxml file (Issue #23)
271
- * EndToEndProtectionSet
272
- * EndToEndProtection
273
- * EndToEndProtectionVariablePrototype
274
- * EndToEndDescription
275
- * ApplicationArrayDataType
276
- * SwRecordLayout
277
- * SwCalprmAxisSet
278
- * SwCalprmAxis
279
- * ApplicationArrayElement
280
- * ApplicationArrayDataType
281
- * SwRecordLayoutGroup
282
- * SwRecordLayoutGroupContent
283
- * ImplementationDataType
284
-
285
- **Version 1.4.3**
286
-
287
- 1. Support to write the AUTOSAR model to arxml file (Issue #25)
288
- * BswCalledEntity
289
- * BswSchedulableEntity
290
- * BswImplementation
291
- * ServiceSwComponentType
292
- * DataTypeMappingSet
293
- * ModeRequestTypeMap
294
- * PortInterface
295
- * ModeInterface
296
- 2. Support ot read the AUTOSAR model to arxml file (Issue #25)
297
- * ServiceSwComponentType
298
- * ModeRequestTypeMap
299
- * PortInterface
300
- * ModeInterface
301
- 3. Refactor the Base ARType
302
- * ARFloat
303
- * ARNumerical
304
- * ARLiteral
305
- 4. Fix Issue #22 - raise wrong Exception: Invalid ResourceConsumption of Implementation
306
-
307
- **Version 1.5.0**
308
-
309
- 1. Fix the old ARElement (Issue #27)
310
- * InitEvent
311
- * SwcTiming
312
- * ConstantMemory
313
- * ModeSwitchReceiverComSpec
314
- * MODE-ACCESS-POINTS
315
- 2. Add the timestamp to following ARElement (Issue #27)
316
- * AUTOSAR-VARIABLE-IREF
317
- * MODE-REQUEST-TYPE-MAP
318
- 3. Timing Extension (Issue #27)
319
- * TIMING-REQUIREMENTS
320
- * EXECUTION-ORDER-CONSTRAINT
321
- * EOC-EXECUTABLE-ENTITY-REF
322
- 4. Communication (Issue #27)
323
- * LIN-CLUSTER
324
- * NM-PDU
325
- * LIN-UNCONDITIONAL-FRAME
326
- * CAN-FRAME
327
- * GATEWAY
328
- * I-SIGNAL
329
-
330
- **Version 1.6.0**
331
-
332
- 1. Add the annotation support for the Identifiable class. (Issue #29)
333
- 2. Ecuc (Issue #29)
334
- * EcucValueCollection
335
- * EcucModuleConfigurationValues
336
- * EcucContainerValue
337
- * EcucParameterValue
338
- * EcucAbstractReferenceValue
339
- 3. To support the following AR Element:
340
- * I-SIGNAL-GROUP
341
- * I-SIGNAL-I-PDU-GROUP
342
- * NM-CONFIG
343
- * NM-NODE
344
- * NM-CLUSTER
345
- * CAN-NM-MODE
346
- * NM-ECU
347
- * LIN-TP-CONFIG
348
- * SECURED-I-PDU
349
- * MODE-SWITCH-POINTS
350
- 4. Create the CLI (armodel-system-signal) to list all the system signals
351
-
352
- **Version 1.6.1**
353
-
354
- 1. Organize the armodel package.
355
- 2. Add the Get/Set method for several class.
356
-
1
+ Metadata-Version: 2.1
2
+ Name: armodel
3
+ Version: 1.6.3
4
+ Summary: the python arxml parser
5
+ Home-page: http://github.com/melodypapa/py-armodel
6
+ Author: melodypapa
7
+ Author-email: melodypapa@outlook.com
8
+ License: MIT
9
+ Keywords: AUTOSAR ARXML
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 1 - Planning
12
+ Classifier: Environment :: Console
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.5
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: colorama
20
+ Requires-Dist: openpyxl
21
+ Requires-Dist: lxml
22
+ Provides-Extra: pytest
23
+ Requires-Dist: pytest-cov ; extra == 'pytest'
24
+
25
+ # 1. py-armodel
26
+
27
+ ## 1.1. Purpose
28
+
29
+ To support AUTOSAR model with python
30
+
31
+ ## 1.2. Reference Documents
32
+ 1. AUTOSAR_TPS_XMLSchemaProductionRules.pdf
33
+ 2. AUTOSAR_TPS_ARXMLSerializationRules.pdf
34
+
35
+ |Version|Documentation|Travis CI|Coverage Status|Pypi|
36
+ |--|--|--|--|--|
37
+ |[![GitHub version](https://badge.fury.io/gh/melodypapa%2Fpy-armodel.svg)](https://badge.fury.io/gh/melodypapa%2Fpy-armodel)|[![Documentation Status](https://readthedocs.org/projects/py-armodel/badge/?version=latest)](https://py-armodel.readthedocs.io/en/latest)|[![](https://www.travis-ci.com/melodypapa/py-armodel.svg?branch=main)](https://www.travis-ci.com/melodypapa/py-armodel)|[![Coverage Status](https://coveralls.io/repos/github/melodypapa/py-armodel/badge.svg?branch=main)](https://coveralls.io/github/melodypapa/py-armodel?branch=main)|[![PyPI version](https://badge.fury.io/py/armodel.svg)](https://badge.fury.io/py/armodel)|
38
+
39
+ ## 1.3. How to create the distribution and upload to pypi
40
+ 1. Run `python setup.py bdist_wheel` to generate distribution
41
+ 2. Run `twine check dist/*` to check the validation of distribution
42
+ 3. Run `twine upload dist/*` to upload to pypi repository
43
+ 4. Check the website https://pypi.org/project/armodel/ to find out it works or not
44
+
45
+ And more details can be found at https://packaging.python.org/
46
+
47
+ ## 1.4. How to perform Unit test
48
+
49
+ * Run `pip install pytest pytest-cov` to install pytest.
50
+ * Run `pytest --cov=armodel --cov-report term-missing` to verify all the functionality.
51
+
52
+ ## 1.5. How to create a distribution and wheel
53
+
54
+ * Run `python setup.py sdist bdist_wheel --universal`
55
+
56
+ ## 1.6. How to create the document
57
+
58
+ 1. Run `pip install sphinx` to install the necessary document
59
+
60
+ ## 1.7. Heritage
61
+
62
+ ```
63
+ - ARObject
64
+ - Referrable
65
+ - MultilanguageReferrable
66
+ - Identifiable
67
+ - PackageableElement
68
+ - ARElement
69
+ - AtpType
70
+ - AutosarDataType
71
+ - PortInterface
72
+ - DataInterface
73
+ - NvDataInterface
74
+ - ParameterInterface
75
+ - SenderReceiverInterface
76
+ - BswModuleEntry
77
+ - EndToEndProtectionSet
78
+ - Implementation
79
+ - BswImplementation
80
+ - AtpFeature
81
+ - AtpPrototype
82
+ - AtpPrototype
83
+ - DataPrototype
84
+ - AutosarDataPrototype
85
+ - VariableDataPrototype
86
+ - ApplicationCompositeElementDataPrototype
87
+ - ApplicationArrayElement
88
+ - ApplicationRecordElement
89
+ - AtpStructureElement
90
+ - BswModuleDescription
91
+ - ExecutableEntity
92
+ - SwcBswMapping
93
+ - PortPrototype
94
+ - AbstractProvidedPortPrototype
95
+ - PPortPrototype
96
+ - AbstractRequiredPortPrototype
97
+ - RPortPrototype
98
+ - ValueSpecification
99
+ - ConstantReference
100
+ ```
101
+
102
+ ## 1.8. CLI usages
103
+
104
+ ### 1.8.1. arxml-dump
105
+
106
+ **Dump all the arxml data to screen**
107
+
108
+
109
+ `arxml-dump --arxml arg -h`
110
+
111
+ --arxml arg The file name of arxml data
112
+ -h show the help information
113
+
114
+ #### 1.8.1.1. arxml-dump usage
115
+
116
+ **Dump the arxml data from test1.arxml and test2.arxml**
117
+
118
+ ```
119
+ $arxml-dump --arxml test1.arxml --arxml test2.arxml
120
+ ```
121
+
122
+ ### 1.8.2. arxml-swc
123
+
124
+ **List all the SwComponentType in the autosar model**
125
+
126
+ usage: swc-list [-h] [-v] [-f FORMAT] [--filter FILTER] Input [Input ...]
127
+
128
+ -h, --help show the help message and exit
129
+ -v, --verbose Print debug information
130
+ -f FORMAT, --format FORMAT
131
+ Specify the short or long name of Sw-C.
132
+ *short* : only print the short name of SWComponentType
133
+ *long* : print the SWComponentType with ARPackage names
134
+ --filter FILTER Set the filter condition.
135
+ *CompositionSwComponent* : Print the CompositionSwComponent only.
136
+
137
+
138
+ #### 1.8.2.1. List all the SW-Components in the specific path
139
+
140
+ ```
141
+ $arxml-swc <arxml_folder>
142
+ ```
143
+
144
+ #### 1.8.2.2. List all the CompositionSwComponent with the long name
145
+
146
+ ```
147
+ $arxml-swc --format long --filter CompositionSwComponent <arxml_folder>
148
+ ```
149
+
150
+ ### 1.8.3. connector2xlsx
151
+
152
+ **Export all the SwConnector (AssemblySwConnector, DelegationSwConnector) to excel file**
153
+
154
+ ```
155
+ $connector2xlsx src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx
156
+ ```
157
+
158
+ ### 1.8.4. connector-update
159
+
160
+ **Update all the SwConnector (AssemblySwConnector, DelegationSwConnector) from excel file**
161
+
162
+ ```
163
+ $connector-update src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx data/Test.arxml
164
+ ```
165
+
166
+
167
+ ## 1.9. API
168
+
169
+ ### 1.9.1. Constructor
170
+
171
+ ```
172
+ ARXMLParser(options={"warning": True})
173
+ ```
174
+
175
+ ## 1.10. Change notes:
176
+
177
+ **Version 0.1.1**
178
+
179
+ Add the ARRAY category support for ImplementationDataType
180
+
181
+ **Version 0.1.2**
182
+
183
+ Add the AsynchronousServerCallPoint support for ARXML
184
+
185
+ **Version 0.1.3**
186
+
187
+ Fix the attribute intervalType of **Limit** is empty issue.
188
+
189
+ **Version 1.0.0**
190
+
191
+ 1. Add the logging support
192
+ 2. Add the <warning> option to disable exception raised.
193
+ 3. Add the BswMD support
194
+
195
+ **Version 1.1.0**
196
+
197
+ 1. Add the InitEvent support. (Issue #5)
198
+ 2. Add the DataReceiveEvent support. (Issue #5)
199
+ 3. Add the SwcModeSwitchEvent support. (Issue #5)
200
+
201
+ **Version 1.2.0**
202
+
203
+ 1. Add the SwcImplementation support (Issue #9)
204
+ 2. Add the integer value for memory section alignment (Issue #9)
205
+ 3. Remove the required attributes for the Implementation according to the AUTOSAR standard 23R-11. (Issue #9)
206
+ 4. Change the START-ON-EVENT-REF to optional according to the AUTOSAR standard 23R-11. (Issue #9)
207
+ 5. Change the HANDLE-OUT-OF-RANGE to optional according to the AUTOSAR standard 23R-11. (Issue #9)
208
+ 6. Add the SensorActuatorSwComponentType support (Issue #9)
209
+ 7. Change the CATEGORY of COMPU-METHOD to optional.
210
+ 8. Change the CAN-BE-INVOKED-CONCURRENTLY to optional.
211
+
212
+ **Version 1.3.0**
213
+
214
+ 1. List all the SwComponentType (Issue #11)
215
+ 2. Support to parse the DelegationSwConnector (Issue #12)
216
+ 3. Correct the class definitions of PPortInCompositionInstanceRef and RPortInCompositionInstanceRef. (Issue #12)
217
+
218
+ **Version 1.4.0**
219
+
220
+ 1. Support to write the AUTOSAR model to arxml file (Issue #17)
221
+ * ARPackage
222
+ * CompositionSwComponent
223
+ * CompuMethod
224
+ * DataConstr
225
+ * Unit
226
+ 2. Support to read the AUTOSAR model from arxml file (Issue #17)
227
+ * ConstantSpecification
228
+ * DataConstr
229
+ * Unit
230
+
231
+ **Version 1.4.1**
232
+
233
+ 1. Support to read the AUTOSAR model from arxml file (Issue #19)
234
+ * ServerComSpec
235
+ * PerInstanceMemory
236
+ * PortDefinedArgumentValue
237
+ * DataWriteAccesses
238
+ * NvBlockNeeds
239
+ * CompositeNetworkRepresentation
240
+ * PortGroup
241
+ 2. Support to write the AUTOSAR model to arxml file (Issue #19)
242
+ * ServerComSpec
243
+ * PerInstanceMemory
244
+ * ServerCallPoint
245
+ * ReadLocalVariable
246
+ * WrittenLocalVariable
247
+ * PortDefinedArgumentValue
248
+ * RVariableInAtomicSwcInstanceRef
249
+ * DataWriteAccesses
250
+ * NvBlockNeeds
251
+ * RecordValueSpecification
252
+ * CompositeNetworkRepresentation
253
+ * PortGroup
254
+ 3. Move the ARPackage from the Elements.
255
+
256
+ **Version 1.4.2**
257
+
258
+ 1. Support to read the AUTOSAR model from arxml file (Issue #23)
259
+ * EndToEndProtectionSet
260
+ * EndToEndProtection
261
+ * EndToEndProtectionVariablePrototype
262
+ * EndToEndDescription
263
+ * ApplicationArrayDataType
264
+ * SwRecordLayout
265
+ * SwCalprmAxisSet
266
+ * SwCalprmAxis
267
+ * ApplicationArrayElement
268
+ * ApplicationArrayDataType
269
+ * SwRecordLayoutGroup
270
+ * SwRecordLayoutGroupContent
271
+ 2. Support to write the AUTOSAR model to arxml file (Issue #23)
272
+ * EndToEndProtectionSet
273
+ * EndToEndProtection
274
+ * EndToEndProtectionVariablePrototype
275
+ * EndToEndDescription
276
+ * ApplicationArrayDataType
277
+ * SwRecordLayout
278
+ * SwCalprmAxisSet
279
+ * SwCalprmAxis
280
+ * ApplicationArrayElement
281
+ * ApplicationArrayDataType
282
+ * SwRecordLayoutGroup
283
+ * SwRecordLayoutGroupContent
284
+ * ImplementationDataType
285
+
286
+ **Version 1.4.3**
287
+
288
+ 1. Support to write the AUTOSAR model to arxml file (Issue #25)
289
+ * BswCalledEntity
290
+ * BswSchedulableEntity
291
+ * BswImplementation
292
+ * ServiceSwComponentType
293
+ * DataTypeMappingSet
294
+ * ModeRequestTypeMap
295
+ * PortInterface
296
+ * ModeInterface
297
+ 2. Support ot read the AUTOSAR model to arxml file (Issue #25)
298
+ * ServiceSwComponentType
299
+ * ModeRequestTypeMap
300
+ * PortInterface
301
+ * ModeInterface
302
+ 3. Refactor the Base ARType
303
+ * ARFloat
304
+ * ARNumerical
305
+ * ARLiteral
306
+ 4. Fix Issue #22 - raise wrong Exception: Invalid ResourceConsumption of Implementation
307
+
308
+ **Version 1.5.0**
309
+
310
+ 1. Fix the old ARElement (Issue #27)
311
+ * InitEvent
312
+ * SwcTiming
313
+ * ConstantMemory
314
+ * ModeSwitchReceiverComSpec
315
+ * MODE-ACCESS-POINTS
316
+ 2. Add the timestamp to following ARElement (Issue #27)
317
+ * AUTOSAR-VARIABLE-IREF
318
+ * MODE-REQUEST-TYPE-MAP
319
+ 3. Timing Extension (Issue #27)
320
+ * TIMING-REQUIREMENTS
321
+ * EXECUTION-ORDER-CONSTRAINT
322
+ * EOC-EXECUTABLE-ENTITY-REF
323
+ 4. Communication (Issue #27)
324
+ * LIN-CLUSTER
325
+ * NM-PDU
326
+ * LIN-UNCONDITIONAL-FRAME
327
+ * CAN-FRAME
328
+ * GATEWAY
329
+ * I-SIGNAL
330
+
331
+ **Version 1.6.0**
332
+
333
+ 1. Add the annotation support for the Identifiable class. (Issue #29)
334
+ 2. Ecuc (Issue #29)
335
+ * EcucValueCollection
336
+ * EcucModuleConfigurationValues
337
+ * EcucContainerValue
338
+ * EcucParameterValue
339
+ * EcucAbstractReferenceValue
340
+ 3. To support the following AR Element:
341
+ * I-SIGNAL-GROUP
342
+ * I-SIGNAL-I-PDU-GROUP
343
+ * NM-CONFIG
344
+ * NM-NODE
345
+ * NM-CLUSTER
346
+ * CAN-NM-MODE
347
+ * NM-ECU
348
+ * LIN-TP-CONFIG
349
+ * SECURED-I-PDU
350
+ * MODE-SWITCH-POINTS
351
+ 4. Create the CLI (armodel-system-signal) to list all the system signals
352
+
353
+ **Version 1.6.1**
354
+
355
+ 1. Organize the armodel package.
356
+ 2. Add the Get/Set method for several class.
357
+
358
+ **Version 1.6.2**
359
+
360
+ 1. Change the AUTOSAR.clear() to AUTOSAR.new().
361
+ 2. Fix the several refactor methods issue.
362
+
363
+ **Version 1.6.3**
364
+
365
+ 1. Change the Package structure according to AUTOSAR standard.
366
+