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.
Files changed (43) hide show
  1. armodel/cli/file_list_cli.py +70 -0
  2. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +2 -1
  3. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +6 -7
  5. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/DiagnosticContribution.py +47 -0
  6. armodel/models/M2/AUTOSARTemplates/DiagnosticExtract/__init__.py +0 -0
  7. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +73 -3
  8. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +37 -1
  9. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +17 -1
  10. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py +31 -0
  11. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +4 -3
  12. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +17 -32
  13. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +4 -0
  14. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +7 -1
  15. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +47 -15
  16. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DiagnosticConnection.py +58 -0
  17. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py +244 -0
  18. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +281 -0
  19. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/NetworkEndpoint.py +328 -0
  20. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +522 -11
  21. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py +114 -6
  22. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinTopology.py +94 -0
  23. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +151 -6
  24. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +140 -12
  25. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +31 -6
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +7 -12
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +135 -13
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +25 -1
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +4 -3
  30. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +0 -1
  31. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +1 -1
  32. armodel/models/__init__.py +6 -0
  33. armodel/parser/abstract_arxml_parser.py +2 -0
  34. armodel/parser/arxml_parser.py +561 -62
  35. armodel/tests/test_armodel/models/test_ar_ref.py +2 -2
  36. armodel/writer/abstract_arxml_writer.py +1 -3
  37. armodel/writer/arxml_writer.py +702 -223
  38. {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/METADATA +47 -2
  39. {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/RECORD +43 -34
  40. {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/entry_points.txt +1 -0
  41. {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/LICENSE +0 -0
  42. {armodel-1.7.3.dist-info → armodel-1.7.5.dist-info}/WHEEL +0 -0
  43. {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