armodel 1.5.0__py3-none-any.whl → 1.6.1__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 (96) 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/data_models/sw_connector.py +3 -3
  5. armodel/lib/__init__.py +2 -1
  6. armodel/lib/system_signal.py +37 -0
  7. armodel/models/__init__.py +9 -4
  8. armodel/models/annotation.py +27 -3
  9. armodel/models/ar_object.py +18 -6
  10. armodel/models/ar_package.py +271 -127
  11. armodel/models/ar_ref.py +11 -166
  12. armodel/models/bsw_module_template.py +37 -14
  13. armodel/models/common_structure.py +91 -174
  14. armodel/models/communication.py +2 -2
  15. armodel/models/data_prototype.py +41 -6
  16. armodel/models/datatype.py +16 -74
  17. armodel/models/end_to_end_protection.py +1 -1
  18. armodel/models/fibex/can_communication.py +119 -3
  19. armodel/models/fibex/fibex_4_can/__init__.py +0 -0
  20. armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
  21. armodel/models/fibex/fibex_4_multiplatform.py +81 -88
  22. armodel/models/fibex/fibex_core/__init__.py +0 -0
  23. armodel/models/fibex/fibex_core/core_communication.py +627 -0
  24. armodel/models/fibex/fibex_core/core_topology.py +180 -0
  25. armodel/models/fibex/lin_communication.py +24 -3
  26. armodel/models/general_structure.py +110 -11
  27. armodel/models/internal_behavior.py +1 -1
  28. armodel/models/m2/__init__.py +0 -0
  29. armodel/models/m2/autosar_templates/__init__.py +0 -0
  30. armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
  31. armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
  32. armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
  33. armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +148 -0
  34. armodel/models/m2/autosar_templates/ecuc_description_template.py +269 -0
  35. armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
  36. armodel/models/m2/autosar_templates/generic_structure/abstract_structure.py +69 -0
  37. armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
  38. armodel/models/m2/autosar_templates/sw_component_template/communication.py +360 -0
  39. armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +246 -0
  40. armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +181 -0
  41. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +154 -0
  42. armodel/models/m2/autosar_templates/sw_component_template/composition/instance_refs.py +157 -0
  43. armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
  44. armodel/models/m2/autosar_templates/sw_component_template/data_type/data_prototypes.py +104 -0
  45. armodel/models/m2/autosar_templates/sw_component_template/port_interface/__init__.py +243 -0
  46. armodel/models/m2/autosar_templates/sw_component_template/port_interface/instance_refs.py +39 -0
  47. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
  48. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
  49. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
  50. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +46 -0
  51. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py +169 -0
  52. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +38 -0
  53. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +27 -0
  54. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
  55. armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
  56. armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
  57. armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
  58. armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
  59. armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
  60. armodel/models/m2/msr/__init__.py +0 -0
  61. armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
  62. armodel/models/m2/msr/asam_hdo/units.py +105 -0
  63. armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
  64. armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
  65. armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
  66. armodel/models/m2/msr/documentation/__init__.py +0 -0
  67. armodel/models/m2/msr/documentation/block_elements.py +18 -0
  68. armodel/models/m2_msr.py +1 -0
  69. armodel/models/multilanguage_data.py +15 -0
  70. armodel/models/per_instance_memory.py +34 -6
  71. armodel/models/port_prototype.py +2 -253
  72. armodel/models/service_needs.py +3 -1
  73. armodel/models/sw_component.py +19 -358
  74. armodel/parser/__init__.py +2 -1
  75. armodel/parser/abstract_arxml_parser.py +10 -1
  76. armodel/parser/arxml_parser.py +912 -229
  77. armodel/parser/file_parser.py +43 -0
  78. armodel/tests/test_armodel/models/test_ar_package.py +6 -3
  79. armodel/tests/test_armodel/models/test_ar_ref.py +18 -16
  80. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
  81. armodel/tests/test_armodel/models/test_common_structure.py +8 -7
  82. armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
  83. armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
  84. armodel/tests/test_armodel/models/test_datatype.py +9 -9
  85. armodel/tests/test_armodel/models/test_port_interface.py +2 -2
  86. armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -3
  87. armodel/tests/test_armodel/parser/test_sw_components.py +3 -3
  88. armodel/writer/abstract_arxml_writer.py +5 -1
  89. armodel/writer/arxml_writer.py +870 -224
  90. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/METADATA +28 -1
  91. armodel-1.6.1.dist-info/RECORD +140 -0
  92. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/entry_points.txt +3 -1
  93. armodel-1.5.0.dist-info/RECORD +0 -91
  94. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/LICENSE +0 -0
  95. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/WHEEL +0 -0
  96. {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,181 @@
1
+ from abc import ABCMeta
2
+
3
+ from ...generic_structure.abstract_structure import AtpInstanceRef
4
+ from .....ar_ref import RefType
5
+
6
+
7
+ class ModeGroupInAtomicSwcInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
8
+ def __init__(self):
9
+
10
+ if type(self) == ModeGroupInAtomicSwcInstanceRef:
11
+ raise NotImplementedError("ModeGroupInAtomicSwcInstanceRef is an abstract class.")
12
+
13
+ super().__init__()
14
+
15
+ self.baseRef = None # type: RefType
16
+ self.contextPortRef = None # type: RefType
17
+ self.targetRef = None # type: RefType
18
+
19
+ def getBaseRef(self):
20
+ return self.baseRef
21
+
22
+ def setBaseRef(self, value):
23
+ self.baseRef = value
24
+ return self
25
+
26
+ def getContextPortRef(self):
27
+ return self.contextPortRef
28
+
29
+ def setContextPortRef(self, value):
30
+ self.contextPortRef = value
31
+ return self
32
+
33
+ def getTargetRef(self):
34
+ return self.targetRef
35
+
36
+ def setTargetRef(self, value):
37
+ self.targetRef = value
38
+ return self
39
+
40
+
41
+ class PModeGroupInAtomicSwcInstanceRef(ModeGroupInAtomicSwcInstanceRef):
42
+ def __init__(self):
43
+ super().__init__()
44
+
45
+ self.contextPPortRef = None # type: RefType
46
+ self.targetModeGroupRef = None # type: RefType
47
+
48
+ def getContextPPortRef(self):
49
+ return self.contextPPortRef
50
+
51
+ def setContextPPortRef(self, value):
52
+ self.contextPPortRef = value
53
+ return self
54
+
55
+ def getTargetModeGroupRef(self):
56
+ return self.targetModeGroupRef
57
+
58
+ def setTargetModeGroupRef(self, value):
59
+ self.targetModeGroupRef = value
60
+ return self
61
+
62
+ class RModeGroupInAtomicSWCInstanceRef(ModeGroupInAtomicSwcInstanceRef):
63
+ def __init__(self):
64
+ super().__init__()
65
+
66
+ self.contextRPortRef = None # type: RefType
67
+ self.targetModeGroupRef = None # type: RefType
68
+
69
+ def getContextRPortRef(self):
70
+ return self.contextRPortRef
71
+
72
+ def setContextRPortRef(self, value):
73
+ self.contextRPortRef = value
74
+ return self
75
+
76
+ def getTargetModeGroupRef(self):
77
+ return self.targetModeGroupRef
78
+
79
+ def setTargetModeGroupRef(self, value):
80
+ self.targetModeGroupRef = value
81
+ return self
82
+
83
+
84
+ class RModeInAtomicSwcInstanceRef(AtpInstanceRef):
85
+ def __init__(self):
86
+ super().__init__()
87
+
88
+ self.baseRef = None # type: RefType
89
+ self.contextModeDeclarationGroupPrototypeRef = None # type: RefType
90
+ self.contextPortRef = None # type: RefType
91
+ self.targetModeDeclarationRef = None # type: RefType
92
+
93
+ def getBaseRef(self):
94
+ return self.baseRef
95
+
96
+ def setBaseRef(self, value):
97
+ self.baseRef = value
98
+ return self
99
+
100
+ def getContextModeDeclarationGroupPrototypeRef(self):
101
+ return self.contextModeDeclarationGroupPrototypeRef
102
+
103
+ def setContextModeDeclarationGroupPrototypeRef(self, value):
104
+ self.contextModeDeclarationGroupPrototypeRef = value
105
+ return self
106
+
107
+ def getContextPortRef(self):
108
+ return self.contextPortRef
109
+
110
+ def setContextPortRef(self, value):
111
+ self.contextPortRef = value
112
+ return self
113
+
114
+ def getTargetModeDeclarationRef(self):
115
+ return self.targetModeDeclarationRef
116
+
117
+ def setTargetModeDeclarationRef(self, value):
118
+ self.targetModeDeclarationRef = value
119
+ return self
120
+
121
+ class VariableInAtomicSwcInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
122
+ def __init__(self):
123
+ if type(self) == VariableInAtomicSwcInstanceRef:
124
+ raise NotImplementedError("VariableInAtomicSwcInstanceRef is an abstract class.")
125
+
126
+ super().__init__()
127
+
128
+ self.abstractTargetDataElementRef = None # type: RefType
129
+ self.baseRef = None # type: RefType
130
+ self.contextPortRef = None # type: RefType
131
+
132
+ class RVariableInAtomicSwcInstanceRef(VariableInAtomicSwcInstanceRef):
133
+ def __init__(self):
134
+ super().__init__()
135
+
136
+ self.contextRPortRef = None # type: RefType
137
+ self.targetDataElementRef = None # type: RefType
138
+
139
+ def getContextRPortRef(self):
140
+ return self.contextRPortRef
141
+
142
+ def setContextRPortRef(self, value):
143
+ self.contextRPortRef = value
144
+ return self
145
+
146
+ def getTargetDataElementRef(self):
147
+ return self.targetDataElementRef
148
+
149
+ def setTargetDataElementRef(self, value):
150
+ self.targetDataElementRef = value
151
+ return self
152
+
153
+ class InnerPortGroupInCompositionInstanceRef(AtpInstanceRef):
154
+ def __init__(self):
155
+ super().__init__()
156
+
157
+ self.baseRef = None # type: RefType
158
+ self.contextRefs = [] # type: List[RefType]
159
+ self.targetRef = None # type: RefType
160
+
161
+ def getBaseRef(self):
162
+ return self.baseRef
163
+
164
+ def setBaseRef(self, value):
165
+ self.baseRef = value
166
+ return self
167
+
168
+ def getContextRefs(self):
169
+ return self.contextRefs
170
+
171
+ def addContextRefs(self, value):
172
+ self.contextRefs.append(value)
173
+ return self
174
+
175
+ def getTargetRef(self):
176
+ return self.targetRef
177
+
178
+ def setTargetRef(self, value):
179
+ self.targetRef = value
180
+ return self
181
+
@@ -0,0 +1,154 @@
1
+ from abc import ABCMeta
2
+ from typing import List
3
+
4
+ from ..components import SwComponentType
5
+ from ..composition.instance_refs import PPortInCompositionInstanceRef, PortInCompositionTypeInstanceRef, RPortInCompositionInstanceRef
6
+ from .....ar_ref import RefType
7
+ from .....ar_object import ARObject
8
+ from .....general_structure import Identifiable
9
+
10
+
11
+ class SwComponentPrototype(Identifiable):
12
+ def __init__(self, parent: ARObject, short_name: str):
13
+ super().__init__(parent, short_name)
14
+
15
+ self.typeTRef = None # type: RefType
16
+
17
+ def getTypeTRef(self):
18
+ return self.typeTRef
19
+
20
+ def setTypeTRef(self, value):
21
+ self.typeTRef = value
22
+ return self
23
+
24
+ class SwConnector(Identifiable, metaclass = ABCMeta):
25
+ def __init__(self, parent: ARObject, short_name: str):
26
+ super().__init__(parent, short_name)
27
+
28
+ self.mappingRef = None # type: RefType
29
+
30
+ def getMappingRef(self):
31
+ return self.mappingRef
32
+
33
+ def setMappingRef(self, value):
34
+ self.mappingRef = value
35
+ return self
36
+
37
+ class AssemblySwConnector(SwConnector):
38
+ def __init__(self, parent: ARObject, short_name: str):
39
+ super().__init__(parent, short_name)
40
+
41
+ self.providerIRef = None # type: PPortInCompositionInstanceRef
42
+ self.requesterIRef = None # type: RPortInCompositionInstanceRef
43
+
44
+ def getProviderIRef(self) -> PPortInCompositionInstanceRef:
45
+ return self.providerIRef
46
+
47
+ def setProviderIRef(self, value: PPortInCompositionInstanceRef):
48
+ self.providerIRef = value
49
+ return self
50
+
51
+ def getRequesterIRef(self) -> PPortInCompositionInstanceRef:
52
+ return self.requesterIRef
53
+
54
+ def setRequesterIRef(self, value: PPortInCompositionInstanceRef):
55
+ self.requesterIRef = value
56
+ return self
57
+
58
+ class DelegationSwConnector(SwConnector):
59
+ def __init__(self, parent: ARObject, short_name: str):
60
+ super().__init__(parent, short_name)
61
+
62
+ self.innerPortIRref = None # type: PortInCompositionTypeInstanceRef
63
+ self.outerPortRef = None # type: RefType
64
+
65
+ def getInnerPortIRref(self):
66
+ return self.innerPortIRref
67
+
68
+ def setInnerPortIRref(self, value):
69
+ self.innerPortIRref = value
70
+ return self
71
+
72
+ def getOuterPortRef(self):
73
+ return self.outerPortRef
74
+
75
+ def setOuterPortRef(self, value):
76
+ self.outerPortRef = value
77
+ return self
78
+
79
+
80
+ class PassThroughSwConnector(SwConnector):
81
+ def __init__(self, parent: ARObject, short_name: str):
82
+ super().__init__(parent, short_name)
83
+
84
+ self.providedOuterPortRef = None # type: RefType
85
+ self.requiredOuterPortRef = None # type: RefType
86
+
87
+ def getProvidedOuterPortRef(self):
88
+ return self.providedOuterPortRef
89
+
90
+ def setProvidedOuterPortRef(self, value):
91
+ self.providedOuterPortRef = value
92
+ return self
93
+
94
+ def getRequiredOuterPortRef(self):
95
+ return self.requiredOuterPortRef
96
+
97
+ def setRequiredOuterPortRef(self, value):
98
+ self.requiredOuterPortRef = value
99
+ return self
100
+
101
+
102
+ class CompositionSwComponentType(SwComponentType):
103
+ def __init__(self, parent: ARObject, short_name: str):
104
+ super().__init__(parent, short_name)
105
+
106
+ self.constantValueMappingRefs = [] # type: List[RefType]
107
+ self.dataTypeMappingRefs = [] # type: List[RefType]
108
+ self.instantiationRTEEventProps = [] # type: List[InstantiationRTEEventProps]
109
+
110
+ def removeAllAssemblySwConnector(self):
111
+ for sw_connector in self.getAssemblySwConnectors():
112
+ self.elements.pop(sw_connector.short_name)
113
+
114
+ def removeAllDelegationSwConnector(self):
115
+ for sw_connector in self.getDelegationSwConnectors():
116
+ self.elements.pop(sw_connector.short_name)
117
+
118
+ def createAssemblySwConnector(self, short_name: str) -> AssemblySwConnector:
119
+ if (short_name not in self.elements):
120
+ connector = AssemblySwConnector(self, short_name)
121
+ self.elements[short_name] = connector
122
+ return self.elements[short_name]
123
+
124
+ def createDelegationSwConnector(self, short_name: str) -> DelegationSwConnector:
125
+ if short_name not in self.elements:
126
+ connector = DelegationSwConnector(self, short_name)
127
+ self.elements[short_name] = connector
128
+ return self.elements[short_name]
129
+
130
+ def getAssemblySwConnectors(self) -> List[AssemblySwConnector]:
131
+ return list(sorted(filter(lambda e: isinstance(e, AssemblySwConnector), self.elements.values()), key = lambda c: c.short_name))
132
+
133
+ def getDelegationSwConnectors(self) -> List[DelegationSwConnector]:
134
+ return list(sorted(filter(lambda e: isinstance(e, DelegationSwConnector), self.elements.values()), key = lambda c: c.short_name))
135
+
136
+ def getSwConnectors(self) -> List[SwConnector]:
137
+ return list(sorted(filter(lambda e: isinstance(e, SwConnector), self.elements.values()), key = lambda c: c.short_name))
138
+
139
+ def createSwComponentPrototype(self, short_name: str) -> SwComponentPrototype:
140
+ if (short_name not in self.elements):
141
+ connector = SwComponentPrototype(self, short_name)
142
+ self.elements[short_name] = connector
143
+ return self.elements[short_name]
144
+
145
+ def getSwComponentPrototypes(self) -> List[SwComponentPrototype]:
146
+ return list(filter(lambda e: isinstance(e, SwComponentPrototype), self.elements.values()))
147
+
148
+ def addDataTypeMapping(self, data_type_mapping_ref: RefType):
149
+ self.dataTypeMappingRefs.append(data_type_mapping_ref)
150
+
151
+ def getDataTypeMappings(self) -> List[RefType]:
152
+ return self.dataTypeMappingRefs
153
+
154
+
@@ -0,0 +1,157 @@
1
+
2
+ from abc import ABCMeta
3
+
4
+ from .....ar_ref import RefType
5
+ from ...generic_structure.abstract_structure import AtpInstanceRef
6
+
7
+
8
+ class PortInCompositionTypeInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
9
+ def __init__(self):
10
+ if type(self) == PortInCompositionTypeInstanceRef:
11
+ raise NotImplementedError("PortInCompositionTypeInstanceRef is an abstract class.")
12
+
13
+ super().__init__()
14
+
15
+ self.abstractContextComponentRef = None # type: RefType
16
+ self.baseRef = None # type: RefType
17
+ self.targetPortRef = None # type: RefType
18
+
19
+ def getAbstractContextComponentRef(self):
20
+ return self.abstractContextComponentRef
21
+
22
+ def setAbstractContextComponentRef(self, value):
23
+ self.abstractContextComponentRef = value
24
+ return self
25
+
26
+ def getBaseRef(self):
27
+ return self.baseRef
28
+
29
+ def setBaseRef(self, value):
30
+ self.baseRef = value
31
+ return self
32
+
33
+ def getTargetPortRef(self):
34
+ return self.targetPortRef
35
+
36
+ def setTargetPortRef(self, value):
37
+ self.targetPortRef = value
38
+ return self
39
+
40
+
41
+ class PPortInCompositionInstanceRef(PortInCompositionTypeInstanceRef):
42
+ def __init__(self):
43
+ super().__init__()
44
+
45
+ self.contextComponentRef = None # type: RefType
46
+ self.targetPPortRef = None # type: RefType
47
+
48
+ def getContextComponentRef(self):
49
+ return self.contextComponentRef
50
+
51
+ def setContextComponentRef(self, value):
52
+ self.contextComponentRef = value
53
+ return self
54
+
55
+ def getTargetPPortRef(self):
56
+ return self.targetPPortRef
57
+
58
+ def setTargetPPortRef(self, value):
59
+ self.targetPPortRef = value
60
+ return self
61
+
62
+
63
+ class RPortInCompositionInstanceRef(PortInCompositionTypeInstanceRef):
64
+ def __init__(self):
65
+ super().__init__()
66
+
67
+ self.contextComponentRef = None # type: RefType
68
+ self.targetRPortRef = None # type: RefType
69
+
70
+ def getContextComponentRef(self):
71
+ return self.contextComponentRef
72
+
73
+ def setContextComponentRef(self, value):
74
+ self.contextComponentRef = value
75
+ return self
76
+
77
+ def getTargetRPortRef(self):
78
+ return self.targetRPortRef
79
+
80
+ def setTargetRPortRef(self, value):
81
+ self.targetRPortRef = value
82
+ return self
83
+
84
+ class OperationInAtomicSwcInstanceRef(AtpInstanceRef, metaclass=ABCMeta):
85
+ def __init__(self):
86
+ if type(self) == OperationInAtomicSwcInstanceRef:
87
+ raise NotImplementedError("OperationInAtomicSwcInstanceRef is an abstract class.")
88
+
89
+ super().__init__()
90
+
91
+ self.baseRef = None # type: RefType
92
+ self.contextPortRef = None # type: RefType
93
+ self.targetOperationRef = None # type: RefType
94
+
95
+ def getBaseRef(self):
96
+ return self.baseRef
97
+
98
+ def setBaseRef(self, value):
99
+ self.baseRef = value
100
+ return self
101
+
102
+ def getContextPortRef(self):
103
+ return self.contextPortRef
104
+
105
+ def setContextPortRef(self, value):
106
+ self.contextPortRef = value
107
+ return self
108
+
109
+ def getTargetOperationRef(self):
110
+ return self.targetOperationRef
111
+
112
+ def setTargetOperationRef(self, value):
113
+ self.targetOperationRef = value
114
+ return self
115
+
116
+ class POperationInAtomicSwcInstanceRef(OperationInAtomicSwcInstanceRef):
117
+ def __init__(self):
118
+ super().__init__()
119
+
120
+ self.contextPPortRef = None # type: RefType
121
+ self.targetProvidedOperationRef = None # type: RefType
122
+
123
+ def getContextPPortRef(self):
124
+ return self.contextPPortRef
125
+
126
+ def setContextPPortRef(self, value):
127
+ self.contextPPortRef = value
128
+ return self
129
+
130
+ def getTargetProvidedOperationRef(self):
131
+ return self.targetProvidedOperationRef
132
+
133
+ def setTargetProvidedOperationRef(self, value):
134
+ self.targetProvidedOperationRef = value
135
+ return self
136
+
137
+
138
+ class ROperationInAtomicSwcInstanceRef(OperationInAtomicSwcInstanceRef):
139
+ def __init__(self):
140
+ super().__init__()
141
+
142
+ self.contextRPortRef = None # type: RefType
143
+ self.targetRequiredOperationRef = None # type: RefType
144
+
145
+ def getContextRPortRef(self):
146
+ return self.contextRPortRef
147
+
148
+ def setContextRPortRef(self, value):
149
+ self.contextRPortRef = value
150
+ return self
151
+
152
+ def getTargetRequiredOperationRef(self):
153
+ return self.targetRequiredOperationRef
154
+
155
+ def setTargetRequiredOperationRef(self, value):
156
+ self.targetRequiredOperationRef = value
157
+ return self
@@ -0,0 +1,104 @@
1
+ from abc import ABCMeta
2
+
3
+ from .....ar_object import ARNumerical
4
+ from .....ar_ref import RefType
5
+ from ....msr.data_dictionary.data_def_properties import SwDataDefProps
6
+ from ...common_structure import ValueSpecification
7
+ from .....general_structure import AtpFeature, ARObject
8
+
9
+ class AtpPrototype(AtpFeature, metaclass = ABCMeta):
10
+ def __init__(self, parent:ARObject, short_name: str):
11
+ if type(self) == AtpPrototype:
12
+ raise NotImplementedError("AtpPrototype is an abstract class.")
13
+
14
+ super().__init__(parent, short_name)
15
+
16
+ class DataPrototype(AtpPrototype, metaclass = ABCMeta):
17
+ def __init__(self, parent:ARObject, short_name: str):
18
+ if type(self) == DataPrototype:
19
+ raise NotImplementedError("DataPrototype is an abstract class.")
20
+
21
+ super().__init__(parent, short_name)
22
+
23
+ self.swDataDefProps = None # type: SwDataDefProps
24
+
25
+ def getSwDataDefProps(self):
26
+ return self.swDataDefProps
27
+
28
+ def setSwDataDefProps(self, value):
29
+ self.swDataDefProps = value
30
+ return self
31
+
32
+ class AutosarDataPrototype(DataPrototype, metaclass = ABCMeta):
33
+ def __init__(self, parent:ARObject, short_name: str):
34
+ if type(self) == AutosarDataPrototype:
35
+ raise NotImplementedError("AutosarDataPrototype is an abstract class.")
36
+
37
+ super().__init__(parent, short_name)
38
+
39
+ self.typeTRef = None
40
+
41
+ def getTypeTRef(self):
42
+ return self.typeTRef
43
+
44
+ def setTypeTRef(self, value):
45
+ self.typeTRef = value
46
+ return self
47
+
48
+ class VariableDataPrototype(AutosarDataPrototype):
49
+ def __init__(self, parent:ARObject, short_name: str):
50
+ super().__init__(parent, short_name)
51
+
52
+ self.initValue = None # type: ValueSpecification
53
+
54
+ def getInitValue(self):
55
+ return self.initValue
56
+
57
+ def setInitValue(self, value):
58
+ self.initValue = value
59
+ return self
60
+
61
+ class ApplicationCompositeElementDataPrototype(DataPrototype, metaclass = ABCMeta):
62
+ def __init__(self, parent:ARObject, short_name: str):
63
+ if type(self) == ApplicationCompositeElementDataPrototype:
64
+ raise NotImplementedError("ApplicationCompositeElementDataPrototype is an abstract class.")
65
+
66
+ super().__init__(parent, short_name)
67
+
68
+ self.typeTRef = None # type: RefType
69
+
70
+ def getTypeTRef(self):
71
+ return self.typeTRef
72
+
73
+ def setTypeTRef(self, value):
74
+ self.typeTRef = value
75
+ return self
76
+
77
+
78
+ class ApplicationArrayElement(ApplicationCompositeElementDataPrototype):
79
+ def __init__(self, parent:ARObject, short_name: str):
80
+ super().__init__(parent, short_name)
81
+
82
+ self.arraySizeHandling = None # type: str
83
+ self.arraySizeSemantics = None # type: str
84
+ self.indexDataTypeRef = None # type: RefType
85
+ self.maxNumberOfElements = None # type: ARNumerical
86
+
87
+ class ApplicationRecordElement(ApplicationCompositeElementDataPrototype):
88
+ def __init__(self, parent:ARObject, short_name: str):
89
+ super().__init__(parent, short_name)
90
+
91
+ self.isOptional = None
92
+
93
+ class ParameterDataPrototype(AutosarDataPrototype):
94
+ def __init__(self, parent: ARObject, short_name: str):
95
+ super().__init__(parent, short_name)
96
+
97
+ self.initValue = None # type: ValueSpecification
98
+
99
+ def getInitValue(self):
100
+ return self.initValue
101
+
102
+ def setInitValue(self, value):
103
+ self.initValue = value
104
+ return self