armodel 1.6.1__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.
- armodel/cli/arxml_dump_cli.py +31 -25
- armodel/cli/arxml_format_cli.py +1 -4
- armodel/cli/connector_update_cli.py +1 -1
- armodel/cli/swc_list_cli.py +1 -1
- armodel/lib/sw_component.py +3 -1
- armodel/lib/system_signal.py +3 -1
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +123 -0
- armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +115 -140
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +21 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +78 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +81 -0
- armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +20 -10
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +108 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +72 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +22 -0
- armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +7 -7
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +36 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +27 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
- armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +5 -2
- armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -2
- armodel/models/{ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +113 -218
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +16 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +1 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +55 -0
- armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +37 -149
- armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +163 -70
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py +1 -0
- armodel/models/{m2/autosar_templates/sw_component_template/communication.py → M2/AUTOSARTemplates/SWComponentTemplate/Communication.py} +22 -5
- armodel/models/{m2/autosar_templates/sw_component_template/components/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +10 -8
- armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/composition → M2/AUTOSARTemplates/SWComponentTemplate/Composition}/__init__.py +5 -5
- armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +25 -7
- armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -74
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +11 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py} +7 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +24 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py} +3 -3
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py} +3 -3
- armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +23 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior}/__init__.py +9 -10
- armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/__init__.py +12 -8
- armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/instance_refs.py +2 -2
- armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +4 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/data_mapping.py +2 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/network_management.py +7 -3
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/transport_protocols.py +1 -1
- armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/ecuc_description_template.py +10 -6
- armodel/models/M2/MSR/AsamHdo/AdminData.py +21 -0
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
- armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +44 -28
- armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +7 -4
- armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +1 -0
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +63 -0
- armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +6 -3
- armodel/models/M2/MSR/AsamHdo/__init__.py +1 -0
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +30 -0
- armodel/models/M2/MSR/CalibrationData/__init__.py +1 -0
- armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +4 -2
- armodel/models/M2/MSR/DataDictionary/Axis.py +145 -0
- armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +37 -0
- armodel/models/{m2/msr/data_dictionary/data_def_properties.py → M2/MSR/DataDictionary/DataDefProperties.py} +19 -9
- armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
- armodel/models/M2/MSR/DataDictionary/__init__.py +1 -0
- armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -8
- armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +17 -0
- armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +21 -30
- armodel/models/M2/MSR/Documentation/TextModel/__init__.py +2 -0
- armodel/models/M2/MSR/Documentation/__init__.py +3 -0
- armodel/models/M2/MSR/__init__.py +1 -0
- armodel/models/M2/__init__.py +1 -0
- armodel/models/__init__.py +6 -23
- armodel/models/fibex/can_communication.py +3 -2
- armodel/models/fibex/fibex_4_multiplatform.py +5 -3
- armodel/models/fibex/fibex_core/core_communication.py +9 -3
- armodel/models/fibex/fibex_core/core_topology.py +7 -3
- armodel/models/fibex/lin_communication.py +5 -1
- armodel/models/rpt_scenario.py +2 -2
- armodel/models/sw_component.py +19 -14
- armodel/models/timing.py +3 -3
- armodel/parser/abstract_arxml_parser.py +8 -4
- armodel/parser/arxml_parser.py +120 -86
- armodel/parser/connector_xlsx_parser.py +6 -2
- armodel/report/connector_xls_report.py +2 -1
- armodel/tests/test_armodel/models/test_ar_object.py +2 -1
- armodel/tests/test_armodel/models/test_ar_package.py +20 -8
- armodel/tests/test_armodel/models/test_ar_ref.py +7 -5
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -1
- armodel/tests/test_armodel/models/test_common_structure.py +11 -5
- armodel/tests/test_armodel/models/test_data_dictionary.py +2 -2
- armodel/tests/test_armodel/models/test_data_prototype.py +7 -3
- armodel/tests/test_armodel/models/test_datatype.py +22 -8
- armodel/tests/test_armodel/models/test_general_structure.py +12 -2
- armodel/tests/test_armodel/models/test_implementation.py +3 -2
- armodel/tests/test_armodel/models/test_m2_msr.py +4 -2
- armodel/tests/test_armodel/models/test_port_interface.py +16 -6
- armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -1
- armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
- armodel/tests/test_armodel/parser/test_system.py +30 -0
- armodel/writer/abstract_arxml_writer.py +5 -2
- armodel/writer/arxml_writer.py +100 -67
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/METADATA +366 -356
- armodel-1.6.3.dist-info/RECORD +148 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/WHEEL +1 -1
- armodel/lib/data_analyzer.py +0 -34
- armodel/models/ar_ref.py +0 -25
- armodel/models/calibration.py +0 -119
- armodel/models/common_structure.py +0 -272
- armodel/models/communication.py +0 -17
- armodel/models/data_def_properties.py +0 -16
- armodel/models/data_dictionary.py +0 -59
- armodel/models/data_prototype.py +0 -103
- armodel/models/ecuc_parameter_def_template.py +0 -0
- armodel/models/end_to_end_protection.py +0 -67
- armodel/models/fibex/fibex_core.py +0 -341
- armodel/models/fibex/lin_topology.py +0 -7
- armodel/models/implementation.py +0 -135
- armodel/models/internal_behavior.py +0 -63
- armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
- armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- armodel/models/mode_declaration.py +0 -8
- armodel/models/port_interface.py +0 -165
- armodel/models/port_prototype.py +0 -6
- armodel/models/service_mapping.py +0 -11
- armodel/models/system_template/__init__.py +0 -0
- armodel/models/system_template/network_management.py +0 -7
- armodel/models/system_template/transport_protocols.py +0 -7
- armodel/models/unit.py +0 -14
- armodel-1.6.1.dist-info/RECORD +0 -140
- /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/__init__.py +0 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/LICENSE +0 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.1.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.
|
|
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
|
-
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
1.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
1.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* Run `
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
*
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
*
|
|
260
|
-
*
|
|
261
|
-
*
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
*
|
|
299
|
-
*
|
|
300
|
-
*
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
*
|
|
304
|
-
*
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
*
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
* I-SIGNAL-
|
|
342
|
-
*
|
|
343
|
-
* NM-
|
|
344
|
-
* NM-
|
|
345
|
-
*
|
|
346
|
-
* NM-
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
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
|
+
|[](https://badge.fury.io/gh/melodypapa%2Fpy-armodel)|[](https://py-armodel.readthedocs.io/en/latest)|[](https://www.travis-ci.com/melodypapa/py-armodel)|[](https://coveralls.io/github/melodypapa/py-armodel?branch=main)|[](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
|
+
|