armodel 1.7.3__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/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +6 -7
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +7 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +28 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +17 -1
- 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 +7 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +47 -15
- 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/__init__.py +3 -0
- armodel/parser/arxml_parser.py +222 -46
- armodel/tests/test_armodel/models/test_ar_ref.py +2 -2
- armodel/writer/abstract_arxml_writer.py +1 -3
- armodel/writer/arxml_writer.py +256 -103
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/METADATA +17 -2
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/RECORD +31 -27
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/LICENSE +0 -0
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/WHEEL +0 -0
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.3.dist-info → armodel-1.7.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Integer, PositiveInteger, PositiveUnlimitedInteger, RefType, TimeValue
|
|
5
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationCluster, CommunicationConnector, CommunicationController, PhysicalChannel
|
|
7
|
+
|
|
8
|
+
class EthernetCluster(CommunicationCluster):
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
self.couplingPorts = [] # type: List[CouplingPortConnection]
|
|
13
|
+
self.couplingPortStartupActiveTime = None # type: TimeValue
|
|
14
|
+
self.couplingPortSwitchoffDelay = None # type: TimeValue
|
|
15
|
+
self.macMulticastGroups = [] # type: MacMulticastGroup
|
|
16
|
+
|
|
17
|
+
def getCouplingPorts(self):
|
|
18
|
+
return self.couplingPorts
|
|
19
|
+
|
|
20
|
+
def setCouplingPorts(self, value):
|
|
21
|
+
self.couplingPorts = value
|
|
22
|
+
return self
|
|
23
|
+
|
|
24
|
+
def getCouplingPortStartupActiveTime(self):
|
|
25
|
+
return self.couplingPortStartupActiveTime
|
|
26
|
+
|
|
27
|
+
def setCouplingPortStartupActiveTime(self, value):
|
|
28
|
+
self.couplingPortStartupActiveTime = value
|
|
29
|
+
return self
|
|
30
|
+
|
|
31
|
+
def getCouplingPortSwitchoffDelay(self):
|
|
32
|
+
return self.couplingPortSwitchoffDelay
|
|
33
|
+
|
|
34
|
+
def setCouplingPortSwitchoffDelay(self, value):
|
|
35
|
+
self.couplingPortSwitchoffDelay = value
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
def getMacMulticastGroups(self):
|
|
39
|
+
return self.macMulticastGroups
|
|
40
|
+
|
|
41
|
+
def setMacMulticastGroups(self, value):
|
|
42
|
+
self.macMulticastGroups = value
|
|
43
|
+
return self
|
|
44
|
+
|
|
45
|
+
class CouplingPort(Identifiable):
|
|
46
|
+
def __init__(self, parent, short_name):
|
|
47
|
+
super().__init__(parent, short_name)
|
|
48
|
+
|
|
49
|
+
self.connectionNegotiationBehavior = None # type: EthernetConnectionNegotiationEnum
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class EthernetCommunicationController(CommunicationController):
|
|
53
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
54
|
+
super().__init__(parent, short_name)
|
|
55
|
+
|
|
56
|
+
self.canXlConfigRef = None # type: RefType
|
|
57
|
+
self.couplingPorts = [] # type: List[CouplingPort]
|
|
58
|
+
self.macLayerType = None # type: EthernetMacLayerTypeEnum
|
|
59
|
+
self.macUnicastAddress = None # type: MacAddressString
|
|
60
|
+
self.maximumReceiveBufferLength = None # type: Integer
|
|
61
|
+
self.maximumTransmitBufferLength = None # type: Integer
|
|
62
|
+
self.slaveActAsPassiveCommunicationSlave = None # type: Boolean
|
|
63
|
+
self.slaveQualifiedUnexpectedLinkDownTime = None # type: TimeValue
|
|
64
|
+
|
|
65
|
+
def getCanXlConfigRef(self):
|
|
66
|
+
return self.canXlConfigRef
|
|
67
|
+
|
|
68
|
+
def setCanXlConfigRef(self, value):
|
|
69
|
+
self.canXlConfigRef = value
|
|
70
|
+
return self
|
|
71
|
+
|
|
72
|
+
def getCouplingPorts(self):
|
|
73
|
+
return self.couplingPorts
|
|
74
|
+
|
|
75
|
+
def addCouplingPort(self, value):
|
|
76
|
+
self.couplingPorts.append(value)
|
|
77
|
+
return self
|
|
78
|
+
|
|
79
|
+
def getMacLayerType(self):
|
|
80
|
+
return self.macLayerType
|
|
81
|
+
|
|
82
|
+
def setMacLayerType(self, value):
|
|
83
|
+
self.macLayerType = value
|
|
84
|
+
return self
|
|
85
|
+
|
|
86
|
+
def getMacUnicastAddress(self):
|
|
87
|
+
return self.macUnicastAddress
|
|
88
|
+
|
|
89
|
+
def setMacUnicastAddress(self, value):
|
|
90
|
+
self.macUnicastAddress = value
|
|
91
|
+
return self
|
|
92
|
+
|
|
93
|
+
def getMaximumReceiveBufferLength(self):
|
|
94
|
+
return self.maximumReceiveBufferLength
|
|
95
|
+
|
|
96
|
+
def setMaximumReceiveBufferLength(self, value):
|
|
97
|
+
self.maximumReceiveBufferLength = value
|
|
98
|
+
return self
|
|
99
|
+
|
|
100
|
+
def getMaximumTransmitBufferLength(self):
|
|
101
|
+
return self.maximumTransmitBufferLength
|
|
102
|
+
|
|
103
|
+
def setMaximumTransmitBufferLength(self, value):
|
|
104
|
+
self.maximumTransmitBufferLength = value
|
|
105
|
+
return self
|
|
106
|
+
|
|
107
|
+
def getSlaveActAsPassiveCommunicationSlave(self):
|
|
108
|
+
return self.slaveActAsPassiveCommunicationSlave
|
|
109
|
+
|
|
110
|
+
def setSlaveActAsPassiveCommunicationSlave(self, value):
|
|
111
|
+
self.slaveActAsPassiveCommunicationSlave = value
|
|
112
|
+
return self
|
|
113
|
+
|
|
114
|
+
def getSlaveQualifiedUnexpectedLinkDownTime(self):
|
|
115
|
+
return self.slaveQualifiedUnexpectedLinkDownTime
|
|
116
|
+
|
|
117
|
+
def setSlaveQualifiedUnexpectedLinkDownTime(self, value):
|
|
118
|
+
self.slaveQualifiedUnexpectedLinkDownTime = value
|
|
119
|
+
return self
|
|
120
|
+
|
|
121
|
+
class EthernetCommunicationConnector(CommunicationConnector):
|
|
122
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
123
|
+
super().__init__(parent, short_name)
|
|
124
|
+
|
|
125
|
+
self.ethIpPropsRef = None # type: RefType
|
|
126
|
+
self.maximumTransmissionUnit = None # type: PositiveInteger
|
|
127
|
+
self.neighborCacheSize = None # type: PositiveInteger
|
|
128
|
+
self.pathMtuEnabled = None # type: Boolean
|
|
129
|
+
self.pathMtuTimeout = None # type: TimeValue
|
|
130
|
+
|
|
131
|
+
def getEthIpPropsRef(self):
|
|
132
|
+
return self.ethIpPropsRef
|
|
133
|
+
|
|
134
|
+
def setEthIpPropsRef(self, value):
|
|
135
|
+
self.ethIpPropsRef = value
|
|
136
|
+
return self
|
|
137
|
+
|
|
138
|
+
def getMaximumTransmissionUnit(self):
|
|
139
|
+
return self.maximumTransmissionUnit
|
|
140
|
+
|
|
141
|
+
def setMaximumTransmissionUnit(self, value):
|
|
142
|
+
self.maximumTransmissionUnit = value
|
|
143
|
+
return self
|
|
144
|
+
|
|
145
|
+
def getNeighborCacheSize(self):
|
|
146
|
+
return self.neighborCacheSize
|
|
147
|
+
|
|
148
|
+
def setNeighborCacheSize(self, value):
|
|
149
|
+
self.neighborCacheSize = value
|
|
150
|
+
return self
|
|
151
|
+
|
|
152
|
+
def getPathMtuEnabled(self):
|
|
153
|
+
return self.pathMtuEnabled
|
|
154
|
+
|
|
155
|
+
def setPathMtuEnabled(self, value):
|
|
156
|
+
self.pathMtuEnabled = value
|
|
157
|
+
return self
|
|
158
|
+
|
|
159
|
+
def getPathMtuTimeout(self):
|
|
160
|
+
return self.pathMtuTimeout
|
|
161
|
+
|
|
162
|
+
def setPathMtuTimeout(self, value):
|
|
163
|
+
self.pathMtuTimeout = value
|
|
164
|
+
return self
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Ip4AddressString, Ip6AddressString, PositiveInteger, String
|
|
6
|
+
|
|
7
|
+
class NetworkEndpointAddress(ARObject, metaclass = ABCMeta):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
if type(self) == NetworkEndpointAddress:
|
|
10
|
+
raise NotImplementedError("NetworkEndpointAddress is an abstract class.")
|
|
11
|
+
|
|
12
|
+
super().__init__()
|
|
13
|
+
|
|
14
|
+
class Ipv4Configuration(NetworkEndpointAddress):
|
|
15
|
+
def __init__(self):
|
|
16
|
+
super().__init__()
|
|
17
|
+
|
|
18
|
+
self.assignmentPriority = None # type: PositiveInteger
|
|
19
|
+
self.defaultGateway = None # type: Ip4AddressString
|
|
20
|
+
self.dnsServerAddresses = [] # type: List[Ip4AddressString]
|
|
21
|
+
self.ipAddressKeepBehavior = None # type: IpAddressKeepEnum
|
|
22
|
+
self.ipv4Address = None # type: Ip4AddressString
|
|
23
|
+
self.ipv4AddressSource = None # type: Ipv4AddressSourceEnum
|
|
24
|
+
self.networkMask = None # type: Ip4AddressString
|
|
25
|
+
self.ttl = None # type: PositiveInteger
|
|
26
|
+
|
|
27
|
+
def getAssignmentPriority(self):
|
|
28
|
+
return self.assignmentPriority
|
|
29
|
+
|
|
30
|
+
def setAssignmentPriority(self, value):
|
|
31
|
+
self.assignmentPriority = value
|
|
32
|
+
return self
|
|
33
|
+
|
|
34
|
+
def getDefaultGateway(self):
|
|
35
|
+
return self.defaultGateway
|
|
36
|
+
|
|
37
|
+
def setDefaultGateway(self, value):
|
|
38
|
+
self.defaultGateway = value
|
|
39
|
+
return self
|
|
40
|
+
|
|
41
|
+
def getDnsServerAddresses(self):
|
|
42
|
+
return self.dnsServerAddresses
|
|
43
|
+
|
|
44
|
+
def addDnsServerAddress(self, value):
|
|
45
|
+
self.dnsServerAddresses.append(value)
|
|
46
|
+
return self
|
|
47
|
+
|
|
48
|
+
def getIpAddressKeepBehavior(self):
|
|
49
|
+
return self.ipAddressKeepBehavior
|
|
50
|
+
|
|
51
|
+
def setIpAddressKeepBehavior(self, value):
|
|
52
|
+
self.ipAddressKeepBehavior = value
|
|
53
|
+
return self
|
|
54
|
+
|
|
55
|
+
def getIpv4Address(self):
|
|
56
|
+
return self.ipv4Address
|
|
57
|
+
|
|
58
|
+
def setIpv4Address(self, value):
|
|
59
|
+
self.ipv4Address = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
def getIpv4AddressSource(self):
|
|
63
|
+
return self.ipv4AddressSource
|
|
64
|
+
|
|
65
|
+
def setIpv4AddressSource(self, value):
|
|
66
|
+
self.ipv4AddressSource = value
|
|
67
|
+
return self
|
|
68
|
+
|
|
69
|
+
def getNetworkMask(self):
|
|
70
|
+
return self.networkMask
|
|
71
|
+
|
|
72
|
+
def setNetworkMask(self, value):
|
|
73
|
+
self.networkMask = value
|
|
74
|
+
return self
|
|
75
|
+
|
|
76
|
+
def getTtl(self):
|
|
77
|
+
return self.ttl
|
|
78
|
+
|
|
79
|
+
def setTtl(self, value):
|
|
80
|
+
self.ttl = value
|
|
81
|
+
return self
|
|
82
|
+
|
|
83
|
+
class Ipv6Configuration(NetworkEndpointAddress):
|
|
84
|
+
def __init__(self):
|
|
85
|
+
super().__init__()
|
|
86
|
+
|
|
87
|
+
self.assignmentPriority = None # type: PositiveInteger
|
|
88
|
+
self.defaultRouter = None # type: Ip6AddressString
|
|
89
|
+
self.dnsServerAddresses = [] # type: List[Ip6AddressString]
|
|
90
|
+
self.enableAnycast = None # type: Boolean
|
|
91
|
+
self.hopCount = None # type: PositiveInteger
|
|
92
|
+
self.ipAddressKeepBehavior = None # type: IpAddressKeepEnum
|
|
93
|
+
self.ipAddressPrefixLength = None # type: PositiveInteger
|
|
94
|
+
self.ipv6Address = None # type: Ip6AddressString
|
|
95
|
+
self.ipv6AddressSource = None # type: Ipv6AddressSourceEnum
|
|
96
|
+
|
|
97
|
+
def getAssignmentPriority(self):
|
|
98
|
+
return self.assignmentPriority
|
|
99
|
+
|
|
100
|
+
def setAssignmentPriority(self, value):
|
|
101
|
+
self.assignmentPriority = value
|
|
102
|
+
return self
|
|
103
|
+
|
|
104
|
+
def getDefaultRouter(self):
|
|
105
|
+
return self.defaultRouter
|
|
106
|
+
|
|
107
|
+
def setDefaultRouter(self, value):
|
|
108
|
+
self.defaultRouter = value
|
|
109
|
+
return self
|
|
110
|
+
|
|
111
|
+
def getDnsServerAddresses(self):
|
|
112
|
+
return self.dnsServerAddresses
|
|
113
|
+
|
|
114
|
+
def setDnsServerAddresses(self, value):
|
|
115
|
+
self.dnsServerAddresses = value
|
|
116
|
+
return self
|
|
117
|
+
|
|
118
|
+
def getEnableAnycast(self):
|
|
119
|
+
return self.enableAnycast
|
|
120
|
+
|
|
121
|
+
def setEnableAnycast(self, value):
|
|
122
|
+
self.enableAnycast = value
|
|
123
|
+
return self
|
|
124
|
+
|
|
125
|
+
def getHopCount(self):
|
|
126
|
+
return self.hopCount
|
|
127
|
+
|
|
128
|
+
def setHopCount(self, value):
|
|
129
|
+
self.hopCount = value
|
|
130
|
+
return self
|
|
131
|
+
|
|
132
|
+
def getIpAddressKeepBehavior(self):
|
|
133
|
+
return self.ipAddressKeepBehavior
|
|
134
|
+
|
|
135
|
+
def setIpAddressKeepBehavior(self, value):
|
|
136
|
+
self.ipAddressKeepBehavior = value
|
|
137
|
+
return self
|
|
138
|
+
|
|
139
|
+
def getIpAddressPrefixLength(self):
|
|
140
|
+
return self.ipAddressPrefixLength
|
|
141
|
+
|
|
142
|
+
def setIpAddressPrefixLength(self, value):
|
|
143
|
+
self.ipAddressPrefixLength = value
|
|
144
|
+
return self
|
|
145
|
+
|
|
146
|
+
def getIpv6Address(self):
|
|
147
|
+
return self.ipv6Address
|
|
148
|
+
|
|
149
|
+
def setIpv6Address(self, value):
|
|
150
|
+
self.ipv6Address = value
|
|
151
|
+
return self
|
|
152
|
+
|
|
153
|
+
def getIpv6AddressSource(self):
|
|
154
|
+
return self.ipv6AddressSource
|
|
155
|
+
|
|
156
|
+
def setIpv6AddressSource(self, value):
|
|
157
|
+
self.ipv6AddressSource = value
|
|
158
|
+
return self
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
class InfrastructureServices(ARObject):
|
|
162
|
+
def __init__(self):
|
|
163
|
+
super().__init__()
|
|
164
|
+
|
|
165
|
+
self.doIpEntity = None # type: DoIpEntity
|
|
166
|
+
self.timeSynchronization = None # type: TimeSynchronization
|
|
167
|
+
|
|
168
|
+
def getDoIpEntity(self):
|
|
169
|
+
return self.doIpEntity
|
|
170
|
+
|
|
171
|
+
def setDoIpEntity(self, value):
|
|
172
|
+
self.doIpEntity = value
|
|
173
|
+
return self
|
|
174
|
+
|
|
175
|
+
def getTimeSynchronization(self):
|
|
176
|
+
return self.timeSynchronization
|
|
177
|
+
|
|
178
|
+
def setTimeSynchronization(self, value):
|
|
179
|
+
self.timeSynchronization = value
|
|
180
|
+
return self
|
|
181
|
+
|
|
182
|
+
class NetworkEndpoint(Identifiable):
|
|
183
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
184
|
+
super().__init__(parent, short_name)
|
|
185
|
+
|
|
186
|
+
self.fullyQualifiedDomainName = None # type: String
|
|
187
|
+
self.infrastructureServices = None # type: InfrastructureServices
|
|
188
|
+
self.ipSecConfig = None # type: IPSecConfig
|
|
189
|
+
self.networkEndpointAddresses = [] # type: List[NetworkEndpointAddress]
|
|
190
|
+
self.priority = None # type: PositiveInteger
|
|
191
|
+
|
|
192
|
+
def getFullyQualifiedDomainName(self):
|
|
193
|
+
return self.fullyQualifiedDomainName
|
|
194
|
+
|
|
195
|
+
def setFullyQualifiedDomainName(self, value):
|
|
196
|
+
self.fullyQualifiedDomainName = value
|
|
197
|
+
return self
|
|
198
|
+
|
|
199
|
+
def getInfrastructureServices(self):
|
|
200
|
+
return self.infrastructureServices
|
|
201
|
+
|
|
202
|
+
def setInfrastructureServices(self, value):
|
|
203
|
+
self.infrastructureServices = value
|
|
204
|
+
return self
|
|
205
|
+
|
|
206
|
+
def getIpSecConfig(self):
|
|
207
|
+
return self.ipSecConfig
|
|
208
|
+
|
|
209
|
+
def setIpSecConfig(self, value):
|
|
210
|
+
self.ipSecConfig = value
|
|
211
|
+
return self
|
|
212
|
+
|
|
213
|
+
def getNetworkEndpointAddresses(self):
|
|
214
|
+
return self.networkEndpointAddresses
|
|
215
|
+
|
|
216
|
+
def addNetworkEndpointAddress(self, value):
|
|
217
|
+
self.networkEndpointAddresses.append(value)
|
|
218
|
+
return self
|
|
219
|
+
|
|
220
|
+
def getPriority(self):
|
|
221
|
+
return self.priority
|
|
222
|
+
|
|
223
|
+
def setPriority(self, value):
|
|
224
|
+
self.priority = value
|
|
225
|
+
return self
|
|
@@ -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
|