armodel 1.5.0__py3-none-any.whl → 1.6.0__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 (76) hide show
  1. armodel/cli/arxml_dump_cli.py +13 -13
  2. armodel/cli/memory_section_cli.py +76 -0
  3. armodel/cli/system_signal_cli.py +74 -0
  4. armodel/lib/__init__.py +2 -1
  5. armodel/lib/system_signal.py +37 -0
  6. armodel/models/__init__.py +6 -3
  7. armodel/models/annotation.py +27 -3
  8. armodel/models/ar_object.py +18 -6
  9. armodel/models/ar_package.py +124 -14
  10. armodel/models/ar_ref.py +109 -62
  11. armodel/models/bsw_module_template.py +37 -14
  12. armodel/models/common_structure.py +132 -147
  13. armodel/models/communication.py +1 -1
  14. armodel/models/data_prototype.py +41 -6
  15. armodel/models/datatype.py +11 -5
  16. armodel/models/fibex/can_communication.py +119 -3
  17. armodel/models/fibex/fibex_4_can/__init__.py +0 -0
  18. armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
  19. armodel/models/fibex/fibex_4_multiplatform.py +81 -88
  20. armodel/models/fibex/fibex_core/__init__.py +0 -0
  21. armodel/models/fibex/fibex_core/core_communication.py +627 -0
  22. armodel/models/fibex/fibex_core/core_topology.py +180 -0
  23. armodel/models/fibex/lin_communication.py +24 -3
  24. armodel/models/general_structure.py +101 -8
  25. armodel/models/m2/__init__.py +0 -0
  26. armodel/models/m2/autosar_templates/__init__.py +0 -0
  27. armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
  28. armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
  29. armodel/models/m2/autosar_templates/ecuc_description_template.py +268 -0
  30. armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
  31. armodel/models/m2/autosar_templates/sw_component_template/communication.py +316 -0
  32. armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +0 -0
  33. armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +149 -0
  34. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
  35. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
  36. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
  37. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +54 -0
  38. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +39 -0
  39. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +26 -0
  40. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
  41. armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
  42. armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
  43. armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
  44. armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
  45. armodel/models/m2/msr/__init__.py +0 -0
  46. armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
  47. armodel/models/m2/msr/asam_hdo/units.py +105 -0
  48. armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
  49. armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
  50. armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
  51. armodel/models/m2/msr/documentation/__init__.py +0 -0
  52. armodel/models/m2/msr/documentation/block_elements.py +18 -0
  53. armodel/models/multilanguage_data.py +15 -0
  54. armodel/models/per_instance_memory.py +34 -6
  55. armodel/models/port_prototype.py +12 -174
  56. armodel/models/sw_component.py +14 -216
  57. armodel/parser/abstract_arxml_parser.py +10 -1
  58. armodel/parser/arxml_parser.py +803 -186
  59. armodel/tests/test_armodel/models/test_ar_package.py +1 -1
  60. armodel/tests/test_armodel/models/test_ar_ref.py +3 -3
  61. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
  62. armodel/tests/test_armodel/models/test_common_structure.py +3 -3
  63. armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
  64. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  65. armodel/tests/test_armodel/models/test_datatype.py +1 -1
  66. armodel/tests/test_armodel/models/test_port_interface.py +1 -1
  67. armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -3
  68. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  69. armodel/writer/arxml_writer.py +832 -196
  70. {armodel-1.5.0.dist-info → armodel-1.6.0.dist-info}/METADATA +24 -1
  71. armodel-1.6.0.dist-info/RECORD +127 -0
  72. {armodel-1.5.0.dist-info → armodel-1.6.0.dist-info}/entry_points.txt +3 -1
  73. armodel-1.5.0.dist-info/RECORD +0 -91
  74. {armodel-1.5.0.dist-info → armodel-1.6.0.dist-info}/LICENSE +0 -0
  75. {armodel-1.5.0.dist-info → armodel-1.6.0.dist-info}/WHEEL +0 -0
  76. {armodel-1.5.0.dist-info → armodel-1.6.0.dist-info}/top_level.txt +0 -0
@@ -2,8 +2,8 @@ from abc import ABCMeta
2
2
 
3
3
  from .ar_object import ARNumerical
4
4
  from .ar_ref import RefType
5
- from .data_dictionary import SwDataDefProps
6
- from .common_structure import ValueSpecification
5
+ from .m2.msr.data_dictionary.data_def_properties import SwDataDefProps
6
+ from .m2.autosar_templates.common_structure import ValueSpecification
7
7
  from .general_structure import AtpFeature, ARObject
