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.
- armodel/cli/arxml_dump_cli.py +25 -22
- armodel/cli/arxml_format_cli.py +1 -4
- armodel/cli/connector_update_cli.py +1 -1
- armodel/cli/swc_list_cli.py +1 -1
- armodel/data_models/sw_connector.py +3 -3
- armodel/lib/sw_component.py +3 -1
- armodel/lib/system_signal.py +3 -1
- armodel/models/__init__.py +5 -3
- armodel/models/ar_object.py +1 -1
- armodel/models/ar_package.py +185 -151
- armodel/models/ar_ref.py +0 -202
- armodel/models/common_structure.py +3 -71
- armodel/models/communication.py +1 -1
- armodel/models/datatype.py +7 -72
- armodel/models/end_to_end_protection.py +1 -1
- armodel/models/general_structure.py +10 -4
- armodel/models/internal_behavior.py +1 -1
- armodel/models/m2/autosar_templates/autosar_top_level_structure.py +120 -0
- armodel/models/m2/autosar_templates/common_structure/implementation.py +21 -0
- armodel/models/m2/autosar_templates/common_structure/implementation_data_types.py +154 -0
- armodel/models/m2/autosar_templates/ecuc_description_template.py +2 -1
- 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/generic_structure/ar_package.py +528 -0
- armodel/models/m2/autosar_templates/sw_component_template/communication.py +44 -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 +33 -1
- 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/swc_internal_behavior/data_elements.py +3 -11
- 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 +1 -2
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +5 -4
- armodel/models/m2/autosar_templates/system_template/instance_refs.py +48 -0
- armodel/models/m2_msr.py +1 -0
- armodel/models/port_prototype.py +1 -90
- armodel/models/service_needs.py +3 -1
- armodel/models/sw_component.py +6 -143
- armodel/parser/__init__.py +2 -1
- armodel/parser/abstract_arxml_parser.py +1 -1
- armodel/parser/arxml_parser.py +157 -80
- armodel/parser/connector_xlsx_parser.py +3 -1
- armodel/parser/file_parser.py +43 -0
- armodel/report/connector_xls_report.py +2 -1
- armodel/tests/test_armodel/models/test_ar_package.py +6 -3
- armodel/tests/test_armodel/models/test_ar_ref.py +15 -13
- armodel/tests/test_armodel/models/test_common_structure.py +6 -5
- armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
- armodel/tests/test_armodel/models/test_datatype.py +9 -9
- armodel/tests/test_armodel/models/test_general_structure.py +1 -1
- armodel/tests/test_armodel/models/test_implementation.py +1 -1
- armodel/tests/test_armodel/models/test_port_interface.py +2 -2
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -1
- armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
- armodel/writer/abstract_arxml_writer.py +5 -1
- armodel/writer/arxml_writer.py +70 -60
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/METADATA +5 -1
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/RECORD +66 -51
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/LICENSE +0 -0
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/WHEEL +0 -0
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.0.dist-info → armodel-1.6.2.dist-info}/top_level.txt +0 -0
|
@@ -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
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
from ..data_type.data_prototypes import ParameterDataPrototype, VariableDataPrototype, AutosarDataPrototype
|
|
5
|
+
from .....ar_object import ARBoolean, ARLiteral, ARNumerical
|
|
6
|
+
from .....common_structure import ModeDeclarationGroupPrototype, Trigger
|
|
7
|
+
from .....datatype import AtpType
|
|
8
|
+
from .....general_structure import ARObject, Identifiable, AtpFeature
|
|
9
|
+
from .....ar_ref import RefType
|
|
10
|
+
|
|
11
|
+
class PortInterface(AtpType, metaclass = ABCMeta):
|
|
12
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
13
|
+
if type(self) == PortInterface:
|
|
14
|
+
raise NotImplementedError("PortInterface is an abstract class.")
|
|
15
|
+
super().__init__(parent, short_name)
|
|
16
|
+
|
|
17
|
+
self.isService = None # type: ARBoolean
|
|
18
|
+
self.serviceKind = None # type: ARLiteral
|
|
19
|
+
|
|
20
|
+
def getIsService(self):
|
|
21
|
+
return self.isService
|
|
22
|
+
|
|
23
|
+
def setIsService(self, value):
|
|
24
|
+
self.isService = value
|
|
25
|
+
return self
|
|
26
|
+
|
|
27
|
+
def getServiceKind(self):
|
|
28
|
+
return self.serviceKind
|
|
29
|
+
|
|
30
|
+
def setServiceKind(self, value):
|
|
31
|
+
self.serviceKind = value
|
|
32
|
+
return self
|
|
33
|
+
|
|
34
|
+
class DataInterface(PortInterface, metaclass = ABCMeta):
|
|
35
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
36
|
+
if type(self) == DataInterface:
|
|
37
|
+
raise NotImplementedError("DataInterface is an abstract class.")
|
|
38
|
+
super().__init__(parent, short_name)
|
|
39
|
+
|
|
40
|
+
class NvDataInterface(DataInterface):
|
|
41
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
42
|
+
super().__init__(parent, short_name)
|
|
43
|
+
|
|
44
|
+
self.nvDatas = [] # type: List[VariableDataPrototype]
|
|
45
|
+
|
|
46
|
+
def getNvDatas(self):
|
|
47
|
+
return self.nvDatas
|
|
48
|
+
|
|
49
|
+
def setNvData(self, value):
|
|
50
|
+
self.nvDatas.append(value)
|
|
51
|
+
return self
|
|
52
|
+
|
|
53
|
+
class ParameterInterface(DataInterface):
|
|
54
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
55
|
+
super().__init__(parent, short_name)
|
|
56
|
+
|
|
57
|
+
self.parameters = [] # type: List[ParameterDataPrototype]
|
|
58
|
+
|
|
59
|
+
def getParameters(self):
|
|
60
|
+
return list(sorted(filter(lambda a : isinstance(a, ParameterDataPrototype), self.elements.values()), key = lambda a: a.short_name))
|
|
61
|
+
|
|
62
|
+
def createParameter(self, short_name: str) -> ParameterDataPrototype:
|
|
63
|
+
if (short_name not in self.elements):
|
|
64
|
+
parameter = ParameterDataPrototype(self, short_name)
|
|
65
|
+
self.elements[short_name] = parameter
|
|
66
|
+
self.parameters.append(parameter)
|
|
67
|
+
return self.elements[short_name]
|
|
68
|
+
|
|
69
|
+
class InvalidationPolicy(ARObject):
|
|
70
|
+
def __init__(self):
|
|
71
|
+
super().__init__()
|
|
72
|
+
|
|
73
|
+
self.dataElementRef = None # type: RefType
|
|
74
|
+
self.handleInvalid = None # type: ARLiteral
|
|
75
|
+
|
|
76
|
+
def getDataElementRef(self):
|
|
77
|
+
return self.dataElementRef
|
|
78
|
+
|
|
79
|
+
def setDataElementRef(self, value):
|
|
80
|
+
self.dataElementRef = value
|
|
81
|
+
return self
|
|
82
|
+
|
|
83
|
+
def getHandleInvalid(self):
|
|
84
|
+
return self.handleInvalid
|
|
85
|
+
|
|
86
|
+
def setHandleInvalid(self, value):
|
|
87
|
+
self.handleInvalid = value
|
|
88
|
+
return self
|
|
89
|
+
|
|
90
|
+
class SenderReceiverInterface(DataInterface):
|
|
91
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
92
|
+
super().__init__(parent, short_name)
|
|
93
|
+
|
|
94
|
+
self.invalidationPolicies = [] # type: List[InvalidationPolicy]
|
|
95
|
+
self.metaDataItemSets = [] # type: List[MetaDataItemSet]
|
|
96
|
+
|
|
97
|
+
def getInvalidationPolicies(self):
|
|
98
|
+
return self.invalidationPolicies
|
|
99
|
+
|
|
100
|
+
def addInvalidationPolicy(self, value):
|
|
101
|
+
self.invalidationPolicies.append(value)
|
|
102
|
+
return self
|
|
103
|
+
|
|
104
|
+
def getMetaDataItemSets(self):
|
|
105
|
+
return self.metaDataItemSets
|
|
106
|
+
|
|
107
|
+
def addMetaDataItemSet(self, value):
|
|
108
|
+
self.metaDataItemSets.append(value)
|
|
109
|
+
return self
|
|
110
|
+
|
|
111
|
+
def createDataElement(self, short_name) -> VariableDataPrototype:
|
|
112
|
+
if (short_name not in self.elements):
|
|
113
|
+
data_element = VariableDataPrototype(self, short_name)
|
|
114
|
+
self.elements[short_name] = data_element
|
|
115
|
+
return self.elements[short_name]
|
|
116
|
+
|
|
117
|
+
def getDataElements(self) -> List[VariableDataPrototype]:
|
|
118
|
+
return list(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements.values()))
|
|
119
|
+
|
|
120
|
+
def getDataElement(self, short_name) -> VariableDataPrototype:
|
|
121
|
+
if (short_name in self.elements):
|
|
122
|
+
data_element = self.elements[short_name]
|
|
123
|
+
#if (not isinstance(data_element, VariableDataPrototype)):
|
|
124
|
+
# raise IndexError("%s is not data element." % short_name)
|
|
125
|
+
return data_element
|
|
126
|
+
raise IndexError("data element <%s> can not be found." % short_name)
|
|
127
|
+
|
|
128
|
+
def createInvalidationPolicy(self) -> InvalidationPolicy:
|
|
129
|
+
policy = InvalidationPolicy(self)
|
|
130
|
+
self.invalidationPolicies.append(policy)
|
|
131
|
+
return policy
|
|
132
|
+
|
|
133
|
+
def getInvalidationPolicys(self) -> List[InvalidationPolicy]:
|
|
134
|
+
return list(filter(lambda c: isinstance(c, InvalidationPolicy), self.invalidationPolicies))
|
|
135
|
+
|
|
136
|
+
class ArgumentDataPrototype(AutosarDataPrototype):
|
|
137
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
138
|
+
super().__init__(parent, short_name)
|
|
139
|
+
self.direction = ""
|
|
140
|
+
self.server_argument_impl_policy = ""
|
|
141
|
+
|
|
142
|
+
class ApplicationError(Identifiable):
|
|
143
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
144
|
+
super().__init__(parent, short_name)
|
|
145
|
+
|
|
146
|
+
self.error_code = None # type: ARNumerical
|
|
147
|
+
|
|
148
|
+
class ClientServerOperation(AtpFeature):
|
|
149
|
+
"""
|
|
150
|
+
An operation declared within the scope of a client/server interface.
|
|
151
|
+
Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
|
|
152
|
+
Base: ARObject, AtpClassifier , AtpFeature, AtpStructureElement, Identifiable, MultilanguageReferrable, Referrable
|
|
153
|
+
|
|
154
|
+
Attributes:
|
|
155
|
+
-----------
|
|
156
|
+
_argument: ArgumentDataPrototype (optional)
|
|
157
|
+
An argument of this ClientServerOperation
|
|
158
|
+
|
|
159
|
+
_possibleError: RefType -> ApplicationError (optional)
|
|
160
|
+
Possible errors that may by raised by the referring operation
|
|
161
|
+
|
|
162
|
+
Methods:
|
|
163
|
+
--------
|
|
164
|
+
addArgumentDataPrototype add the argument
|
|
165
|
+
getArgumentDataPrototypes get the arguments
|
|
166
|
+
addPossibleErrorRef add the possible error
|
|
167
|
+
getPossbileErrorRefs get the possible errors
|
|
168
|
+
|
|
169
|
+
"""
|
|
170
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
171
|
+
super().__init__(parent, short_name)
|
|
172
|
+
|
|
173
|
+
self._arguments = []
|
|
174
|
+
self._possible_error_refs = [] # type: List[RefType]
|
|
175
|
+
|
|
176
|
+
def addArgumentDataPrototype(self, prototype: ArgumentDataPrototype):
|
|
177
|
+
self._arguments.append(prototype)
|
|
178
|
+
|
|
179
|
+
def getArgumentDataPrototypes(self) -> List[ArgumentDataPrototype]:
|
|
180
|
+
return self._arguments
|
|
181
|
+
|
|
182
|
+
def addPossibleErrorRef(self, possible_error_ref: RefType):
|
|
183
|
+
self._possible_error_refs.append(possible_error_ref)
|
|
184
|
+
|
|
185
|
+
def getPossbileErrorRefs(self) -> List[RefType]:
|
|
186
|
+
return self._possible_error_refs
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
class ClientServerInterface(PortInterface):
|
|
190
|
+
"""
|
|
191
|
+
A client/server interface declares a number of operations that can be invoked on a server by a client.
|
|
192
|
+
Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
|
|
193
|
+
Base: ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier , AtpType, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, PortInterface, Referrable
|
|
194
|
+
|
|
195
|
+
Methods:
|
|
196
|
+
--------
|
|
197
|
+
createOperation create ClientServerOperation(s) of this ClientServerInterface.
|
|
198
|
+
createApplicationError create Application errors that are defined as part of this interface
|
|
199
|
+
getOperations get all ClientServerOperation(s) of this ClientServerInterface
|
|
200
|
+
getPossibleErrors get all Application error(s) of this ClientServerInterface
|
|
201
|
+
|
|
202
|
+
"""
|
|
203
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
204
|
+
super().__init__(parent, short_name)
|
|
205
|
+
|
|
206
|
+
def createOperation(self, short_name: str) -> ClientServerOperation:
|
|
207
|
+
if (short_name not in self.elements):
|
|
208
|
+
operation = ClientServerOperation(self, short_name)
|
|
209
|
+
self.elements[short_name] = operation
|
|
210
|
+
return self.elements[short_name]
|
|
211
|
+
|
|
212
|
+
def createApplicationError(self, short_name: str) -> ApplicationError:
|
|
213
|
+
if (short_name not in self.elements):
|
|
214
|
+
error = ApplicationError(self, short_name)
|
|
215
|
+
self.elements[short_name] = error
|
|
216
|
+
return self.elements[short_name]
|
|
217
|
+
|
|
218
|
+
def getOperations(self) -> List[ClientServerOperation]:
|
|
219
|
+
return list(filter(lambda c: isinstance(c, ClientServerOperation), self.elements.values()))
|
|
220
|
+
|
|
221
|
+
def getPossibleErrors(self) -> List[ApplicationError]:
|
|
222
|
+
return list(filter(lambda c: isinstance(c, ApplicationError), self.elements.values()))
|
|
223
|
+
|
|
224
|
+
class TriggerInterface(PortInterface):
|
|
225
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
226
|
+
super().__init__(parent, short_name)
|
|
227
|
+
|
|
228
|
+
self._triggers = [] # type: Trigger
|
|
229
|
+
|
|
230
|
+
class ModeSwitchInterface(PortInterface):
|
|
231
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
232
|
+
super().__init__(parent, short_name)
|
|
233
|
+
|
|
234
|
+
self._modeGroup = [] # type: List[ModeDeclarationGroupPrototype]
|
|
235
|
+
|
|
236
|
+
def createModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
|
|
237
|
+
prototype = ModeDeclarationGroupPrototype(self, short_name)
|
|
238
|
+
if (short_name not in self.elements):
|
|
239
|
+
self.elements[short_name] = prototype
|
|
240
|
+
return self.elements[short_name]
|
|
241
|
+
|
|
242
|
+
def getModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
|
|
243
|
+
return list(sorted(filter(lambda c: isinstance(c, ModeDeclarationGroupPrototype), self.elements.values()), key= lambda o: o.short_name))
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from .....ar_ref import RefType
|
|
2
|
+
from ...generic_structure.abstract_structure import AtpInstanceRef
|
|
3
|
+
|
|
4
|
+
class ApplicationCompositeElementInPortInterfaceInstanceRef(AtpInstanceRef):
|
|
5
|
+
def __init__(self):
|
|
6
|
+
super().__init__()
|
|
7
|
+
|
|
8
|
+
self.baseRef = None # type: RefType
|
|
9
|
+
self.contextDataPrototypeRef = None # type: RefType
|
|
10
|
+
self.rootDataPrototypeRef = None # type: RefType
|
|
11
|
+
self.targetDataPrototypeRef = None # type: RefType
|
|
12
|
+
|
|
13
|
+
def getBaseRef(self):
|
|
14
|
+
return self.baseRef
|
|
15
|
+
|
|
16
|
+
def setBaseRef(self, value):
|
|
17
|
+
self.baseRef = value
|
|
18
|
+
return self
|
|
19
|
+
|
|
20
|
+
def getContextDataPrototypeRef(self):
|
|
21
|
+
return self.contextDataPrototypeRef
|
|
22
|
+
|
|
23
|
+
def setContextDataPrototypeRef(self, value):
|
|
24
|
+
self.contextDataPrototypeRef = value
|
|
25
|
+
return self
|
|
26
|
+
|
|
27
|
+
def getRootDataPrototypeRef(self):
|
|
28
|
+
return self.rootDataPrototypeRef
|
|
29
|
+
|
|
30
|
+
def setRootDataPrototypeRef(self, value):
|
|
31
|
+
self.rootDataPrototypeRef = value
|
|
32
|
+
return self
|
|
33
|
+
|
|
34
|
+
def getTargetDataPrototypeRef(self):
|
|
35
|
+
return self.targetDataPrototypeRef
|
|
36
|
+
|
|
37
|
+
def setTargetDataPrototypeRef(self, value):
|
|
38
|
+
self.targetDataPrototypeRef = value
|
|
39
|
+
return self
|
armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from .access_count import AbstractAccessPoint
|
|
4
|
-
|
|
5
1
|
from .....general_structure import Identifiable
|
|
2
|
+
from .....ar_object import ARLiteral, ARObject
|
|
6
3
|
from ....msr.data_dictionary.data_def_properties import SwDataDefProps
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
|
|
4
|
+
from ..swc_internal_behavior.instance_refs_usage import AutosarParameterRef, AutosarVariableRef
|
|
5
|
+
from .access_count import AbstractAccessPoint
|
|
10
6
|
class ParameterAccess(AbstractAccessPoint):
|
|
11
7
|
def __init__(self, parent: ARObject, short_name: str):
|
|
12
8
|
super().__init__(parent, short_name)
|
|
@@ -32,10 +28,6 @@ class VariableAccess(Identifiable):
|
|
|
32
28
|
def __init__(self, parent: ARObject, short_name):
|
|
33
29
|
super().__init__(parent, short_name)
|
|
34
30
|
|
|
35
|
-
#self.accessedVariableRef = AutosarVariableRef() # type: AutosarVariableRef
|
|
36
|
-
#self.accessedVariableRef.parent = self
|
|
37
|
-
#self.localVariableRef = None # type: RefType
|
|
38
|
-
|
|
39
31
|
self.accessedVariableRef = None # type: AutosarVariableRef
|
|
40
32
|
self.scope = None # type: ARLiteral
|
|
41
33
|
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from .....ar_object import ARObject
|
|
4
|
+
from .....ar_ref import RefType
|
|
5
|
+
from ...generic_structure.abstract_structure import AtpInstanceRef
|
|
6
|
+
|
|
7
|
+
class ArVariableInImplementationDataInstanceRef(AtpInstanceRef):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
super().__init__()
|
|
10
|
+
|
|
11
|
+
self.contextDataPrototypeRefs = [] # type: List[RefType]
|
|
12
|
+
self.portPrototypeRef = None # type: RefType
|
|
13
|
+
self.rootVariableDataPrototypeRef = None # type: RefType
|
|
14
|
+
self.targetDataPrototypeRef = None # type: RefType
|
|
15
|
+
|
|
16
|
+
def getContextDataPrototypeRefs(self):
|
|
17
|
+
return self.contextDataPrototypeRefs
|
|
18
|
+
|
|
19
|
+
def setContextDataPrototypeRefs(self, value):
|
|
20
|
+
self.contextDataPrototypeRefs = value
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getPortPrototypeRef(self):
|
|
24
|
+
return self.portPrototypeRef
|
|
25
|
+
|
|
26
|
+
def setPortPrototypeRef(self, value):
|
|
27
|
+
self.portPrototypeRef = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getRootVariableDataPrototypeRef(self):
|
|
31
|
+
return self.rootVariableDataPrototypeRef
|
|
32
|
+
|
|
33
|
+
def setRootVariableDataPrototypeRef(self, value):
|
|
34
|
+
self.rootVariableDataPrototypeRef = value
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getTargetDataPrototypeRef(self):
|
|
38
|
+
return self.targetDataPrototypeRef
|
|
39
|
+
|
|
40
|
+
def setTargetDataPrototypeRef(self, value):
|
|
41
|
+
self.targetDataPrototypeRef = value
|
|
42
|
+
return self
|
|
43
|
+
|
|
44
|
+
class VariableInAtomicSWCTypeInstanceRef(AtpInstanceRef):
|
|
45
|
+
def __init__(self):
|
|
46
|
+
super().__init__()
|
|
47
|
+
|
|
48
|
+
self.baseRef = None # type: RefType
|
|
49
|
+
self.contextDataPrototypeRefs = [] # type: List[RefType]
|
|
50
|
+
self.portPrototypeRef = None # type: RefType
|
|
51
|
+
self.rootVariableDataPrototypeRef = None # type: RefType
|
|
52
|
+
self.targetDataPrototypeRef = None # type: RefType
|
|
53
|
+
|
|
54
|
+
def getBaseRef(self):
|
|
55
|
+
return self.baseRef
|
|
56
|
+
|
|
57
|
+
def setBaseRef(self, value):
|
|
58
|
+
self.baseRef = value
|
|
59
|
+
return self
|
|
60
|
+
|
|
61
|
+
def getContextDataPrototypeRefs(self):
|
|
62
|
+
return self.contextDataPrototypeRefs
|
|
63
|
+
|
|
64
|
+
def addContextDataPrototypeRef(self, value):
|
|
65
|
+
self.contextDataPrototypeRefs.append(value)
|
|
66
|
+
return self
|
|
67
|
+
|
|
68
|
+
def getPortPrototypeRef(self):
|
|
69
|
+
return self.portPrototypeRef
|
|
70
|
+
|
|
71
|
+
def setPortPrototypeRef(self, value):
|
|
72
|
+
self.portPrototypeRef = value
|
|
73
|
+
return self
|
|
74
|
+
|
|
75
|
+
def getRootVariableDataPrototypeRef(self):
|
|
76
|
+
return self.rootVariableDataPrototypeRef
|
|
77
|
+
|
|
78
|
+
def setRootVariableDataPrototypeRef(self, value):
|
|
79
|
+
self.rootVariableDataPrototypeRef = value
|
|
80
|
+
return self
|
|
81
|
+
|
|
82
|
+
def getTargetDataPrototypeRef(self):
|
|
83
|
+
return self.targetDataPrototypeRef
|
|
84
|
+
|
|
85
|
+
def setTargetDataPrototypeRef(self, value):
|
|
86
|
+
self.targetDataPrototypeRef = value
|
|
87
|
+
return self
|
|
88
|
+
|
|
89
|
+
class AutosarVariableRef(ARObject):
|
|
90
|
+
def __init__(self):
|
|
91
|
+
super().__init__()
|
|
92
|
+
|
|
93
|
+
self.autosarVariableIRef = None # type: VariableInAtomicSWCTypeInstanceRef
|
|
94
|
+
self.autosarVariableInImplDatatype = None # type: ArVariableInImplementationDataInstanceRef
|
|
95
|
+
self.localVariableRef = None
|
|
96
|
+
|
|
97
|
+
def getAutosarVariableIRef(self):
|
|
98
|
+
return self.autosarVariableIRef
|
|
99
|
+
|
|
100
|
+
def setAutosarVariableIRef(self, value):
|
|
101
|
+
self.autosarVariableIRef = value
|
|
102
|
+
return self
|
|
103
|
+
|
|
104
|
+
def getAutosarVariableInImplDatatype(self):
|
|
105
|
+
return self.autosarVariableInImplDatatype
|
|
106
|
+
|
|
107
|
+
def setAutosarVariableInImplDatatype(self, value):
|
|
108
|
+
self.autosarVariableInImplDatatype = value
|
|
109
|
+
return self
|
|
110
|
+
|
|
111
|
+
def getLocalVariableRef(self):
|
|
112
|
+
return self.localVariableRef
|
|
113
|
+
|
|
114
|
+
def setLocalVariableRef(self, value):
|
|
115
|
+
self.localVariableRef = value
|
|
116
|
+
return self
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class ParameterInAtomicSWCTypeInstanceRef(AtpInstanceRef):
|
|
120
|
+
def __init__(self):
|
|
121
|
+
super().__init__()
|
|
122
|
+
|
|
123
|
+
self.baseRef = None # type: RefType
|
|
124
|
+
self.contextDataPrototypeRef = None # type: RefType
|
|
125
|
+
self.portPrototypeRef = None # type: RefType
|
|
126
|
+
self.rootParameterDataPrototypeRef = None # type: RefType
|
|
127
|
+
self.targetDataPrototypeRef = None # type: RefType
|
|
128
|
+
|
|
129
|
+
def getBaseRef(self):
|
|
130
|
+
return self.baseRef
|
|
131
|
+
|
|
132
|
+
def setBaseRef(self, value):
|
|
133
|
+
self.baseRef = value
|
|
134
|
+
return self
|
|
135
|
+
|
|
136
|
+
def getContextDataPrototypeRef(self):
|
|
137
|
+
return self.contextDataPrototypeRef
|
|
138
|
+
|
|
139
|
+
def setContextDataPrototypeRef(self, value):
|
|
140
|
+
self.contextDataPrototypeRef = value
|
|
141
|
+
return self
|
|
142
|
+
|
|
143
|
+
def getPortPrototypeRef(self):
|
|
144
|
+
return self.portPrototypeRef
|
|
145
|
+
|
|
146
|
+
def setPortPrototypeRef(self, value):
|
|
147
|
+
self.portPrototypeRef = value
|
|
148
|
+
return self
|
|
149
|
+
|
|
150
|
+
def getRootParameterDataPrototypeRef(self):
|
|
151
|
+
return self.rootParameterDataPrototypeRef
|
|
152
|
+
|
|
153
|
+
def setRootParameterDataPrototypeRef(self, value):
|
|
154
|
+
self.rootParameterDataPrototypeRef = value
|
|
155
|
+
return self
|
|
156
|
+
|
|
157
|
+
def getTargetDataPrototypeRef(self):
|
|
158
|
+
return self.targetDataPrototypeRef
|
|
159
|
+
|
|
160
|
+
def setTargetDataPrototypeRef(self, value):
|
|
161
|
+
self.targetDataPrototypeRef = value
|
|
162
|
+
return self
|
|
163
|
+
|
|
164
|
+
class AutosarParameterRef(ARObject):
|
|
165
|
+
def __init__(self):
|
|
166
|
+
super().__init__()
|
|
167
|
+
|
|
168
|
+
self.autosar_parameter_iref = None # type: ParameterInAtomicSWCTypeInstanceRef
|
|
169
|
+
self.local_parameter_ref = None # type: RefType
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
from .access_count import AbstractAccessPoint
|
|
2
|
-
from
|
|
2
|
+
from ..components.instance_refs import PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef
|
|
3
3
|
from .....rpt_scenario import ModeAccessPointIdent
|
|
4
4
|
from .....ar_object import ARObject
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
class ModeAccessPoint(ARObject):
|
|
8
7
|
def __init__(self):
|
|
9
8
|
super().__init__()
|
armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
-
from .....ar_ref import ROperationInAtomicSwcInstanceRef
|
|
3
|
-
from .access_count import AbstractAccessPoint
|
|
4
2
|
from .....ar_object import ARObject
|
|
3
|
+
from ..composition.instance_refs import ROperationInAtomicSwcInstanceRef
|
|
4
|
+
from .access_count import AbstractAccessPoint
|
|
5
|
+
|
|
5
6
|
|
|
6
7
|
class ServerCallPoint(AbstractAccessPoint, metaclass = ABCMeta):
|
|
7
8
|
|
|
8
9
|
def __init__(self, parent: ARObject, short_name: str):
|
|
9
10
|
super().__init__(parent, short_name)
|
|
10
11
|
|
|
11
|
-
self.operationIRef = None
|
|
12
|
-
self.timeout = None
|
|
12
|
+
self.operationIRef = None # type: ROperationInAtomicSwcInstanceRef
|
|
13
|
+
self.timeout = None # type: float
|
|
13
14
|
|
|
14
15
|
def getOperationIRef(self):
|
|
15
16
|
return self.operationIRef
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from ....ar_ref import RefType
|
|
3
|
+
from ..generic_structure.abstract_structure import AtpInstanceRef
|
|
4
|
+
|
|
5
|
+
class VariableDataPrototypeInSystemInstanceRef(AtpInstanceRef):
|
|
6
|
+
def __init__(self):
|
|
7
|
+
super().__init__()
|
|
8
|
+
|
|
9
|
+
self.baseRef = None # type: RefType
|
|
10
|
+
self.contextComponentRefs = [] # type: List[RefType]
|
|
11
|
+
self.contextCompositionRef = None # type: RefType
|
|
12
|
+
self.contextPortRef = None # type: RefType
|
|
13
|
+
self.targetDataPrototypeRef = None # type: RefType
|
|
14
|
+
|
|
15
|
+
def getBaseRef(self):
|
|
16
|
+
return self.baseRef
|
|
17
|
+
|
|
18
|
+
def setBaseRef(self, value):
|
|
19
|
+
self.baseRef = value
|
|
20
|
+
return self
|
|
21
|
+
|
|
22
|
+
def getContextComponentRefs(self):
|
|
23
|
+
return self.contextComponentRefs
|
|
24
|
+
|
|
25
|
+
def addContextComponentRef(self, value):
|
|
26
|
+
self.contextComponentRefs.append(value)
|
|
27
|
+
return self
|
|
28
|
+
|
|
29
|
+
def getContextCompositionRef(self):
|
|
30
|
+
return self.contextCompositionRef
|
|
31
|
+
|
|
32
|
+
def setContextCompositionRef(self, value):
|
|
33
|
+
self.contextCompositionRef = value
|
|
34
|
+
return self
|
|
35
|
+
|
|
36
|
+
def getContextPortRef(self):
|
|
37
|
+
return self.contextPortRef
|
|
38
|
+
|
|
39
|
+
def setContextPortRef(self, value):
|
|
40
|
+
self.contextPortRef = value
|
|
41
|
+
return self
|
|
42
|
+
|
|
43
|
+
def getTargetDataPrototypeRef(self):
|
|
44
|
+
return self.targetDataPrototypeRef
|
|
45
|
+
|
|
46
|
+
def setTargetDataPrototypeRef(self, value):
|
|
47
|
+
self.targetDataPrototypeRef = value
|
|
48
|
+
return self
|
armodel/models/m2_msr.py
CHANGED
|
@@ -123,6 +123,7 @@ class CompuScale(Compu):
|
|
|
123
123
|
self.upperLimit = None # type: Limit
|
|
124
124
|
self.compuInverseValue = None # type: CompuConst
|
|
125
125
|
self.compuScaleContents = None # type: CompuScaleContents
|
|
126
|
+
self.short_label = None # type: ARLiteral
|
|
126
127
|
|
|
127
128
|
class CompuScales(CompuContent):
|
|
128
129
|
def __init__(self):
|