armodel 1.7.3__py3-none-any.whl → 1.7.5__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/file_list_cli.py +70 -0
- 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/DiagnosticExtract/DiagnosticContribution.py +47 -0
- armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +73 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +37 -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/DiagnosticConnection.py +58 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +244 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +281 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +328 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +522 -11
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +94 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +140 -12
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +31 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +7 -12
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +25 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -3
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +0 -1
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
- armodel/models/__init__.py +6 -0
- armodel/parser/abstract_arxml_parser.py +2 -0
- armodel/parser/arxml_parser.py +561 -62
- armodel/tests/test_armodel/models/test_ar_ref.py +2 -2
- armodel/writer/abstract_arxml_writer.py +1 -3
- armodel/writer/arxml_writer.py +702 -223
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/METADATA +47 -2
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/RECORD +43 -34
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/entry_points.txt +1 -0
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/LICENSE +0 -0
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/WHEEL +0 -0
- {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,328 @@
|
|
|
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, TimeValue
|
|
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
|
+
class DoIpEntity(ARObject):
|
|
161
|
+
def __init__(self):
|
|
162
|
+
super().__init__()
|
|
163
|
+
|
|
164
|
+
self.doIpEntityRole = None # type: DoIpEntityRoleEnum
|
|
165
|
+
|
|
166
|
+
def getDoIpEntityRole(self):
|
|
167
|
+
return self.doIpEntityRole
|
|
168
|
+
|
|
169
|
+
def setDoIpEntityRole(self, value):
|
|
170
|
+
if value is not None:
|
|
171
|
+
self.doIpEntityRole = value
|
|
172
|
+
return self
|
|
173
|
+
|
|
174
|
+
class TimeSyncClientConfiguration(ARObject):
|
|
175
|
+
def __init__(self):
|
|
176
|
+
super().__init__()
|
|
177
|
+
|
|
178
|
+
self.orderedMasters = [] # type: List[OrderedMaster]
|
|
179
|
+
self.timeSyncTechnology = None # type: TimeSyncTechnologyEnum
|
|
180
|
+
|
|
181
|
+
def getOrderedMasters(self):
|
|
182
|
+
return self.orderedMasters
|
|
183
|
+
|
|
184
|
+
def addOrderedMaster(self, value):
|
|
185
|
+
if value is not None:
|
|
186
|
+
self.orderedMasters.append(value)
|
|
187
|
+
return self
|
|
188
|
+
|
|
189
|
+
def getTimeSyncTechnology(self):
|
|
190
|
+
return self.timeSyncTechnology
|
|
191
|
+
|
|
192
|
+
def setTimeSyncTechnology(self, value):
|
|
193
|
+
if value is not None:
|
|
194
|
+
self.timeSyncTechnology = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class TimeSyncServerConfiguration(ARObject):
|
|
199
|
+
def __init__(self):
|
|
200
|
+
super().__init__()
|
|
201
|
+
|
|
202
|
+
self.priority = None # type: PositiveInteger
|
|
203
|
+
self.syncInterval = None # type: TimeValue
|
|
204
|
+
self.timeSyncServerIdentifier = None # type: String
|
|
205
|
+
self.timeSyncTechnology = None # type: TimeSyncTechnologyEnum
|
|
206
|
+
|
|
207
|
+
def getPriority(self):
|
|
208
|
+
return self.priority
|
|
209
|
+
|
|
210
|
+
def setPriority(self, value):
|
|
211
|
+
if value is not None:
|
|
212
|
+
self.priority = value
|
|
213
|
+
return self
|
|
214
|
+
|
|
215
|
+
def getSyncInterval(self):
|
|
216
|
+
return self.syncInterval
|
|
217
|
+
|
|
218
|
+
def setSyncInterval(self, value):
|
|
219
|
+
if value is not None:
|
|
220
|
+
self.syncInterval = value
|
|
221
|
+
return self
|
|
222
|
+
|
|
223
|
+
def getTimeSyncServerIdentifier(self):
|
|
224
|
+
return self.timeSyncServerIdentifier
|
|
225
|
+
|
|
226
|
+
def setTimeSyncServerIdentifier(self, value):
|
|
227
|
+
if value is not None:
|
|
228
|
+
self.timeSyncServerIdentifier = value
|
|
229
|
+
return self
|
|
230
|
+
|
|
231
|
+
def getTimeSyncTechnology(self):
|
|
232
|
+
return self.timeSyncTechnology
|
|
233
|
+
|
|
234
|
+
def setTimeSyncTechnology(self, value):
|
|
235
|
+
if value is not None:
|
|
236
|
+
self.timeSyncTechnology = value
|
|
237
|
+
return self
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class TimeSynchronization(ARObject):
|
|
241
|
+
def __init__(self):
|
|
242
|
+
super().__init__()
|
|
243
|
+
|
|
244
|
+
self.timeSyncClient = None # type: TimeSyncClientConfiguration
|
|
245
|
+
self.timeSyncServer = None # type: TimeSyncServerConfiguration
|
|
246
|
+
|
|
247
|
+
def getTimeSyncClient(self):
|
|
248
|
+
return self.timeSyncClient
|
|
249
|
+
|
|
250
|
+
def setTimeSyncClient(self, value):
|
|
251
|
+
if value is not None:
|
|
252
|
+
self.timeSyncClient = value
|
|
253
|
+
return self
|
|
254
|
+
|
|
255
|
+
def getTimeSyncServer(self):
|
|
256
|
+
return self.timeSyncServer
|
|
257
|
+
|
|
258
|
+
def setTimeSyncServer(self, value):
|
|
259
|
+
if value is not None:
|
|
260
|
+
self.timeSyncServer = value
|
|
261
|
+
return self
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
class InfrastructureServices(ARObject):
|
|
265
|
+
def __init__(self):
|
|
266
|
+
super().__init__()
|
|
267
|
+
|
|
268
|
+
self.doIpEntity = None # type: DoIpEntity
|
|
269
|
+
self.timeSynchronization = None # type: TimeSynchronization
|
|
270
|
+
|
|
271
|
+
def getDoIpEntity(self):
|
|
272
|
+
return self.doIpEntity
|
|
273
|
+
|
|
274
|
+
def setDoIpEntity(self, value):
|
|
275
|
+
self.doIpEntity = value
|
|
276
|
+
return self
|
|
277
|
+
|
|
278
|
+
def getTimeSynchronization(self):
|
|
279
|
+
return self.timeSynchronization
|
|
280
|
+
|
|
281
|
+
def setTimeSynchronization(self, value):
|
|
282
|
+
self.timeSynchronization = value
|
|
283
|
+
return self
|
|
284
|
+
|
|
285
|
+
class NetworkEndpoint(Identifiable):
|
|
286
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
287
|
+
super().__init__(parent, short_name)
|
|
288
|
+
|
|
289
|
+
self.fullyQualifiedDomainName = None # type: String
|
|
290
|
+
self.infrastructureServices = None # type: InfrastructureServices
|
|
291
|
+
self.ipSecConfig = None # type: IPSecConfig
|
|
292
|
+
self.networkEndpointAddresses = [] # type: List[NetworkEndpointAddress]
|
|
293
|
+
self.priority = None # type: PositiveInteger
|
|
294
|
+
|
|
295
|
+
def getFullyQualifiedDomainName(self):
|
|
296
|
+
return self.fullyQualifiedDomainName
|
|
297
|
+
|
|
298
|
+
def setFullyQualifiedDomainName(self, value):
|
|
299
|
+
self.fullyQualifiedDomainName = value
|
|
300
|
+
return self
|
|
301
|
+
|
|
302
|
+
def getInfrastructureServices(self):
|
|
303
|
+
return self.infrastructureServices
|
|
304
|
+
|
|
305
|
+
def setInfrastructureServices(self, value):
|
|
306
|
+
self.infrastructureServices = value
|
|
307
|
+
return self
|
|
308
|
+
|
|
309
|
+
def getIpSecConfig(self):
|
|
310
|
+
return self.ipSecConfig
|
|
311
|
+
|
|
312
|
+
def setIpSecConfig(self, value):
|
|
313
|
+
self.ipSecConfig = value
|
|
314
|
+
return self
|
|
315
|
+
|
|
316
|
+
def getNetworkEndpointAddresses(self):
|
|
317
|
+
return self.networkEndpointAddresses
|
|
318
|
+
|
|
319
|
+
def addNetworkEndpointAddress(self, value):
|
|
320
|
+
self.networkEndpointAddresses.append(value)
|
|
321
|
+
return self
|
|
322
|
+
|
|
323
|
+
def getPriority(self):
|
|
324
|
+
return self.priority
|
|
325
|
+
|
|
326
|
+
def setPriority(self, value):
|
|
327
|
+
self.priority = value
|
|
328
|
+
return self
|