8
8
 
9
9
  class AtpPrototype(AtpFeature, metaclass = ABCMeta):
@@ -20,8 +20,14 @@ class DataPrototype(AtpPrototype, metaclass = ABCMeta):
20
20
 
21
21
  super().__init__(parent, short_name)
22
22
 
23
- self.sw_data_def_props = None # type: SwDataDefProps
23
+ self.swDataDefProps = None # type: SwDataDefProps
24
24
 
25
+ def getSwDataDefProps(self):
26
+ return self.swDataDefProps
27
+
28
+ def setSwDataDefProps(self, value):
29
+ self.swDataDefProps = value
30
+ return self
25
31
  class AutosarDataPrototype(DataPrototype, metaclass = ABCMeta):
26
32
  def __init__(self, parent:ARObject, short_name: str):
27
33
  if type(self) == AutosarDataPrototype:
@@ -29,13 +35,27 @@ class AutosarDataPrototype(DataPrototype, metaclass = ABCMeta):
29
35
 
30
36
  super().__init__(parent, short_name)
31
37
 
32
- self.type_tref = None
38
+ self.typeTRef = None
39
+
40
+ def getTypeTRef(self):
41
+ return self.typeTRef
42
+
43
+ def setTypeTRef(self, value):
44
+ self.typeTRef = value
45
+ return self
33
46
 
34
47
  class VariableDataPrototype(AutosarDataPrototype):
35
48
  def __init__(self, parent:ARObject, short_name: str):
36
49
  super().__init__(parent, short_name)
37
50
 
38
- self.init_value = None # type: ValueSpecification
51
+ self.initValue = None # type: ValueSpecification
52
+
53
+ def getInitValue(self):
54
+ return self.initValue
55
+
56
+ def setInitValue(self, value):
57
+ self.initValue = value
58
+ return self
39
59
 
40
60
  class ApplicationCompositeElementDataPrototype(DataPrototype, metaclass = ABCMeta):
41
61
  def __init__(self, parent:ARObject, short_name: str):
