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.
- armodel/cli/arxml_dump_cli.py +13 -13
- armodel/cli/memory_section_cli.py +76 -0
- armodel/cli/system_signal_cli.py +74 -0
- armodel/data_models/sw_connector.py +3 -3
- armodel/lib/__init__.py +2 -1
- armodel/lib/system_signal.py +37 -0
- armodel/models/__init__.py +9 -4
- armodel/models/annotation.py +27 -3
- armodel/models/ar_object.py +18 -6
- armodel/models/ar_package.py +271 -127
- armodel/models/ar_ref.py +11 -166
- armodel/models/bsw_module_template.py +37 -14
- armodel/models/common_structure.py +91 -174
- armodel/models/communication.py +2 -2
- armodel/models/data_prototype.py +41 -6
- armodel/models/datatype.py +16 -74
- armodel/models/end_to_end_protection.py +1 -1
- armodel/models/fibex/can_communication.py +119 -3
- armodel/models/fibex/fibex_4_can/__init__.py +0 -0
- armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
- armodel/models/fibex/fibex_4_multiplatform.py +81 -88
- armodel/models/fibex/fibex_core/__init__.py +0 -0
- armodel/models/fibex/fibex_core/core_communication.py +627 -0
- armodel/models/fibex/fibex_core/core_topology.py +180 -0
- armodel/models/fibex/lin_communication.py +24 -3
- armodel/models/general_structure.py +110 -11
- armodel/models/internal_behavior.py +1 -1
- armodel/models/m2/__init__.py +0 -0
- armodel/models/m2/autosar_templates/__init__.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
- armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
- armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +148 -0
- armodel/models/m2/autosar_templates/ecuc_description_template.py +269 -0
- armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
- armodel/models/m2/autosar_templates/generic_structure/abstract_structure.py +69 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/communication.py +360 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +246 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +181 -0
- armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +154 -0
- armodel/models/m2/autosar_templates/sw_component_template/composition/instance_refs.py +157 -0
- armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/data_type/data_prototypes.py +104 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface/__init__.py +243 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface/instance_refs.py +39 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +46 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py +169 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +38 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +27 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
- armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
- armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
- armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
- armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
- armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/units.py +105 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
- armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- armodel/models/m2/msr/documentation/block_elements.py +18 -0
- armodel/models/m2_msr.py +1 -0
- armodel/models/multilanguage_data.py +15 -0
- armodel/models/per_instance_memory.py +34 -6
- armodel/models/port_prototype.py +2 -253
- armodel/models/service_needs.py +3 -1
- armodel/models/sw_component.py +19 -358
- armodel/parser/__init__.py +2 -1
- armodel/parser/abstract_arxml_parser.py +10 -1
- armodel/parser/arxml_parser.py +912 -229
- armodel/parser/file_parser.py +43 -0
- armodel/tests/test_armodel/models/test_ar_package.py +6 -3
- armodel/tests/test_armodel/models/test_ar_ref.py +18 -16
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
- armodel/tests/test_armodel/models/test_common_structure.py +8 -7
- armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
- armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
- armodel/tests/test_armodel/models/test_datatype.py +9 -9
- armodel/tests/test_armodel/models/test_port_interface.py +2 -2
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -3
- armodel/tests/test_armodel/parser/test_sw_components.py +3 -3
- armodel/writer/abstract_arxml_writer.py +5 -1
- armodel/writer/arxml_writer.py +870 -224
- {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/METADATA +28 -1
- armodel-1.6.1.dist-info/RECORD +140 -0
- {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/entry_points.txt +3 -1
- armodel-1.5.0.dist-info/RECORD +0 -91
- {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/LICENSE +0 -0
- {armodel-1.5.0.dist-info → armodel-1.6.1.dist-info}/WHEEL +0 -0
- {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
|
|
File without changes
|
|
@@ -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
|