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.
Files changed (54) hide show
  1. armodel/cli/arxml_dump_cli.py +1 -1
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +44 -20
  3. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +104 -30
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +12 -16
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +70 -0
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +12 -9
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +29 -22
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HardwareConfiguration.py +33 -0
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/HeapUsage.py +10 -0
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/SoftwareContext.py +23 -0
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/StackUsage.py +93 -0
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +39 -5
  13. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +28 -5
  14. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +48 -6
  15. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +5 -5
  16. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +27 -1
  17. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +39 -0
  18. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +17 -1
  19. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +8 -0
  20. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +196 -5
  21. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +31 -0
  22. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +4 -3
  23. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +17 -32
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +4 -0
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +17 -2
  26. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +81 -34
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +10 -1
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +229 -0
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +167 -0
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +225 -0
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +96 -7
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +47 -4
  33. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +18 -5
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +7 -12
  35. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +0 -1
  36. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +16 -1
  37. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +34 -3
  38. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +7 -0
  39. armodel/models/M2/MSR/DataDictionary/ServiceProcessTask.py +33 -0
  40. armodel/models/__init__.py +6 -0
  41. armodel/parser/abstract_arxml_parser.py +4 -14
  42. armodel/parser/arxml_parser.py +567 -224
  43. armodel/tests/test_armodel/models/test_ar_object.py +6 -2
  44. armodel/tests/test_armodel/models/test_ar_ref.py +2 -2
  45. armodel/tests/test_armodel/models/test_port_interface.py +4 -4
  46. armodel/tests/test_armodel/parser/test_parse_bswmd.py +48 -48
  47. armodel/writer/abstract_arxml_writer.py +2 -3
  48. armodel/writer/arxml_writer.py +566 -288
  49. {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/METADATA +30 -2
  50. {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/RECORD +54 -44
  51. {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/LICENSE +0 -0
  52. {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/WHEEL +0 -0
  53. {armodel-1.7.2.dist-info → armodel-1.7.4.dist-info}/entry_points.txt +0 -0
  54. {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 = [] # type: List[StaticSocketConnection]
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.connection = None # type: SocketConnection
114
- self.connectionBundle = None # type: SocketConnectionBundle
115
- self.socketAddress = None # type: SocketAddress
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.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
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.elements[short_name] = controller
109
- return self.elements[short_name]
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
- controller = CanCommunicationConnector(self, short_name)
117
- self.elements[short_name] = controller
118
- return self.elements[short_name]
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.modeDrivenFalseConditions = []
135
- # type: ModeDrivenTransmissionModeCondition
136
- self.modeDrivenTrueConditions = []
137
- # type: TransmissionModeCondition
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
@@ -71,7 +71,6 @@ class BaseType(ARElement, metaclass=ABCMeta):
71
71
  self.baseTypeDefinition = value
72
72
  return self
73
73
 
74
-
75
74
  class SwBaseType(BaseType):
76
75
  def __init__(self, parent: ARObject, short_name: str):
77
76
  super().__init__(parent, short_name)
@@ -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.sw_arraysize = None # type: ValueList
25
- self.unit_ref = None # type: RefType
26
- self.sw_values_phys = None # type: SwValues
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
@@ -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 (literal == None):
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: