armodel 1.7.2__py3-none-any.whl → 1.7.4__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 +1 -1
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +44 -20
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +104 -30
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +12 -16
- armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +70 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +12 -9
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +29 -22
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +33 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +10 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +23 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +93 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +39 -5
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +28 -5
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +48 -6
- armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +5 -5
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +27 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +39 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +8 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +196 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +31 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +4 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +17 -32
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +4 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +17 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +81 -34
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +10 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +229 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +167 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +225 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +96 -7
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +47 -4
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +18 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +7 -12
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +0 -1
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +16 -1
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +34 -3
- armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +7 -0
- armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +33 -0
- armodel/models/__init__.py +6 -0
- armodel/parser/abstract_arxml_parser.py +4 -14
- armodel/parser/arxml_parser.py +567 -224
- armodel/tests/test_armodel/models/test_ar_object.py +6 -2
- armodel/tests/test_armodel/models/test_ar_ref.py +2 -2
- armodel/tests/test_armodel/models/test_port_interface.py +4 -4
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +48 -48
- armodel/writer/abstract_arxml_writer.py +2 -3
- armodel/writer/arxml_writer.py +566 -288
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/METADATA +30 -2
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/RECORD +54 -44
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/LICENSE +0 -0
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/WHEEL +0 -0
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/top_level.txt +0 -0
|
@@ -1,9 +1,71 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
+
|
|
3
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import SocketConnection, SocketConnectionBundle
|
|
2
4
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, PositiveInteger, RefType, TimeValue
|
|
3
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses import Identifiable
|
|
5
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
6
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
class ApplicationEndpoint(Identifiable):
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
self.consumedServiceInstances = [] # type: List[ConsumedServiceInstance]
|
|
13
|
+
self.maxNumberOfConnections = None # type: PositiveInteger
|
|
14
|
+
self.networkEndpointRef = None # type: RefType
|
|
15
|
+
self.priority = None # type: PositiveInteger
|
|
16
|
+
self.providedServiceInstances = [] # type: List[ProvidedServiceInstance]
|
|
17
|
+
self.tlsCryptoMappingRef = None # type: RefType
|
|
18
|
+
self.tpConfiguration = None # type: TransportProtocolConfiguration
|
|
19
|
+
|
|
20
|
+
def getConsumedServiceInstances(self):
|
|
21
|
+
return self.consumedServiceInstances
|
|
22
|
+
|
|
23
|
+
def addConsumedServiceInstance(self, value):
|
|
24
|
+
self.consumedServiceInstances.append(value)
|
|
25
|
+
return self
|
|
26
|
+
|
|
27
|
+
def getMaxNumberOfConnections(self):
|
|
28
|
+
return self.maxNumberOfConnections
|
|
29
|
+
|
|
30
|
+
def setMaxNumberOfConnections(self, value):
|
|
31
|
+
self.maxNumberOfConnections = value
|
|
32
|
+
return self
|
|
33
|
+
|
|
34
|
+
def getNetworkEndpointRef(self):
|
|
35
|
+
return self.networkEndpointRef
|
|
36
|
+
|
|
37
|
+
def setNetworkEndpointRef(self, value):
|
|
38
|
+
self.networkEndpointRef = value
|
|
39
|
+
return self
|
|
40
|
+
|
|
41
|
+
def getPriority(self):
|
|
42
|
+
return self.priority
|
|
43
|
+
|
|
44
|
+
def setPriority(self, value):
|
|
45
|
+
self.priority = value
|
|
46
|
+
return self
|
|
47
|
+
|
|
48
|
+
def getProvidedServiceInstances(self):
|
|
49
|
+
return self.providedServiceInstances
|
|
50
|
+
|
|
51
|
+
def addProvidedServiceInstance(self, value):
|
|
52
|
+
self.providedServiceInstances.append(value)
|
|
53
|
+
return self
|
|
54
|
+
|
|
55
|
+
def getTlsCryptoMappingRef(self):
|
|
56
|
+
return self.tlsCryptoMappingRef
|
|
57
|
+
|
|
58
|
+
def setTlsCryptoMappingRef(self, value):
|
|
59
|
+
self.tlsCryptoMappingRef = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
def getTpConfiguration(self):
|
|
63
|
+
return self.tpConfiguration
|
|
64
|
+
|
|
65
|
+
def setTpConfiguration(self, value):
|
|
66
|
+
self.tpConfiguration = value
|
|
67
|
+
return self
|
|
68
|
+
|
|
7
69
|
class SocketAddress(Identifiable):
|
|
8
70
|
def __init__(self, parent: ARObject, short_name: str):
|
|
9
71
|
super().__init__(parent, short_name)
|
|
@@ -18,7 +80,7 @@ class SocketAddress(Identifiable):
|
|
|
18
80
|
self.pathMtuDiscoveryEnabled = None # type: Boolean
|
|
19
81
|
self.pduCollectionMaxBufferSize = None # type: PositiveInteger
|
|
20
82
|
self.pduCollectionTimeout = None # type: TimeValue
|
|
21
|
-
self.staticSocketConnections = []
|
|
83
|
+
self.staticSocketConnections = [] # type: List[StaticSocketConnection]
|
|
22
84
|
self.udpChecksumHandling = None # type: UdpChecksumCalculationEnum
|
|
23
85
|
|
|
24
86
|
def getAllowedIPv6ExtHeadersRef(self):
|
|
@@ -104,13 +166,40 @@ class SocketAddress(Identifiable):
|
|
|
104
166
|
def setUdpChecksumHandling(self, value):
|
|
105
167
|
self.udpChecksumHandling = value
|
|
106
168
|
return self
|
|
107
|
-
'''
|
|
108
169
|
|
|
109
170
|
class SoAdConfig(ARObject):
|
|
110
171
|
def __init__(self):
|
|
111
172
|
super().__init__()
|
|
112
173
|
|
|
113
|
-
self.
|
|
114
|
-
self.
|
|
115
|
-
self.
|
|
174
|
+
self.connections = [] # type: List[SocketConnection]
|
|
175
|
+
self.connectionBundles = [] # type: List[SocketConnectionBundle]
|
|
176
|
+
self.socketAddresses = [] # type: List[SocketAddress]
|
|
177
|
+
|
|
178
|
+
def getConnections(self):
|
|
179
|
+
return self.connections
|
|
180
|
+
|
|
181
|
+
def setConnections(self, value):
|
|
182
|
+
self.connections = value
|
|
183
|
+
return self
|
|
184
|
+
|
|
185
|
+
def getConnectionBundles(self):
|
|
186
|
+
return self.connectionBundles
|
|
187
|
+
|
|
188
|
+
def createSocketConnectionBundle(self, short_name:str) -> SocketConnectionBundle:
|
|
189
|
+
bundle = SocketConnectionBundle(self, short_name)
|
|
190
|
+
self.connectionBundles.append(bundle)
|
|
191
|
+
return bundle
|
|
192
|
+
|
|
193
|
+
def setConnectionBundles(self, value):
|
|
194
|
+
self.connectionBundles = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
def getSocketAddresses(self):
|
|
198
|
+
return self.socketAddresses
|
|
199
|
+
|
|
200
|
+
def createSocketAddress(self, short_name:str) -> SocketAddress:
|
|
201
|
+
address = SocketAddress(self, short_name)
|
|
202
|
+
self.socketAddresses.append(address)
|
|
203
|
+
return address
|
|
204
|
+
|
|
116
205
|
|
|
@@ -2,13 +2,15 @@ from abc import ABCMeta
|
|
|
2
2
|
from enum import Enum
|
|
3
3
|
from typing import List
|
|
4
4
|
|
|
5
|
+
|
|
6
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
7
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, Boolean, PositiveInteger, RefType, ARLiteral, TimeValue
|
|
8
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
9
|
from ......M2.AUTOSARTemplates.SWComponentTemplate.Communication import HandleInvalidEnum
|
|
6
10
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
|
|
7
11
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinFrameTriggering
|
|
8
12
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement, FrameTriggering, ISignalTriggering, PduTriggering
|
|
9
|
-
from ......M2.AUTOSARTemplates.
|
|
10
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARFloat, Boolean, PositiveInteger, RefType, ARLiteral, TimeValue
|
|
11
|
-
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
13
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.NetworkEndpoint import NetworkEndpoint
|
|
12
14
|
|
|
13
15
|
class PhysicalChannel (Identifiable, metaclass = ABCMeta):
|
|
14
16
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -80,7 +82,39 @@ class CanPhysicalChannel(AbstractCanPhysicalChannel):
|
|
|
80
82
|
|
|
81
83
|
class LinPhysicalChannel(PhysicalChannel):
|
|
82
84
|
def __init__(self, parent: ARObject, short_name: str):
|
|
83
|
-
super().__init__(parent, short_name)
|
|
85
|
+
super().__init__(parent, short_name)
|
|
86
|
+
|
|
87
|
+
class EthernetPhysicalChannel(PhysicalChannel):
|
|
88
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
89
|
+
super().__init__(parent, short_name)
|
|
90
|
+
|
|
91
|
+
self.networkEndpoints = [] # type: List[NetworkEndpoint]
|
|
92
|
+
self.soAdConfig = None # type: SoAdConfig
|
|
93
|
+
self.vlan = None # type: VlanConfig
|
|
94
|
+
|
|
95
|
+
def getNetworkEndpoints(self):
|
|
96
|
+
return self.networkEndpoints
|
|
97
|
+
|
|
98
|
+
def createNetworkEndPoint(self, short_name:str) -> NetworkEndpoint:
|
|
99
|
+
if (short_name not in self.elements):
|
|
100
|
+
end_point = NetworkEndpoint(self, short_name)
|
|
101
|
+
self.addElement(end_point)
|
|
102
|
+
self.networkEndpoints.append(end_point)
|
|
103
|
+
return self.getElement(short_name)
|
|
104
|
+
|
|
105
|
+
def getSoAdConfig(self):
|
|
106
|
+
return self.soAdConfig
|
|
107
|
+
|
|
108
|
+
def setSoAdConfig(self, value):
|
|
109
|
+
self.soAdConfig = value
|
|
110
|
+
return self
|
|
111
|
+
|
|
112
|
+
def getVlan(self):
|
|
113
|
+
return self.vlan
|
|
114
|
+
|
|
115
|
+
def setVlan(self, value):
|
|
116
|
+
self.vlan = value
|
|
117
|
+
return self
|
|
84
118
|
|
|
85
119
|
class CommunicationCluster(FibexElement, metaclass = ABCMeta):
|
|
86
120
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -109,6 +143,9 @@ class CommunicationCluster(FibexElement, metaclass = ABCMeta):
|
|
|
109
143
|
def getLinPhysicalChannels(self) -> List[LinPhysicalChannel]:
|
|
110
144
|
return list(sorted(filter(lambda a: isinstance(a, LinPhysicalChannel), self.elements.values()), key= lambda o:o.getShortName()))
|
|
111
145
|
|
|
146
|
+
def getEthernetPhysicalChannels(self) -> List[EthernetPhysicalChannel]:
|
|
147
|
+
return list(sorted(filter(lambda a: isinstance(a, EthernetPhysicalChannel), self.elements.values()), key= lambda o:o.getShortName()))
|
|
148
|
+
|
|
112
149
|
def createCanPhysicalChannel(self, short_name: str):
|
|
113
150
|
if (short_name not in self.elements):
|
|
114
151
|
channel = CanPhysicalChannel(self, short_name)
|
|
@@ -120,6 +157,12 @@ class CommunicationCluster(FibexElement, metaclass = ABCMeta):
|
|
|
120
157
|
channel = LinPhysicalChannel(self, short_name)
|
|
121
158
|
self.addElement(channel)
|
|
122
159
|
return self.getElement(short_name)
|
|
160
|
+
|
|
161
|
+
def createEthernetPhysicalChannel(self, short_name: str):
|
|
162
|
+
if (short_name not in self.elements):
|
|
163
|
+
channel = EthernetPhysicalChannel(self, short_name)
|
|
164
|
+
self.addElement(channel)
|
|
165
|
+
return self.getElement(short_name)
|
|
123
166
|
|
|
124
167
|
def getProtocolName(self):
|
|
125
168
|
return self.protocolName
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, RefType, TimeValue
|
|
2
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import EthernetCommunicationConnector, EthernetCommunicationController
|
|
2
3
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
|
|
3
4
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import CanCommunicationConnector, CanCommunicationController
|
|
4
5
|
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
@@ -105,17 +106,29 @@ class EcuInstance(FibexElement):
|
|
|
105
106
|
def createCanCommunicationController(self, short_name: str) -> CanCommunicationController:
|
|
106
107
|
if (short_name not in self.elements):
|
|
107
108
|
controller = CanCommunicationController(self, short_name)
|
|
108
|
-
self.
|
|
109
|
-
return self.
|
|
109
|
+
self.addElement(controller)
|
|
110
|
+
return self.getElement(short_name)
|
|
111
|
+
|
|
112
|
+
def createEthernetCommunicationController(self, short_name: str) -> EthernetCommunicationController:
|
|
113
|
+
if (short_name not in self.elements):
|
|
114
|
+
controller = EthernetCommunicationController(self, short_name)
|
|
115
|
+
self.addElement(controller)
|
|
116
|
+
return self.getElement(short_name)
|
|
110
117
|
|
|
111
118
|
def getConnectors(self):
|
|
112
119
|
return list(sorted(filter(lambda a: isinstance(a, CommunicationConnector), self.elements.values()), key= lambda o:o.short_name))
|
|
113
120
|
|
|
114
121
|
def createCanCommunicationConnector(self, short_name: str) -> CanCommunicationConnector:
|
|
115
122
|
if (short_name not in self.elements):
|
|
116
|
-
|
|
117
|
-
self.
|
|
118
|
-
return self.
|
|
123
|
+
connector = CanCommunicationConnector(self, short_name)
|
|
124
|
+
self.addElement(connector)
|
|
125
|
+
return self.getElement(short_name)
|
|
126
|
+
|
|
127
|
+
def createEthernetCommunicationConnector(self, short_name: str) -> EthernetCommunicationConnector:
|
|
128
|
+
if (short_name not in self.elements):
|
|
129
|
+
connector = EthernetCommunicationConnector(self, short_name)
|
|
130
|
+
self.addElement(connector)
|
|
131
|
+
return self.getElement(short_name)
|
|
119
132
|
|
|
120
133
|
def getDltConfig(self):
|
|
121
134
|
return self.dltConfig
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import List
|
|
1
2
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable
|
|
2
3
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
4
|
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType, TimeValue
|
|
@@ -109,8 +110,7 @@ class TransmissionModeTiming(ARObject):
|
|
|
109
110
|
super().__init__()
|
|
110
111
|
|
|
111
112
|
self.cyclicTiming = None # type: CyclicTiming
|
|
112
|
-
# type: EventControlledTiming
|
|
113
|
-
self.eventControlledTiming = None
|
|
113
|
+
self.eventControlledTiming = None # type: EventControlledTiming
|
|
114
114
|
|
|
115
115
|
def getCyclicTiming(self):
|
|
116
116
|
return self.cyclicTiming
|
|
@@ -130,16 +130,11 @@ class TransmissionModeDeclaration(ARObject):
|
|
|
130
130
|
def __init__(self):
|
|
131
131
|
super().__init__()
|
|
132
132
|
|
|
133
|
-
# type: ModeDrivenTransmissionModeCondition
|
|
134
|
-
self.
|
|
135
|
-
#
|
|
136
|
-
self.
|
|
137
|
-
# type:
|
|
138
|
-
self.transmissionModeConditions = []
|
|
139
|
-
# type: TransmissionModeTiming
|
|
140
|
-
self.transmissionModeFalseTiming = None
|
|
141
|
-
# type: TransmissionModeTiming
|
|
142
|
-
self.transmissionModeTrueTiming = None
|
|
133
|
+
self.modeDrivenFalseConditions = [] # type: List[ModeDrivenTransmissionModeCondition]
|
|
134
|
+
self.modeDrivenTrueConditions = [] # type: List[ModeDrivenTransmissionModeCondition]
|
|
135
|
+
self.transmissionModeConditions = [] # typeL List[TransmissionModeCondition]
|
|
136
|
+
self.transmissionModeFalseTiming = None # type: TransmissionModeTiming
|
|
137
|
+
self.transmissionModeTrueTiming = None # type: TransmissionModeTiming
|
|
143
138
|
|
|
144
139
|
def getModeDrivenFalseConditions(self):
|
|
145
140
|
return self.modeDrivenFalseConditions
|
|
@@ -87,7 +87,6 @@ class CompuConstTextContent(CompuConstContent):
|
|
|
87
87
|
return self
|
|
88
88
|
|
|
89
89
|
class CompuConstNumericContent(CompuConstContent):
|
|
90
|
-
|
|
91
90
|
def __init__(self):
|
|
92
91
|
super().__init__()
|
|
93
92
|
|
|
@@ -99,6 +98,22 @@ class CompuConstNumericContent(CompuConstContent):
|
|
|
99
98
|
def setV(self, value):
|
|
100
99
|
self.v = value
|
|
101
100
|
return self
|
|
101
|
+
|
|
102
|
+
class CompuConstFormulaContent(CompuConstContent):
|
|
103
|
+
def __init__(self):
|
|
104
|
+
super().__init__()
|
|
105
|
+
|
|
106
|
+
self.vf = None
|
|
107
|
+
|
|
108
|
+
def getVf(self):
|
|
109
|
+
return self.vf
|
|
110
|
+
|
|
111
|
+
def setVf(self, value):
|
|
112
|
+
self.vf = value
|
|
113
|
+
return self
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
102
117
|
|
|
103
118
|
class CompuScaleContents(ARObject, metaclass=ABCMeta):
|
|
104
119
|
def __init__(self):
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
+
|
|
3
|
+
from ....M2.MSR.AsamHdo.Units import SingleLanguageUnitNames
|
|
2
4
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, RefType
|
|
4
6
|
from ....M2.MSR.DataDictionary.DataDefProperties import ValueList
|
|
@@ -21,6 +23,35 @@ class SwValueCont(ARObject):
|
|
|
21
23
|
def __init__(self):
|
|
22
24
|
super().__init__()
|
|
23
25
|
|
|
24
|
-
self.
|
|
25
|
-
self.
|
|
26
|
-
self.
|
|
26
|
+
self.swArraysize = None # type: ValueList
|
|
27
|
+
self.swValuesPhys = None # type: SwValues
|
|
28
|
+
self.unitRef = None # type: RefType
|
|
29
|
+
self.unitDisplayName = None # type: SingleLanguageUnitNames
|
|
30
|
+
|
|
31
|
+
def getSwArraysize(self):
|
|
32
|
+
return self.swArraysize
|
|
33
|
+
|
|
34
|
+
def setSwArraysize(self, value):
|
|
35
|
+
self.swArraysize = value
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
def getSwValuesPhys(self):
|
|
39
|
+
return self.swValuesPhys
|
|
40
|
+
|
|
41
|
+
def setSwValuesPhys(self, value):
|
|
42
|
+
self.swValuesPhys = value
|
|
43
|
+
return self
|
|
44
|
+
|
|
45
|
+
def getUnitRef(self):
|
|
46
|
+
return self.unitRef
|
|
47
|
+
|
|
48
|
+
def setUnitRef(self, value):
|
|
49
|
+
self.unitRef = value
|
|
50
|
+
return self
|
|
51
|
+
|
|
52
|
+
def getUnitDisplayName(self):
|
|
53
|
+
return self.unitDisplayName
|
|
54
|
+
|
|
55
|
+
def setUnitDisplayName(self, value):
|
|
56
|
+
self.unitDisplayName = value
|
|
57
|
+
return self
|
|
@@ -296,6 +296,13 @@ class ValueList(ARObject):
|
|
|
296
296
|
self.v = None # type: ARFloat
|
|
297
297
|
self._vf = [] # type: List[ARLiteral]
|
|
298
298
|
|
|
299
|
+
def getV(self):
|
|
300
|
+
return self.v
|
|
301
|
+
|
|
302
|
+
def setV(self, value):
|
|
303
|
+
self.v = value
|
|
304
|
+
return self
|
|
305
|
+
|
|
299
306
|
def addVf(self, vf: ARLiteral):
|
|
300
307
|
self._vf.append(vf)
|
|
301
308
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from ....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps, ValueList
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ArgumentDirectionEnum
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
|
+
|
|
6
|
+
class SwServiceArg(Identifiable):
|
|
7
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
8
|
+
super().__init__(parent, short_name)
|
|
9
|
+
|
|
10
|
+
self.direction = None # type: ArgumentDirectionEnum
|
|
11
|
+
self.swArraysize = None # type: ValueList
|
|
12
|
+
self.swDataDefProps = None # type: SwDataDefProps
|
|
13
|
+
|
|
14
|
+
def getDirection(self):
|
|
15
|
+
return self.direction
|
|
16
|
+
|
|
17
|
+
def setDirection(self, value):
|
|
18
|
+
self.direction = value
|
|
19
|
+
return self
|
|
20
|
+
|
|
21
|
+
def getSwArraysize(self):
|
|
22
|
+
return self.swArraysize
|
|
23
|
+
|
|
24
|
+
def setSwArraysize(self, value):
|
|
25
|
+
self.swArraysize = value
|
|
26
|
+
return self
|
|
27
|
+
|
|
28
|
+
def getSwDataDefProps(self):
|
|
29
|
+
return self.swDataDefProps
|
|
30
|
+
|
|
31
|
+
def setSwDataDefProps(self, value):
|
|
32
|
+
self.swDataDefProps = value
|
|
33
|
+
return self
|
armodel/models/__init__.py
CHANGED
|
@@ -22,11 +22,14 @@ from .M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import *
|
|
|
22
22
|
from .M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import *
|
|
23
23
|
from .M2.AUTOSARTemplates.CommonStructure import *
|
|
24
24
|
from .M2.AUTOSARTemplates.CommonStructure.Filter import *
|
|
25
|
+
from .M2.AUTOSARTemplates.CommonStructure.FlatMap import *
|
|
25
26
|
from .M2.AUTOSARTemplates.CommonStructure.Implementation import *
|
|
26
27
|
from .M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import *
|
|
27
28
|
from .M2.AUTOSARTemplates.CommonStructure.InternalBehavior import *
|
|
28
29
|
from .M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import *
|
|
29
30
|
from .M2.AUTOSARTemplates.CommonStructure.ResourceConsumption import *
|
|
31
|
+
from .M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.HeapUsage import *
|
|
32
|
+
from .M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.StackUsage import *
|
|
30
33
|
from .M2.AUTOSARTemplates.CommonStructure.ResourceConsumption.MemorySectionUsage import *
|
|
31
34
|
from .M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import *
|
|
32
35
|
from .M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import *
|
|
@@ -57,6 +60,9 @@ from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import
|
|
|
57
60
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import *
|
|
58
61
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import *
|
|
59
62
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetFrame import *
|
|
63
|
+
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import *
|
|
64
|
+
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.NetworkEndpoint import *
|
|
65
|
+
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetCommunication import *
|
|
60
66
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.ServiceInstances import *
|
|
61
67
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import *
|
|
62
68
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import *
|
|
@@ -133,6 +133,7 @@ class AbstractARXMLParser:
|
|
|
133
133
|
float_value = None
|
|
134
134
|
if (child_element is not None) and (child_element.text is not None):
|
|
135
135
|
float_value = ARFloat()
|
|
136
|
+
self.readARObjectAttributes(child_element, float_value)
|
|
136
137
|
float_value.setValue(child_element.text)
|
|
137
138
|
return float_value
|
|
138
139
|
|
|
@@ -162,7 +163,9 @@ class AbstractARXMLParser:
|
|
|
162
163
|
|
|
163
164
|
def getChildElementOptionalBooleanValue(self, element: ET.Element, key: str) -> Boolean:
|
|
164
165
|
literal = self.getChildElementOptionalLiteral(element, key)
|
|
165
|
-
if
|
|
166
|
+
if literal == None:
|
|
167
|
+
return None
|
|
168
|
+
if literal.getText() == "":
|
|
166
169
|
return None
|
|
167
170
|
bool_value = Boolean()
|
|
168
171
|
bool_value.timestamp = literal.timestamp
|
|
@@ -175,19 +178,6 @@ class AbstractARXMLParser:
|
|
|
175
178
|
return int(m.group(1), 16)
|
|
176
179
|
return int(value)
|
|
177
180
|
|
|
178
|
-
'''
|
|
179
|
-
def getChildElementNumberValue(self, short_name: str, element: ET.Element, key: str) -> int:
|
|
180
|
-
value = self.getChildElement(short_name, element, key)
|
|
181
|
-
return self._convertStringToNumberValue(value)
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
def getChildElementOptionalNumberValue(self, element: ET.Element, key: str) -> int:
|
|
185
|
-
value = self.getChildElementOptionalValue(element, key)
|
|
186
|
-
if (value == None):
|
|
187
|
-
return None
|
|
188
|
-
return self._convertStringToNumberValue(value)
|
|
189
|
-
'''
|
|
190
|
-
|
|
191
181
|
def getChildElementOptionalNumericalValue(self, element: ET.Element, key: str) -> ARNumerical:
|
|
192
182
|
child_element = self.find(element, key)
|
|
193
183
|
if child_element == None:
|