armodel 1.7.0__py3-none-any.whl → 1.7.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 +2 -2
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +53 -16
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +41 -19
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +14 -14
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +22 -11
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +26 -9
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +8 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +711 -27
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +91 -14
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +17 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +78 -11
- armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +5 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +41 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -15
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +44 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +46 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +56 -35
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +1 -1
- armodel/models/M2/MSR/AsamHdo/AdminData.py +34 -8
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +170 -23
- armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +4 -4
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +130 -37
- armodel/models/M2/MSR/Documentation/Annotation.py +1 -1
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +54 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +9 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +25 -0
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +33 -5
- armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +15 -2
- armodel/models/M2/MSR/Documentation/__init__.py +1 -1
- armodel/models/__init__.py +4 -1
- armodel/parser/abstract_arxml_parser.py +31 -15
- armodel/parser/arxml_parser.py +456 -237
- armodel/tests/test_armodel/models/test_ar_ref.py +7 -4
- armodel/tests/test_armodel/models/test_datatype.py +4 -4
- armodel/tests/test_armodel/models/test_m2_msr.py +5 -5
- armodel/tests/test_armodel/parser/test_sw_components.py +10 -1
- armodel/tests/test_armodel/parser/test_system.py +0 -1
- armodel/writer/abstract_arxml_writer.py +17 -8
- armodel/writer/arxml_writer.py +436 -195
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/METADATA +29 -1
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/RECORD +47 -43
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/LICENSE +0 -0
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/WHEEL +0 -0
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.0.dist-info → armodel-1.7.2.dist-info}/top_level.txt +0 -0
armodel/cli/arxml_dump_cli.py
CHANGED
|
@@ -52,8 +52,8 @@ def show_type(indent: int, data_type: ImplementationDataType):
|
|
|
52
52
|
def show_data_type_mapping(indent: int, mapping_set: DataTypeMappingSet):
|
|
53
53
|
print("%s- Data Mapping Set <%s>:" % (" " * indent, mapping_set.short_name))
|
|
54
54
|
for mapping in mapping_set.getDataTypeMaps():
|
|
55
|
-
print("%s- appl: %s" % (" " * (indent + 2), mapping.
|
|
56
|
-
print("%s- impl: %s" % (" " * (indent + 4), mapping.
|
|
55
|
+
print("%s- appl: %s" % (" " * (indent + 2), mapping.applicationDataTypeRef.value))
|
|
56
|
+
print("%s- impl: %s" % (" " * (indent + 4), mapping.implementationDataTypeRef.value))
|
|
57
57
|
|
|
58
58
|
def show_behavior(indent:int, behavior: SwcInternalBehavior):
|
|
59
59
|
print("%s-Behavior: %s" % (" " * indent, behavior.short_name))
|
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
from typing import Dict, List
|
|
2
|
+
|
|
3
|
+
from ...M2.MSR.AsamHdo.SpecialData import Sdg
|
|
4
|
+
from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from ...M2.MSR.AsamHdo import AdminData
|
|
2
6
|
from ...M2.MSR.AsamHdo.BaseTypes import SwBaseType
|
|
7
|
+
from ..MSR.Documentation.TextModel.BlockElements import DocumentationBlock
|
|
3
8
|
from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Referrable
|
|
4
9
|
from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
5
10
|
from ...M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, DataTypeMap
|
|
6
11
|
from ...M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
|
|
7
12
|
|
|
13
|
+
class FileInfoComment(ARObject):
|
|
14
|
+
def __init__(self):
|
|
15
|
+
super().__init__()
|
|
16
|
+
|
|
17
|
+
self.sdgs = [] # type: List[Sdg]
|
|
18
|
+
|
|
19
|
+
def getSdgs(self):
|
|
20
|
+
return self.sdgs
|
|
21
|
+
|
|
22
|
+
def setSdgs(self, value):
|
|
23
|
+
self.sdgs = value
|
|
24
|
+
return self
|
|
25
|
+
|
|
8
26
|
class AbstractAUTOSAR(CollectableElement):
|
|
9
27
|
def __init__(self):
|
|
10
28
|
super().__init__()
|
|
@@ -14,10 +32,32 @@ class AbstractAUTOSAR(CollectableElement):
|
|
|
14
32
|
self.schema_location = ""
|
|
15
33
|
self._appl_impl_type_maps = {}
|
|
16
34
|
self._impl_appl_type_maps = {}
|
|
17
|
-
|
|
18
35
|
|
|
19
|
-
self.
|
|
20
|
-
self.
|
|
36
|
+
self.adminData = None # type: AdminData
|
|
37
|
+
self.arPackages = {} # type: Dict[str, ARPackage]
|
|
38
|
+
self.fileInfoComment = None # type: FileInfoComment
|
|
39
|
+
self.introduction = None # type: DocumentationBlock
|
|
40
|
+
|
|
41
|
+
def getAdminData(self):
|
|
42
|
+
return self.adminData
|
|
43
|
+
|
|
44
|
+
def setAdminData(self, value):
|
|
45
|
+
self.adminData = value
|
|
46
|
+
return self
|
|
47
|
+
|
|
48
|
+
def getFileInfoComment(self):
|
|
49
|
+
return self.fileInfoComment
|
|
50
|
+
|
|
51
|
+
def setFileInfoComment(self, value):
|
|
52
|
+
self.fileInfoComment = value
|
|
53
|
+
return self
|
|
54
|
+
|
|
55
|
+
def getIntroduction(self):
|
|
56
|
+
return self.introduction
|
|
57
|
+
|
|
58
|
+
def setIntroduction(self, value):
|
|
59
|
+
self.introduction = value
|
|
60
|
+
return self
|
|
21
61
|
|
|
22
62
|
def reload(self):
|
|
23
63
|
pass
|
|
@@ -27,23 +67,23 @@ class AbstractAUTOSAR(CollectableElement):
|
|
|
27
67
|
return ""
|
|
28
68
|
|
|
29
69
|
def clear(self):
|
|
30
|
-
self.
|
|
70
|
+
self.arPackages = {}
|
|
31
71
|
self.elements = {}
|
|
32
72
|
|
|
33
73
|
def getElement(self, short_name: str) -> Referrable:
|
|
34
|
-
if (short_name in self.
|
|
35
|
-
return self.
|
|
74
|
+
if (short_name in self.arPackages):
|
|
75
|
+
return self.arPackages[short_name]
|
|
36
76
|
return CollectableElement.getElement(self, short_name)
|
|
37
77
|
|
|
38
78
|
def getARPackages(self) -> List[ARPackage]:
|
|
39
79
|
#return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
|
|
40
|
-
return list(sorted(self.
|
|
80
|
+
return list(sorted(self.arPackages.values(), key= lambda a: a.short_name))
|
|
41
81
|
|
|
42
82
|
def createARPackage(self, short_name: str) -> ARPackage:
|
|
43
|
-
if (short_name not in self.
|
|
83
|
+
if (short_name not in self.arPackages):
|
|
44
84
|
ar_package = ARPackage(self, short_name)
|
|
45
|
-
self.
|
|
46
|
-
return self.
|
|
85
|
+
self.arPackages[short_name] = ar_package
|
|
86
|
+
return self.arPackages[short_name]
|
|
47
87
|
|
|
48
88
|
def find(self, referred_name: str) -> Referrable:
|
|
49
89
|
short_name_list = referred_name.split("/")
|
|
@@ -57,9 +97,6 @@ class AbstractAUTOSAR(CollectableElement):
|
|
|
57
97
|
# raise ValueError("The %s of reference <%s> does not exist." % (short_name, referred_name))
|
|
58
98
|
return element
|
|
59
99
|
|
|
60
|
-
def findByShortName(self, short_name: str) -> Referrable:
|
|
61
|
-
pass
|
|
62
|
-
|
|
63
100
|
def getDataType(self, data_type: ImplementationDataType) -> ImplementationDataType:
|
|
64
101
|
if (isinstance(data_type, ImplementationDataType) or isinstance(data_type, SwBaseType)):
|
|
65
102
|
if (data_type.category == ImplementationDataType.CATEGORY_TYPE_REFERENCE):
|
|
@@ -74,10 +111,10 @@ class AbstractAUTOSAR(CollectableElement):
|
|
|
74
111
|
raise ValueError("%s is not ImplementationDataType." % data_type)
|
|
75
112
|
|
|
76
113
|
def addDataTypeMap(self, data_type_map: DataTypeMap):
|
|
77
|
-
if (data_type_map.
|
|
114
|
+
if (data_type_map.applicationDataTypeRef is None) or (data_type_map.implementationDataTypeRef is None):
|
|
78
115
|
return
|
|
79
|
-
self._appl_impl_type_maps[data_type_map.
|
|
80
|
-
self._impl_appl_type_maps[data_type_map.
|
|
116
|
+
self._appl_impl_type_maps[data_type_map.applicationDataTypeRef.value] = data_type_map.implementationDataTypeRef.value
|
|
117
|
+
self._impl_appl_type_maps[data_type_map.implementationDataTypeRef.value] = data_type_map.applicationDataTypeRef.value
|
|
81
118
|
|
|
82
119
|
def convertToImplementationDataType(self, appl_data_type: str) -> ImplementationDataType:
|
|
83
120
|
if (appl_data_type not in self._appl_impl_type_maps.keys()):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
|
|
2
2
|
from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
|
|
3
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARFloat, ARNumerical
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARFloat, ARNumerical, TimeValue
|
|
5
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
6
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
7
7
|
from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
|
|
@@ -128,12 +128,10 @@ class BswCalledEntity(BswModuleEntity):
|
|
|
128
128
|
def __init__(self, parent: ARObject, short_name: str):
|
|
129
129
|
super().__init__(parent, short_name)
|
|
130
130
|
|
|
131
|
-
|
|
132
131
|
class BswSchedulableEntity(BswModuleEntity):
|
|
133
132
|
def __init__(self, parent: ARObject, short_name: str):
|
|
134
133
|
super().__init__(parent, short_name)
|
|
135
134
|
|
|
136
|
-
|
|
137
135
|
class BswInterruptEntity(BswModuleEntity):
|
|
138
136
|
def __init__(self, parent: ARObject, short_name: str):
|
|
139
137
|
super().__init__(parent, short_name)
|
|
@@ -158,43 +156,50 @@ class BswEvent(Identifiable, metaclass=ABCMeta):
|
|
|
158
156
|
raise NotImplementedError("BswEvent is an abstract class.")
|
|
159
157
|
super().__init__(parent, short_name)
|
|
160
158
|
|
|
161
|
-
self.startsOnEventRef = None # type: RefType
|
|
159
|
+
self.startsOnEventRef = None # type: RefType
|
|
162
160
|
|
|
161
|
+
def getStartsOnEventRef(self):
|
|
162
|
+
return self.startsOnEventRef
|
|
163
|
+
|
|
164
|
+
def setStartsOnEventRef(self, value):
|
|
165
|
+
self.startsOnEventRef = value
|
|
166
|
+
return self
|
|
163
167
|
|
|
164
168
|
class BswOperationInvokedEvent(BswEvent):
|
|
165
169
|
def __init__(self, parent: ARObject, short_name: str):
|
|
166
170
|
super().__init__(parent, short_name)
|
|
167
171
|
|
|
168
|
-
|
|
169
172
|
class BswScheduleEvent(BswEvent, metaclass=ABCMeta):
|
|
170
173
|
def __init__(self, parent: ARObject, short_name: str):
|
|
171
174
|
if type(self) == BswScheduleEvent:
|
|
172
175
|
raise NotImplementedError("BswScheduleEvent is an abstract class.")
|
|
173
176
|
super().__init__(parent, short_name)
|
|
174
177
|
|
|
175
|
-
|
|
176
178
|
class BswModeSwitchEvent(BswScheduleEvent):
|
|
177
179
|
def __init__(self, parent: ARObject, short_name: str):
|
|
178
180
|
super().__init__(parent, short_name)
|
|
179
181
|
|
|
180
|
-
self.
|
|
181
|
-
|
|
182
|
-
@property
|
|
183
|
-
def activation(self) -> str:
|
|
184
|
-
return self._activation
|
|
182
|
+
self.activation = None
|
|
185
183
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
if (value not in ()):
|
|
189
|
-
raise ValueError("Invalid activation <%s> of BswModeSwitchEvent <%s>" % (value, self.short_name))
|
|
190
|
-
self._activation = value
|
|
184
|
+
def getActivation(self):
|
|
185
|
+
return self.activation
|
|
191
186
|
|
|
187
|
+
def setActivation(self, value):
|
|
188
|
+
self.activation = value
|
|
189
|
+
return self
|
|
192
190
|
|
|
193
191
|
class BswTimingEvent(BswScheduleEvent):
|
|
194
192
|
def __init__(self, parent: ARObject, short_name: str):
|
|
195
193
|
super().__init__(parent, short_name)
|
|
196
194
|
|
|
197
|
-
self.period = None # type:
|
|
195
|
+
self.period = None # type: TimeValue
|
|
196
|
+
|
|
197
|
+
def getPeriod(self):
|
|
198
|
+
return self.period
|
|
199
|
+
|
|
200
|
+
def setPeriod(self, value):
|
|
201
|
+
self.period = value
|
|
202
|
+
return self
|
|
198
203
|
|
|
199
204
|
@property
|
|
200
205
|
def periodMs(self) -> int:
|
|
@@ -207,22 +212,39 @@ class BswDataReceivedEvent(BswScheduleEvent):
|
|
|
207
212
|
def __init__(self, parent: ARObject, short_name: str):
|
|
208
213
|
super().__init__(parent, short_name)
|
|
209
214
|
|
|
210
|
-
self.
|
|
215
|
+
self.dataRef = None # type: RefType
|
|
216
|
+
|
|
217
|
+
def getDataRef(self):
|
|
218
|
+
return self.dataRef
|
|
211
219
|
|
|
220
|
+
def setDataRef(self, value):
|
|
221
|
+
self.dataRef = value
|
|
222
|
+
return self
|
|
212
223
|
|
|
213
224
|
class BswInternalTriggerOccurredEvent(BswScheduleEvent):
|
|
214
225
|
def __init__(self, parent: ARObject, short_name: str):
|
|
215
226
|
super().__init__(parent, short_name)
|
|
216
227
|
|
|
217
|
-
self.
|
|
228
|
+
self.eventSourceRef = None # type: RefType
|
|
218
229
|
|
|
230
|
+
def getEventSourceRef(self):
|
|
231
|
+
return self.eventSourceRef
|
|
219
232
|
|
|
233
|
+
def setEventSourceRef(self, value):
|
|
234
|
+
self.eventSourceRef = value
|
|
235
|
+
return self
|
|
220
236
|
class BswModeSwitchAckRequest(ARObject):
|
|
221
237
|
def __init__(self):
|
|
222
238
|
super().__init__()
|
|
223
239
|
|
|
224
240
|
self.timeout = None # type: ARFloat
|
|
225
241
|
|
|
242
|
+
def getTimeout(self):
|
|
243
|
+
return self.timeout
|
|
244
|
+
|
|
245
|
+
def setTimeout(self, value):
|
|
246
|
+
self.timeout = value
|
|
247
|
+
return self
|
|
226
248
|
|
|
227
249
|
class BswModeSenderPolicy(ARObject):
|
|
228
250
|
def __init__(self):
|
|
@@ -4,23 +4,23 @@ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject im
|
|
|
4
4
|
|
|
5
5
|
class DataFilterTypeEnum(AREnum):
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
MASKED_NEW_DIFFERS_MASKED_OLD = "maskedNewDiffersMaskedOld"
|
|
8
|
+
MASKED_NEW_DIFFERS_X = "maskedNewDiffersX"
|
|
9
|
+
MASKED_NEW_EQUALS_X = "maskedNewEqualsX"
|
|
10
|
+
NEVER = "never"
|
|
11
|
+
NEW_IS_OUTSIDE = "newIsOutside"
|
|
12
|
+
NEW_IS_WITHIN = "newIsWithin"
|
|
13
|
+
ONE_EVERY_N = "oneEveryN"
|
|
14
14
|
|
|
15
15
|
def __init__(self):
|
|
16
16
|
super().__init__((
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
DataFilterTypeEnum.MASKED_NEW_DIFFERS_MASKED_OLD,
|
|
18
|
+
DataFilterTypeEnum.MASKED_NEW_DIFFERS_X,
|
|
19
|
+
DataFilterTypeEnum.MASKED_NEW_EQUALS_X,
|
|
20
|
+
DataFilterTypeEnum.NEVER,
|
|
21
|
+
DataFilterTypeEnum.NEW_IS_OUTSIDE,
|
|
22
|
+
DataFilterTypeEnum.NEW_IS_WITHIN,
|
|
23
|
+
DataFilterTypeEnum.ONE_EVERY_N
|
|
24
24
|
))
|
|
25
25
|
|
|
26
26
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
from typing import List
|
|
3
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, Boolean, String
|
|
5
5
|
from ....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
|
|
6
6
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
7
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
|
|
@@ -96,19 +96,30 @@ class ImplementationDataType(AbstractImplementationDataType):
|
|
|
96
96
|
def __init__(self, parent: ARObject, short_name: str):
|
|
97
97
|
super().__init__(parent, short_name)
|
|
98
98
|
|
|
99
|
-
self.
|
|
100
|
-
self.
|
|
101
|
-
self.arraySizeHandling = None # type: ARLiteral
|
|
102
|
-
self.arraySizeSemantics = None # type: ARLiteral
|
|
99
|
+
self.dynamicArraySizeProfile = None # type: String
|
|
100
|
+
self.isStructWithOptionalElement = None # type: Boolean
|
|
103
101
|
|
|
104
102
|
self.subElements = [] # type: List[str]
|
|
105
103
|
self.symbolProps = None # type: SymbolProps
|
|
106
|
-
self.
|
|
104
|
+
self.typeEmitter = None # type: ARLiteral
|
|
107
105
|
|
|
108
|
-
self._array_type = None # ImplementationDataType
|
|
109
|
-
self._struct_type = None # ImplementationDataType
|
|
106
|
+
#self._array_type = None # ImplementationDataType
|
|
107
|
+
#self._struct_type = None # ImplementationDataType
|
|
108
|
+
|
|
109
|
+
def getDynamicArraySizeProfile(self):
|
|
110
|
+
return self.dynamicArraySizeProfile
|
|
111
|
+
|
|
112
|
+
def setDynamicArraySizeProfile(self, value):
|
|
113
|
+
self.dynamicArraySizeProfile = value
|
|
114
|
+
return self
|
|
115
|
+
|
|
116
|
+
def getIsStructWithOptionalElement(self):
|
|
117
|
+
return self.isStructWithOptionalElement
|
|
118
|
+
|
|
119
|
+
def setIsStructWithOptionalElement(self, value):
|
|
120
|
+
self.isStructWithOptionalElement = value
|
|
121
|
+
return self
|
|
110
122
|
|
|
111
|
-
|
|
112
123
|
def createImplementationDataTypeElement(self, short_name: str) -> ImplementationDataTypeElement:
|
|
113
124
|
self.subElements.append(short_name)
|
|
114
125
|
if (short_name not in self.elements):
|
|
@@ -131,11 +142,11 @@ class ImplementationDataType(AbstractImplementationDataType):
|
|
|
131
142
|
return self
|
|
132
143
|
|
|
133
144
|
def setTypeEmitter(self, emitter: str):
|
|
134
|
-
self.
|
|
145
|
+
self.typeEmitter = emitter
|
|
135
146
|
return self
|
|
136
147
|
|
|
137
148
|
def getTypeEmitter(self) -> str:
|
|
138
|
-
return self.
|
|
149
|
+
return self.typeEmitter
|
|
139
150
|
|
|
140
151
|
def setStructElementType(self, type: str):
|
|
141
152
|
self._struct_type = type
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, RefType, TRefType
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, PositiveInteger, RefType, TRefType
|
|
5
5
|
|
|
6
6
|
class ModeDeclaration(Identifiable):
|
|
7
7
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -21,16 +21,33 @@ class ModeRequestTypeMap(ARObject):
|
|
|
21
21
|
def __init__(self):
|
|
22
22
|
super().__init__()
|
|
23
23
|
|
|
24
|
-
self.
|
|
25
|
-
self.
|
|
24
|
+
self.implementationDataTypeRef = None # type: RefType
|
|
25
|
+
self.modeGroupRef = None # type: RefType
|
|
26
26
|
|
|
27
|
+
def getImplementationDataTypeRef(self):
|
|
28
|
+
return self.implementationDataTypeRef
|
|
29
|
+
|
|
30
|
+
def setImplementationDataTypeRef(self, value):
|
|
31
|
+
self.implementationDataTypeRef = value
|
|
32
|
+
return self
|
|
33
|
+
|
|
34
|
+
def getModeGroupRef(self):
|
|
35
|
+
return self.modeGroupRef
|
|
36
|
+
|
|
37
|
+
def setModeGroupRef(self, value):
|
|
38
|
+
self.modeGroupRef = value
|
|
39
|
+
return self
|
|
27
40
|
|
|
28
41
|
class ModeDeclarationGroup(Identifiable):
|
|
29
42
|
def __init__(self, parent: ARObject, short_name: str):
|
|
30
43
|
super().__init__(parent, short_name)
|
|
31
44
|
|
|
32
|
-
self.
|
|
33
|
-
self.
|
|
45
|
+
self.initialModeRef = None # type: RefType
|
|
46
|
+
self.modeDeclarations = [] # type: ModeDeclaration
|
|
47
|
+
self.modeManagerErrorBehavior = None # type: ModeErrorBehavior
|
|
48
|
+
self.modeTransition = None # type: ModeTransition
|
|
49
|
+
self.modeUserErrorBehavior = None # type: ModeErrorBehavior
|
|
50
|
+
self.onTransitionValue = None # type: PositiveInteger
|
|
34
51
|
|
|
35
52
|
def createModeDeclaration(self, short_name: str) -> ModeDeclaration:
|
|
36
53
|
if (short_name not in self.elements):
|
|
@@ -42,21 +59,21 @@ class ModeDeclarationGroup(Identifiable):
|
|
|
42
59
|
return list(sorted(filter(lambda a: isinstance(a, ModeDeclaration), self.elements.values()), key= lambda o:o.short_name))
|
|
43
60
|
|
|
44
61
|
def setInitialModeRef(self, ref: RefType):
|
|
45
|
-
self.
|
|
62
|
+
self.initialModeRef = ref
|
|
46
63
|
return self
|
|
47
64
|
|
|
48
65
|
def getInitialModeRef(self) -> RefType:
|
|
49
|
-
return self.
|
|
66
|
+
return self.initialModeRef
|
|
50
67
|
|
|
51
68
|
def setOnTransitionValue(self, value):
|
|
52
69
|
if isinstance(value, int):
|
|
53
70
|
value = ARNumerical()
|
|
54
71
|
value.setValue(value)
|
|
55
|
-
self.
|
|
72
|
+
self.onTransitionValue = value
|
|
56
73
|
return self
|
|
57
74
|
|
|
58
75
|
def getOnTransitionValue(self) -> ARNumerical:
|
|
59
|
-
return self.
|
|
76
|
+
return self.onTransitionValue
|
|
60
77
|
|
|
61
78
|
|
|
62
79
|
class ModeDeclarationGroupPrototype(Identifiable):
|
armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py
CHANGED
|
@@ -9,6 +9,7 @@ class MemorySection(Identifiable):
|
|
|
9
9
|
super().__init__(parent, short_name)
|
|
10
10
|
|
|
11
11
|
self._alignment = None # type: ARLiteral
|
|
12
|
+
self.memClassSymbol = None # type: ARLiteral
|
|
12
13
|
self.size = None
|
|
13
14
|
self.options = [] # type: List[ARLiteral]
|
|
14
15
|
self.swAddrMethodRef = None # type: RefType
|
|
@@ -20,6 +21,13 @@ class MemorySection(Identifiable):
|
|
|
20
21
|
def setAlignment(self, value):
|
|
21
22
|
self.alignment = value
|
|
22
23
|
return self
|
|
24
|
+
|
|
25
|
+
def getMemClassSymbol(self):
|
|
26
|
+
return self.memClassSymbol
|
|
27
|
+
|
|
28
|
+
def setMemClassSymbol(self, value):
|
|
29
|
+
self.memClassSymbol = value
|
|
30
|
+
return self
|
|
23
31
|
|
|
24
32
|
def getSize(self):
|
|
25
33
|
return self.size
|