armodel 1.6.0__py3-none-any.whl → 1.6.2__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 (66) hide show
  1. armodel/cli/arxml_dump_cli.py +25 -22
  2. armodel/cli/arxml_format_cli.py +1 -4
  3. armodel/cli/connector_update_cli.py +1 -1
  4. armodel/cli/swc_list_cli.py +1 -1
  5. armodel/data_models/sw_connector.py +3 -3
  6. armodel/lib/sw_component.py +3 -1
  7. armodel/lib/system_signal.py +3 -1
  8. armodel/models/__init__.py +5 -3
  9. armodel/models/ar_object.py +1 -1
  10. armodel/models/ar_package.py +185 -151
  11. armodel/models/ar_ref.py +0 -202
  12. armodel/models/common_structure.py +3 -71
  13. armodel/models/communication.py +1 -1
  14. armodel/models/datatype.py +7 -72
  15. armodel/models/end_to_end_protection.py +1 -1
  16. armodel/models/general_structure.py +10 -4
  17. armodel/models/internal_behavior.py +1 -1
  18. armodel/models/m2/autosar_templates/autosar_top_level_structure.py +120 -0
  19. armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
  20. armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +154 -0
  21. armodel/models/m2/autosar_templates/ecuc_description_template.py +2 -1
  22. armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
  23. armodel/models/m2/autosar_templates/generic_structure/abstract_structure.py +69 -0
  24. armodel/models/m2/autosar_templates/generic_structure/ar_package.py +528 -0
  25. armodel/models/m2/autosar_templates/sw_component_template/communication.py +44 -0
  26. armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +246 -0
  27. armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +33 -1
  28. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +154 -0
  29. armodel/models/m2/autosar_templates/sw_component_template/composition/instance_refs.py +157 -0
  30. armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
  31. armodel/models/m2/autosar_templates/sw_component_template/data_type/data_prototypes.py +104 -0
  32. armodel/models/m2/autosar_templates/sw_component_template/port_interface/__init__.py +243 -0
  33. armodel/models/m2/autosar_templates/sw_component_template/port_interface/instance_refs.py +39 -0
  34. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +3 -11
  35. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py +169 -0
  36. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +1 -2
  37. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +5 -4
  38. armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
  39. armodel/models/m2_msr.py +1 -0
  40. armodel/models/port_prototype.py +1 -90
  41. armodel/models/service_needs.py +3 -1
  42. armodel/models/sw_component.py +6 -143
  43. armodel/parser/__init__.py +2 -1
  44. armodel/parser/abstract_arxml_parser.py +1 -1
  45. armodel/parser/arxml_parser.py +157 -80
  46. armodel/parser/connector_xlsx_parser.py +3 -1
  47. armodel/parser/file_parser.py +43 -0
  48. armodel/report/connector_xls_report.py +2 -1
  49. armodel/tests/test_armodel/models/test_ar_package.py +6 -3
  50. armodel/tests/test_armodel/models/test_ar_ref.py +15 -13
  51. armodel/tests/test_armodel/models/test_common_structure.py +6 -5
  52. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  53. armodel/tests/test_armodel/models/test_datatype.py +9 -9
  54. armodel/tests/test_armodel/models/test_general_structure.py +1 -1
  55. armodel/tests/test_armodel/models/test_implementation.py +1 -1
  56. armodel/tests/test_armodel/models/test_port_interface.py +2 -2
  57. armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -1
  58. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  59. armodel/writer/abstract_arxml_writer.py +5 -1
  60. armodel/writer/arxml_writer.py +70 -60
  61. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/METADATA +5 -1
  62. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/RECORD +66 -51
  63. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/LICENSE +0 -0
  64. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/WHEEL +0 -0
  65. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/entry_points.txt +0 -0
  66. {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,246 @@
1
+ from abc import ABCMeta
2
+ from typing import List
3
+
4
+
5
+
6
+ from .....ar_ref import RefType, TRefType
7
+ from .....general_structure import ARElement, Identifiable
8
+ from .....ar_object import ARBoolean, ARObject
9
+ from ...common_structure.implementation import ImplementationProps
10
+ from ..communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec, NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec, ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec, RPortComSpec, ServerComSpec
11
+ from .instance_refs import InnerPortGroupInCompositionInstanceRef
12
+
13
+ class SymbolProps(ImplementationProps):
14
+ def __init__(self, parent: ARObject, short_name: str):
15
+ super().__init__(parent, short_name)
16
+
17
+ class PortPrototype(Identifiable):
18
+ def __init__(self, parent: ARObject, short_name: str):
19
+ super().__init__(parent, short_name)
20
+
21
+ self.clientServerAnnotations = []
22
+ self.delegatedPortAnnotation = None
23
+ self.ioHwAbstractionServerAnnotations = []
24
+ self.modePortAnnotations = []
25
+ self.nvDataPortAnnotations = []
26
+ self.parameterPortAnnotations = []
27
+ self.senderReceiverAnnotations = []
28
+ self.triggerPortAnnotations = []
29
+
30
+ def getClientServerAnnotations(self):
31
+ return self.clientServerAnnotations
32
+
33
+ def addClientServerAnnotation(self, value):
34
+ self.clientServerAnnotations.append(value)
35
+ return self
36
+
37
+ def getDelegatedPortAnnotation(self):
38
+ return self.delegatedPortAnnotation
39
+
40
+ def setDelegatedPortAnnotation(self, value):
41
+ self.delegatedPortAnnotation = value
42
+ return self
43
+
44
+ def getIoHwAbstractionServerAnnotations(self):
45
+ return self.ioHwAbstractionServerAnnotations
46
+
47
+ def addIoHwAbstractionServerAnnotation(self, value):
48
+ self.ioHwAbstractionServerAnnotations.append(value)
49
+ return self
50
+
51
+ def getModePortAnnotations(self):
52
+ return self.modePortAnnotations
53
+
54
+ def addModePortAnnotation(self, value):
55
+ self.modePortAnnotations.append(value)
56
+ return self
57
+
58
+ def getNvDataPortAnnotations(self):
59
+ return self.nvDataPortAnnotations
60
+
61
+ def addNvDataPortAnnotation(self, value):
62
+ self.nvDataPortAnnotations.append(value)
63
+ return self
64
+
65
+ def getParameterPortAnnotations(self):
66
+ return self.parameterPortAnnotations
67
+
68
+ def addParameterPortAnnotation(self, value):
69
+ self.parameterPortAnnotations.append(value)
70
+ return self
71
+
72
+ def getSenderReceiverAnnotations(self):
73
+ return self.senderReceiverAnnotations
74
+
75
+ def addSenderReceiverAnnotation(self, value):
76
+ self.senderReceiverAnnotations.append(value)
77
+ return self
78
+
79
+ def getTriggerPortAnnotations(self):
80
+ return self.triggerPortAnnotations
81
+
82
+ def addTriggerPortAnnotation(self, value):
83
+ self.triggerPortAnnotations.append(value)
84
+ return self
85
+
86
+ class AbstractProvidedPortPrototype(PortPrototype):
87
+ def __init__(self, parent: ARObject, short_name: str):
88
+ super().__init__(parent, short_name)
89
+
90
+ self.provided_com_specs = [] # type: List[PPortComSpec]
91
+
92
+ def _validateRPortComSpec(self, com_spec: PPortComSpec):
93
+ if isinstance(com_spec, NonqueuedSenderComSpec):
94
+ if com_spec.dataElementRef == None:
95
+ raise ValueError(
96
+ "operation of NonqueuedSenderComSpec is invalid")
97
+ if com_spec.dataElementRef.dest != "VARIABLE-DATA-PROTOTYPE":
98
+ raise ValueError(
99
+ "Invalid operation dest of NonqueuedSenderComSpec")
100
+ elif isinstance(com_spec, ServerComSpec):
101
+ pass
102
+ elif isinstance(com_spec, QueuedSenderComSpec):
103
+ pass
104
+ elif isinstance(com_spec, ModeSwitchSenderComSpec):
105
+ pass
106
+ else:
107
+ raise ValueError("Unsupported com spec")
108
+
109
+ def addProvidedComSpec(self, com_spec):
110
+ self._validateRPortComSpec(com_spec)
111
+ self.provided_com_specs.append(com_spec)
112
+
113
+ def getProvidedComSpecs(self) -> List[PPortComSpec]:
114
+ return self.provided_com_specs
115
+
116
+ def getNonqueuedSenderComSpecs(self) -> List[NonqueuedSenderComSpec]:
117
+ return filter(lambda c: isinstance(c, NonqueuedSenderComSpec), self.provided_com_specs)
118
+
119
+
120
+ class AbstractRequiredPortPrototype(PortPrototype):
121
+ def __init__(self, parent: ARObject, short_name: str):
122
+ super().__init__(parent, short_name)
123
+
124
+ self.required_com_specs = [] # type: List[RPortComSpec]
125
+
126
+ def _validateRPortComSpec(self, com_spec: RPortComSpec):
127
+ if (isinstance(com_spec, ClientComSpec)):
128
+ if com_spec.getOperationRef() is not None:
129
+ if com_spec.getOperationRef().getDest() != "CLIENT-SERVER-OPERATION":
130
+ raise ValueError("Invalid operation dest of ClientComSpec.")
131
+ elif isinstance(com_spec, NonqueuedReceiverComSpec):
132
+ if com_spec.getDataElementRef() is not None:
133
+ if com_spec.getDataElementRef().getDest() != "VARIABLE-DATA-PROTOTYPE":
134
+ raise ValueError("Invalid date element dest of NonqueuedReceiverComSpec.")
135
+ elif isinstance(com_spec, QueuedReceiverComSpec):
136
+ pass
137
+ elif isinstance(com_spec, ModeSwitchReceiverComSpec):
138
+ pass
139
+ elif isinstance(com_spec, ParameterRequireComSpec):
140
+ if com_spec.getParameterRef() is not None:
141
+ if com_spec.getParameterRef().getDest() != "PARAMETER-DATA-PROTOTYPE":
142
+ raise ValueError("Invalid parameter dest of ParameterRequireComSpec.")
143
+ else:
144
+ raise ValueError("Unsupported RPortComSpec <%s>" % type(com_spec))
145
+
146
+ def addRequiredComSpec(self, com_spec: RPortComSpec):
147
+ self._validateRPortComSpec(com_spec)
148
+ self.required_com_specs.append(com_spec)
149
+
150
+ def getRequiredComSpecs(self) -> List[RPortComSpec]:
151
+ return self.required_com_specs
152
+
153
+ def getClientComSpecs(self) -> List[ClientComSpec]:
154
+ return filter(lambda c: isinstance(c, ClientComSpec), self.required_com_specs)
155
+
156
+ def getNonqueuedReceiverComSpecs(self) -> List[NonqueuedReceiverComSpec]:
157
+ return filter(lambda c: isinstance(c, NonqueuedReceiverComSpec), self.required_com_specs)
158
+
159
+
160
+ class PPortPrototype(AbstractProvidedPortPrototype):
161
+ def __init__(self, parent: ARObject, short_name: str):
162
+ super().__init__(parent, short_name)
163
+
164
+ self.providedInterfaceTRef = None # type: TRefType
165
+
166
+ def getProvidedInterfaceTRef(self):
167
+ return self.providedInterfaceTRef
168
+
169
+ def setProvidedInterfaceTRef(self, value):
170
+ self.providedInterfaceTRef = value
171
+ return self
172
+
173
+ class RPortPrototype(AbstractRequiredPortPrototype):
174
+ def __init__(self, parent: ARObject, short_name: str):
175
+ super().__init__(parent, short_name)
176
+
177
+ self.mayBeUnconnected = None # type: ARBoolean
178
+ self.requiredInterfaceTRef = None # type: TRefType
179
+
180
+ def getMayBeUnconnected(self):
181
+ return self.mayBeUnconnected
182
+
183
+ def setMayBeUnconnected(self, value):
184
+ self.mayBeUnconnected = value
185
+ return self
186
+
187
+ def getRequiredInterfaceTRef(self):
188
+ return self.requiredInterfaceTRef
189
+
190
+ def setRequiredInterfaceTRef(self, value):
191
+ self.requiredInterfaceTRef = value
192
+ return self
193
+
194
+ class PortGroup(Identifiable):
195
+ def __init__(self, parent: ARObject, short_name: str):
196
+ super().__init__(parent, short_name)
197
+
198
+ self._inner_group_iref = [] # type: List[InnerPortGroupInCompositionInstanceRef]
199
+ self._outer_port_ref = [] # type: List[RefType]
200
+
201
+ def addInnerGroupIRef(self, iref: InnerPortGroupInCompositionInstanceRef):
202
+ self._inner_group_iref.append(iref)
203
+
204
+ def getInnerGroupIRefs(self) -> List[InnerPortGroupInCompositionInstanceRef]:
205
+ return self._inner_group_iref
206
+
207
+ def addOuterPortRef(self, ref: RefType):
208
+ self._outer_port_ref.append(ref)
209
+
210
+ def getOuterPortRefs(self) -> List[RefType]:
211
+ return self._outer_port_ref
212
+
213
+ class SwComponentType(ARElement, metaclass = ABCMeta):
214
+ def __init__(self, parent: ARObject, short_name: str):
215
+ super().__init__(parent, short_name)
216
+
217
+ def createPPortPrototype(self, short_name: str) -> PPortPrototype:
218
+ prototype = PPortPrototype(self, short_name)
219
+ if (short_name not in self.elements):
220
+ self.elements[short_name] = prototype
221
+ return self.elements[short_name]
222
+
223
+ def createRPortPrototype(self, short_name) -> RPortPrototype:
224
+ prototype = RPortPrototype(self, short_name)
225
+ if (short_name not in self.elements):
226
+ self.elements[short_name] = prototype
227
+ return self.elements[short_name]
228
+
229
+ def createPortGroup(self, short_name) -> PortGroup:
230
+ port_group = PortGroup(self, short_name)
231
+ if (short_name not in self.elements):
232
+ self.elements[short_name] = port_group
233
+ return self.elements[short_name]
234
+
235
+ def getPPortPrototypes(self) -> List[PPortPrototype]:
236
+ return list(sorted(filter(lambda c: isinstance(c, PPortPrototype), self.elements.values()), key= lambda o: o.short_name))
237
+
238
+ def getRPortPrototypes(self) -> List[RPortPrototype]:
239
+ return list(sorted(filter(lambda c: isinstance(c, RPortPrototype), self.elements.values()), key= lambda o: o.short_name))
240
+
241
+ def getPortPrototypes(self) -> List[PortPrototype]:
242
+ return list(sorted(filter(lambda c: isinstance(c, PortPrototype), self.elements.values()), key= lambda o: o.short_name))
243
+
244
+ def getPortGroups(self) -> List[PortGroup]:
245
+ return list(sorted(filter(lambda c: isinstance(c, PortGroup), self.elements.values()), key= lambda o: o.short_name))
246
+
@@ -1,5 +1,7 @@
1
1
  from abc import ABCMeta
2
- from .....ar_ref import AtpInstanceRef, RefType
2
+
3
+ from ...generic_structure.abstract_structure import AtpInstanceRef
4
+ from .....ar_ref import RefType
3
5
 
4
6
 
5
7
  class ModeGroupInAtomicSwcInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
@@ -147,3 +149,33 @@ class RVariableInAtomicSwcInstanceRef(VariableInAtomicSwcInstanceRef):
147
149
  def setTargetDataElementRef(self, value):
148
150
  self.targetDataElementRef = value
149
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