@@ -46,6 +66,14 @@ class ApplicationCompositeElementDataPrototype(DataPrototype, metaclass = ABCMet
46
66
 
47
67
  self.typeTRef = None # type: RefType
48
68
 
69
+ def getTypeTRef(self):
70
+ return self.typeTRef
71
+
72
+ def setTypeTRef(self, value):
73
+ self.typeTRef = value
74
+ return self
75
+
76
+
49
77
  class ApplicationArrayElement(ApplicationCompositeElementDataPrototype):
50
78
  def __init__(self, parent:ARObject, short_name: str):
51
79
  super().__init__(parent, short_name)
@@ -65,4 +93,11 @@ class ParameterDataPrototype(AutosarDataPrototype):
65
93
  def __init__(self, parent: ARObject, short_name: str):
66
94
  super().__init__(parent, short_name)
67
95
 
68
- self.init_value = None # type: ValueSpecification
96
+ self.initValue = None # type: ValueSpecification
97
+
98
+ def getInitValue(self):
99
+ return self.initValue
100
+
101
+ def setInitValue(self, value):
102
+ self.initValue = value
103
+ return self
@@ -4,9 +4,8 @@ from typing import List
4
4
  from .ar_object import ARLiteral, ARNumerical
5
5
  from .ar_ref import RefType
6
6
  from .ar_package import Referrable
7
- from .general_structure import ARElement, ARObject, Identifiable
7
+ from .general_structure import ARElement, ARObject
8
8
  from .data_prototype import ApplicationCompositeElementDataPrototype, ApplicationRecordElement
9
- from .data_dictionary import SwDataDefProps
10
9
  from .common_structure import ImplementationDataTypeElement, ModeRequestTypeMap
11
10
 
12
11
  class ImplementationProps(Referrable, metaclass=ABCMeta):
@@ -56,16 +55,23 @@ class AtpType(ARElement, metaclass=ABCMeta):
56
55
  super().__init__(parent, short_name)
57
56
 
58
57
 
59
- class AutosarDataType(AtpType, metaclass=ABCMeta):
58
+ class AutosarDataType(AtpType, metaclass = ABCMeta):
60
59
  def __init__(self, parent: ARObject, short_name: str):
61
60
  if type(self) == AutosarDataType:
62
61
  raise NotImplementedError("AutosarDataType is an abstract class.")
63
62
 
64
63
  super().__init__(parent, short_name)
65
- self.sw_data_def_props = None # type: SwDataDefProps
66
64
 
65
+ self.swDataDefProps = None # type: SwDataDefProps
67
66
 
68
- class ApplicationDataType(AutosarDataType, metaclass=ABCMeta):
67
+ def getSwDataDefProps(self):
68
+ return self.swDataDefProps
69
+
70
+ def setSwDataDefProps(self, value):
71
+ self.swDataDefProps = value
72
+ return self
73
+
74
+ class ApplicationDataType(AutosarDataType, metaclass = ABCMeta):
69
75
  def __init__(self, parent: ARObject, short_name: str):
70
76
  if type(self) == ApplicationDataType:
71
77
  raise NotImplementedError("ApplicationDataType is an abstract class.")
@@ -1,6 +1,122 @@
1
- from ..ar_object import ARObject
2
- from .fibex_core import Frame
1
+ from ..general_structure import Identifiable
2
+ from ..ar_object import ARObject, ARPositiveInteger
3
+ from .fibex_core.core_communication import Frame, FrameTriggering
4
+
5
+ class RxIdentifierRange(ARObject):
6
+ def __init__(self):
7
+ super().__init__()
8
+
9
+ self.lowerCanId = None # type: ARPositiveInteger
10
+ self.upperCanId = None # type: ARPositiveInteger
11
+
12
+ def getLowerCanId(self) -> ARPositiveInteger:
13
+ return self.lowerCanId
14
+
15
+ def setLowerCanId(self, value: ARPositiveInteger):
16
+ self.lowerCanId = value
17
+ return self
18
+
19
+ def getUpperCanId(self) -> ARPositiveInteger:
20
+ return self.upperCanId
21
+
22
+ def setUpperCanId(self, value: ARPositiveInteger):
23
+ self.upperCanId = value
24
+ return self
3
25
 
4
26
  class CanFrame(Frame):
5
27
  def __init__(self, parent: ARObject, short_name: str):
6
- super().__init__(parent, short_name)
28
+ super().__init__(parent, short_name)
29
+
30
+ class CanFrameTriggering(FrameTriggering):
31
+ def __init__(self, parent, short_name):
32
+ super().__init__(parent, short_name)
33
+
34
+ self.absolutelyScheduledTimings = []
35
+ self.canAddressingMode = None
36
+ self.canFdFrameSupport = None
37
+ self.canFrameRxBehavior = None
38
+ self.canFrameTxBehavior = None
39
+ self.canXlFrameTriggeringProps = None
40
+ self.identifier = None
41
+ self.j1939requestable = None
42
+ self.rxIdentifierRange = None # type: RxIdentifierRange
43
+ self.rxMask = None
44
+ self.txMask = None
45
+
46
+ def getAbsolutelyScheduledTimings(self):
47
+ return self.absolutelyScheduledTimings
48
+
49
+ def setAbsolutelyScheduledTimings(self, value):
50
+ self.absolutelyScheduledTimings = value
51
+ return self
52
+
53
+ def getCanAddressingMode(self):
54
+ return self.canAddressingMode
55
+
56
+ def setCanAddressingMode(self, value):
57
+ self.canAddressingMode = value
58
+ return self
59
+
60
+ def getCanFdFrameSupport(self):
61
+ return self.canFdFrameSupport
62
+
63
+ def setCanFdFrameSupport(self, value):
64
+ self.canFdFrameSupport = value
65
+ return self
66
+
67
+ def getCanFrameRxBehavior(self):
68
+ return self.canFrameRxBehavior
69
+
70
+ def setCanFrameRxBehavior(self, value):
71
+ self.canFrameRxBehavior = value
72
+ return self
73
+
74
+ def getCanFrameTxBehavior(self):
75
+ return self.canFrameTxBehavior
76
+
77
+ def setCanFrameTxBehavior(self, value):
78
+ self.canFrameTxBehavior = value
79
+ return self
80
+
81
+ def getCanXlFrameTriggeringProps(self):
82
+ return self.canXlFrameTriggeringProps
83
+
84
+ def setCanXlFrameTriggeringProps(self, value):
85
+ self.canXlFrameTriggeringProps = value
86
+ return self
87
+
88
+ def getIdentifier(self):
89
+ return self.identifier
90
+
91
+ def setIdentifier(self, value):
92
+ self.identifier = value
93
+ return self
94
+
95
+ def getJ1939requestable(self):
96
+ return self.j1939requestable
97
+
98
+ def setJ1939requestable(self, value):
99
+ self.j1939requestable = value
100
+ return self
101
+
102
+ def getRxIdentifierRange(self) -> RxIdentifierRange:
103
+ return self.rxIdentifierRange
104
+
105
+ def setRxIdentifierRange(self, value: RxIdentifierRange):
106
+ self.rxIdentifierRange = value
107
+ return self
108
+
109
+ def getRxMask(self):
110
+ return self.rxMask
111
+
112
+ def setRxMask(self, value):
113
+ self.rxMask = value
114
+ return self
115
+
116
+ def getTxMask(self):
117
+ return self.txMask
118
+
119
+ def setTxMask(self, value):
120
+ self.txMask = value
121
+ return self
122
+
File without changes
File without changes
@@ -1,145 +1,138 @@
1
1
  from typing import List
2
2
 
3
+ from ..m2.msr.documentation.block_elements import DocumentationBlock
3
4
  from ..ar_ref import RefType
4
5
  from ..ar_object import ARObject, ARPositiveInteger
5
- from .fibex_core import FibexElement
6
+ from .fibex_core.core_communication import FibexElement
6
7
 
7
8
  class FrameMapping(ARObject):
8
9
  def __init__(self):
9
10
  super().__init__()
10
11
 
11
- self._introduction = None # type: DocumentationBlock
12
- self._source_frame_ref = None # type: RefType
13
- self._target_frame_ref = None # type: RefType
12
+ self.introduction = None # type: DocumentationBlock
13
+ self.sourceFrameRef = None # type: RefType
14
+ self.targetFrameRef = None # type: RefType
14
15
 
15
- @property
16
- def introduction(self):
17
- return self._introduction
16
+ def getIntroduction(self):
17
+ return self.introduction
18
18
 
19
- @introduction.setter
20
- def introduction(self, value):
21
- self._introduction = value
19
+ def setIntroduction(self, value):
20
+ self.introduction = value
21
+ return self
22
22
 
23
- @property
24
- def sourceFrameRef(self):
25
- return self._source_frame_ref
23
+ def getSourceFrameRef(self):
24
+ return self.sourceFrameRef
26
25
 
27
- @sourceFrameRef.setter
28
- def sourceFrameRef(self, value):
29
- self._source_frame_ref = value
26
+ def setSourceFrameRef(self, value):
27
+ self.sourceFrameRef = value
28
+ return self
30
29
 
31
- @property
32
- def targetFrameRef(self):
33
- return self._target_frame_ref
30
+ def getTargetFrameRef(self):
31
+ return self.targetFrameRef
34
32
 
35
- @targetFrameRef.setter
36
- def targetFrameRef(self, value):
37
- self._target_frame_ref = value
33
+ def setTargetFrameRef(self, value):
34
+ self.targetFrameRef = value
35
+ return self
38
36
 
39
37
  class ISignalMapping(ARObject):
40
38
  def __init__(self):
41
39
  super().__init__()
42
40
 
43
- self._introduction = None # type: DocumentationBlock
44
- self._source_signal_ref = None # type: RefType
45
- self._target_signal_ref = None # type: RefType
41
+ self.introduction = None # type: DocumentationBlock
42
+ self.sourceSignalRef = None # type: RefType
43
+ self.targetSignalRef = None # type: RefType
46
44
 
47
- @property
48
- def introduction(self):
49
- return self._introduction
45
+ def getIntroduction(self):
46
+ return self.introduction
50
47
 
51
- @introduction.setter
52
- def introduction(self, value):
53
- self._introduction = value
48
+ def setIntroduction(self, value):
49
+ self.introduction = value
50
+ return self
54
51
 
55
- @property
56
- def sourceSignalRef(self):
57
- return self._source_signal_ref
52
+ def getSourceSignalRef(self):
53
+ return self.sourceSignalRef
58
54
 
59
- @sourceSignalRef.setter
60
- def sourceSignalRef(self, value):
61
- self._source_signal_ref = value
55
+ def setSourceSignalRef(self, value):
56
+ self.sourceSignalRef = value
57
+ return self
62
58
 
63
- @property
64
- def targetSignalRef(self):
65
- return self._target_signal_ref
59
+ def getTargetSignalRef(self):
60
+ return self.targetSignalRef
66
61
 
67
- @targetSignalRef.setter
68
- def targetSignalRef(self, value):
69
- self._target_signal_ref = value
62
+ def setTargetSignalRef(self, value):
63
+ self.targetSignalRef = value
64
+ return self
70
65
 
71
66
  class IPduMapping(ARObject):
72
67
  def __init__(self):
73
68
  super().__init__()
74
69
 
75
- self._introduction = None # type: DocumentationBlock
76
- self._pdur_tp_chunk_size = None # type: ARPositiveInteger
77
- self._source_ipdu_ref = None # type: RefType
78
- self._target_ipdu_ref = None # type: RefType
70
+ self.introduction = None # type: DocumentationBlock
71
+ self.pdurTpChunkSize = None # type: ARPositiveInteger
72
+ self.sourceIpduRef = None # type: RefType
73
+ self.targetIpduRef = None # type: RefType
79
74
 
80
- @property
81
- def introduction(self):
82
- return self._introduction
75
+ def getIntroduction(self):
76
+ return self.introduction
83
77
 
84
- @introduction.setter
85
- def introduction(self, value):
86
- self._introduction = value
78
+ def setIntroduction(self, value):
79
+ self.introduction = value
80
+ return self
87
81
 
88
- @property
89
- def pdurTpChunkSize(self):
90
- return self._pdur_tp_chunk_size
82
+ def getPdurTpChunkSize(self):
83
+ return self.pdurTpChunkSize
91
84
 
92
- @pdurTpChunkSize.setter
93
- def pdurTpChunkSize(self, value):
94
- self._pdur_tp_chunk_size = value
85
+ def setPdurTpChunkSize(self, value):
86
+ self.pdurTpChunkSize = value
87
+ return self
95
88
 
96
- @property
97
- def sourceIPduRef(self):
98
- return self._source_ipdu_ref
89
+ def getSourceIpduRef(self):
90
+ return self.sourceIpduRef
99
91
 
100
- @sourceIPduRef.setter
101
- def sourceIPduRef(self, value):
102
- self._source_ipdu_ref = value
92
+ def setSourceIpduRef(self, value):
93
+ self.sourceIpduRef = value
94
+ return self
103
95
 
104
- @property
105
- def targetIPduRef(self):
106
- return self._target_ipdu_ref
96
+ def getTargetIpduRef(self):
97
+ return self.targetIpduRef
107
98
 
108
- @targetIPduRef.setter
109
- def targetIPduRef(self, value):
110
- self._target_ipdu_ref = value
99
+ def setTargetIpduRef(self, value):
100
+ self.targetIpduRef = value
101
+ return self
111
102
 
112
103
  class Gateway(FibexElement):
113
104
  def __init__(self, parent: ARObject, short_name: str):
114
105
  super().__init__(parent, short_name)
115
106
 
116
- self._ecu_ref = None # type: RefType
117
- self._frame_mappings = [] # type: List[FrameMapping]
118
- self._i_pdu_mappings = [] # type: List[IPduMapping]
119
- self._signal_mappings = [] # type: List[ISignalMapping]
107
+ self.ecuRef = None # type: RefType
108
+ self.frameMappings = [] # type: List[FrameMapping]
109
+ self.iPduMappings = [] # type: List[IPduMapping]
110
+ self.signalMappings = [] # type: List[ISignalMapping]
111
+
112
+ def getEcuRef(self):
113
+ return self.ecuRef
120
114
 
121
- @property
122
- def ecuRef(self) -> RefType:
123
- return self._ecu_ref
124
-
125
- @ecuRef.setter
126
- def ecuRef(self, value: RefType):
127
- self._ecu_ref = value
115
+ def setEcuRef(self, value):
116
+ self.ecuRef = value
117
+ return self
128
118
 
129
119
  def getFrameMappings(self) -> List[FrameMapping]:
130
- return self._frame_mappings
120
+ return self.frameMappings
131
121
 
132
122
  def addFrameMapping(self, mapping: FrameMapping):
133
- self._frame_mappings.append(mapping)
123
+ self.frameMappings.append(mapping)
124
+ return self
134
125
 
135
126
  def getIPduMappings(self) -> List[FrameMapping]:
136
- return self._i_pdu_mappings
127
+ return self.iPduMappings
137
128
 
138
129
  def addIPduMappings(self, mapping: FrameMapping):
139
- self._i_pdu_mappings.append(mapping)
130
+ self.iPduMappings.append(mapping)
131
+ return self
140
132
 
141
133
  def getSignalMappings(self) -> List[FrameMapping]:
142
- return self._signal_mappings
134
+ return self.signalMappings
143
135
 
144
136
  def addSignalMapping(self, mapping: FrameMapping):
145
- self._signal_mappings.append(mapping)
137
+ self.signalMappings.append(mapping)
138
+ return self
File without changes