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
|
@@ -91,7 +91,7 @@ class InternalBehavior(Identifiable, metaclass=ABCMeta):
|
|
|
91
91
|
self.constantMemories.append(prototype)
|
|
92
92
|
return self.getElement(short_name)
|
|
93
93
|
|
|
94
|
-
def
|
|
94
|
+
def getConstantMemories(self) -> List[ParameterDataPrototype]:
|
|
95
95
|
return self.constantMemories
|
|
96
96
|
|
|
97
97
|
def addDataTypeMappingRef(self, ref: RefType):
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
from typing import List
|
|
3
|
-
|
|
3
|
+
from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
|
|
4
|
+
from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AutosarVariableRef import AutosarVariableRef
|
|
4
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
6
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
6
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType, AREnum, Boolean, ARLiteral, DiagRequirementIdString, Integer, PositiveInteger, RefType, String, TimeValue
|
|
@@ -10,8 +11,8 @@ class RoleBasedDataAssignment(ARObject):
|
|
|
10
11
|
super().__init__()
|
|
11
12
|
|
|
12
13
|
self.role = None # type: ARLiteral
|
|
13
|
-
self.usedDataElement = None # type:
|
|
14
|
-
self.usedParameterElement = None # type:
|
|
14
|
+
self.usedDataElement = None # type: AutosarVariableRef
|
|
15
|
+
self.usedParameterElement = None # type: AutosarParameterRef
|
|
15
16
|
self.usedPimRef = None # type: RefType
|
|
16
17
|
|
|
17
18
|
def getRole(self):
|
|
@@ -615,10 +616,8 @@ class DiagnosticEventInfoNeeds(DiagnosticCapabilityElement):
|
|
|
615
616
|
def __init__(self, parent: ARObject, short_name: str):
|
|
616
617
|
super().__init__(parent, short_name)
|
|
617
618
|
|
|
618
|
-
# type: PositiveInteger
|
|
619
|
-
self.
|
|
620
|
-
# type: PositiveInteger
|
|
621
|
-
self.udsDtcNumber = None
|
|
619
|
+
self.obdDtcNumber = None # type: PositiveInteger
|
|
620
|
+
self.udsDtcNumber = None # type: PositiveInteger
|
|
622
621
|
|
|
623
622
|
def getObdDtcNumber(self):
|
|
624
623
|
return self.obdDtcNumber
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Dict, List
|
|
2
|
-
|
|
3
2
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Identifier, RefType, ReferrableSubtypesEnum
|
|
4
3
|
from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.EcuInstance import EcuInstance
|
|
5
4
|
from .....M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
|
|
@@ -28,6 +27,7 @@ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Multiplatform import Ga
|
|
|
28
27
|
from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import DcmIPdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, NPdu, NmPdu, SecuredIPdu, SystemSignal, SystemSignalGroup
|
|
29
28
|
from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CanCluster, LinCluster
|
|
30
29
|
from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinUnconditionalFrame
|
|
30
|
+
from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetTopology import EthernetCluster
|
|
31
31
|
from .....M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping
|
|
32
32
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
|
|
33
33
|
from .....M2.AUTOSARTemplates.CommonStructure import ConstantSpecification
|
|
@@ -476,6 +476,12 @@ class ARPackage(Identifiable, CollectableElement):
|
|
|
476
476
|
map = PortInterfaceMappingSet(self, short_name)
|
|
477
477
|
self.addElement(map)
|
|
478
478
|
return self.getElement(short_name)
|
|
479
|
+
|
|
480
|
+
def createEthernetCluster(self, short_name: str) -> EthernetCluster:
|
|
481
|
+
if (short_name not in self.elements):
|
|
482
|
+
cluster = EthernetCluster(self, short_name)
|
|
483
|
+
self.addElement(cluster)
|
|
484
|
+
return self.getElement(short_name)
|
|
479
485
|
|
|
480
486
|
def getApplicationPrimitiveDataTypes(self) -> List[ApplicationPrimitiveDataType]:
|
|
481
487
|
return list(sorted(filter(lambda a: isinstance(a, ApplicationPrimitiveDataType), self.elements.values()), key= lambda o:o.short_name))
|
armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py
CHANGED
|
@@ -458,4 +458,31 @@ class ArgumentDirectionEnum(AREnum):
|
|
|
458
458
|
ArgumentDirectionEnum.IN,
|
|
459
459
|
ArgumentDirectionEnum.INOUT,
|
|
460
460
|
ArgumentDirectionEnum.OUT
|
|
461
|
-
))
|
|
461
|
+
))
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
class Ip4AddressString(ARLiteral):
|
|
465
|
+
'''
|
|
466
|
+
This is used to specify an IP4 address. Notation: 255.255.255.255
|
|
467
|
+
|
|
468
|
+
Tags
|
|
469
|
+
* xml.xsd.customType=IP4-ADDRESS-STRING
|
|
470
|
+
* xml.xsd.pattern=(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|ANY
|
|
471
|
+
* xml.xsd.type=string
|
|
472
|
+
'''
|
|
473
|
+
def __init__(self):
|
|
474
|
+
super().__init__()
|
|
475
|
+
|
|
476
|
+
class Ip6AddressString(ARLiteral):
|
|
477
|
+
'''
|
|
478
|
+
This is used to specify an IP6 address. Notation: FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
|
|
479
|
+
Alternative notations, short-cuts with duplicate colons like ::, etc. or mixtures using colons and dots, are
|
|
480
|
+
not allowed.
|
|
481
|
+
|
|
482
|
+
Tags:
|
|
483
|
+
* xml.xsd.customType=IP6-ADDRESS-STRING
|
|
484
|
+
* xml.xsd.pattern=[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY
|
|
485
|
+
* xml.xsd.type=string
|
|
486
|
+
'''
|
|
487
|
+
def __init__(self):
|
|
488
|
+
super().__init__()
|
|
@@ -3,7 +3,7 @@ from typing import List
|
|
|
3
3
|
from ....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
|
|
4
4
|
from ....M2.AUTOSARTemplates.CommonStructure import ValueSpecification
|
|
5
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, ARLiteral, ARNumerical, ARPositiveInteger
|
|
6
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, ARLiteral, ARNumerical, ARPositiveInteger, Boolean
|
|
7
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
|
|
8
8
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
9
9
|
from ....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
|
|
@@ -175,7 +175,16 @@ class ModeSwitchReceiverComSpec(RPortComSpec):
|
|
|
175
175
|
def __init__(self):
|
|
176
176
|
super().__init__()
|
|
177
177
|
|
|
178
|
+
self.enhancedModeApi = None # type: Boolean
|
|
178
179
|
self.modeGroupRef = None # type: RefType
|
|
180
|
+
self.supportsAsynchronousModeSwitch = None # type: Boolean
|
|
181
|
+
|
|
182
|
+
def getEnhancedModeApi(self):
|
|
183
|
+
return self.enhancedModeApi
|
|
184
|
+
|
|
185
|
+
def setEnhancedModeApi(self, value):
|
|
186
|
+
self.enhancedModeApi = value
|
|
187
|
+
return self
|
|
179
188
|
|
|
180
189
|
def getModeGroupRef(self):
|
|
181
190
|
return self.modeGroupRef
|
|
@@ -183,6 +192,13 @@ class ModeSwitchReceiverComSpec(RPortComSpec):
|
|
|
183
192
|
def setModeGroupRef(self, value):
|
|
184
193
|
self.modeGroupRef = value
|
|
185
194
|
return self
|
|
195
|
+
|
|
196
|
+
def getSupportsAsynchronousModeSwitch(self):
|
|
197
|
+
return self.supportsAsynchronousModeSwitch
|
|
198
|
+
|
|
199
|
+
def setSupportsAsynchronousModeSwitch(self, value):
|
|
200
|
+
self.supportsAsynchronousModeSwitch = value
|
|
201
|
+
return self
|
|
186
202
|
|
|
187
203
|
class NvRequireComSpec(RPortComSpec):
|
|
188
204
|
def __init__(self):
|
armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AutosarVariableRef.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import ArVariableInImplementationDataInstanceRef, VariableInAtomicSWCTypeInstanceRef
|
|
3
|
+
|
|
4
|
+
class AutosarVariableRef(ARObject):
|
|
5
|
+
def __init__(self):
|
|
6
|
+
super().__init__()
|
|
7
|
+
|
|
8
|
+
self.autosarVariableIRef = None # type: VariableInAtomicSWCTypeInstanceRef
|
|
9
|
+
self.autosarVariableInImplDatatype = None # type: ArVariableInImplementationDataInstanceRef
|
|
10
|
+
self.localVariableRef = None
|
|
11
|
+
|
|
12
|
+
def getAutosarVariableIRef(self):
|
|
13
|
+
return self.autosarVariableIRef
|
|
14
|
+
|
|
15
|
+
def setAutosarVariableIRef(self, value):
|
|
16
|
+
self.autosarVariableIRef = value
|
|
17
|
+
return self
|
|
18
|
+
|
|
19
|
+
def getAutosarVariableInImplDatatype(self):
|
|
20
|
+
return self.autosarVariableInImplDatatype
|
|
21
|
+
|
|
22
|
+
def setAutosarVariableInImplDatatype(self, value):
|
|
23
|
+
self.autosarVariableInImplDatatype = value
|
|
24
|
+
return self
|
|
25
|
+
|
|
26
|
+
def getLocalVariableRef(self):
|
|
27
|
+
return self.localVariableRef
|
|
28
|
+
|
|
29
|
+
def setLocalVariableRef(self, value):
|
|
30
|
+
self.localVariableRef = value
|
|
31
|
+
return self
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import AutosarVariableRef
|
|
1
2
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
|
|
2
|
-
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
|
|
3
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef
|
|
3
4
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
5
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
6
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
|
|
@@ -9,8 +10,8 @@ class ParameterAccess(AbstractAccessPoint):
|
|
|
9
10
|
def __init__(self, parent: ARObject, short_name: str):
|
|
10
11
|
super().__init__(parent, short_name)
|
|
11
12
|
|
|
12
|
-
self.accessedParameter = None
|
|
13
|
-
self.swDataDefProps = None
|
|
13
|
+
self.accessedParameter = None # type: AutosarParameterRef
|
|
14
|
+
self.swDataDefProps = None # type: SwDataDefProps
|
|
14
15
|
|
|
15
16
|
def getAccessedParameter(self):
|
|
16
17
|
return self.accessedParameter
|
armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py
CHANGED
|
@@ -86,36 +86,6 @@ class VariableInAtomicSWCTypeInstanceRef(AtpInstanceRef):
|
|
|
86
86
|
self.targetDataPrototypeRef = value
|
|
87
87
|
return self
|
|
88
88
|
|
|
89
|
-
class AutosarVariableRef(ARObject):
|
|
90
|
-
def __init__(self):
|
|
91
|
-
super().__init__()
|
|
92
|
-
|
|
93
|
-
self.autosarVariableIRef = None # type: VariableInAtomicSWCTypeInstanceRef
|
|
94
|
-
self.autosarVariableInImplDatatype = None # type: ArVariableInImplementationDataInstanceRef
|
|
95
|
-
self.localVariableRef = None
|
|
96
|
-
|
|
97
|
-
def getAutosarVariableIRef(self):
|
|
98
|
-
return self.autosarVariableIRef
|
|
99
|
-
|
|
100
|
-
def setAutosarVariableIRef(self, value):
|
|
101
|
-
self.autosarVariableIRef = value
|
|
102
|
-
return self
|
|
103
|
-
|
|
104
|
-
def getAutosarVariableInImplDatatype(self):
|
|
105
|
-
return self.autosarVariableInImplDatatype
|
|
106
|
-
|
|
107
|
-
def setAutosarVariableInImplDatatype(self, value):
|
|
108
|
-
self.autosarVariableInImplDatatype = value
|
|
109
|
-
return self
|
|
110
|
-
|
|
111
|
-
def getLocalVariableRef(self):
|
|
112
|
-
return self.localVariableRef
|
|
113
|
-
|
|
114
|
-
def setLocalVariableRef(self, value):
|
|
115
|
-
self.localVariableRef = value
|
|
116
|
-
return self
|
|
117
|
-
|
|
118
|
-
|
|
119
89
|
class ParameterInAtomicSWCTypeInstanceRef(AtpInstanceRef):
|
|
120
90
|
def __init__(self):
|
|
121
91
|
super().__init__()
|
|
@@ -165,5 +135,20 @@ class AutosarParameterRef(ARObject):
|
|
|
165
135
|
def __init__(self):
|
|
166
136
|
super().__init__()
|
|
167
137
|
|
|
168
|
-
|
|
169
|
-
self.
|
|
138
|
+
# type: ParameterInAtomicSWCTypeInstanceRef
|
|
139
|
+
self.autosarParameterIRef = None
|
|
140
|
+
self.localParameterRef = None # type: RefType
|
|
141
|
+
|
|
142
|
+
def getAutosarParameterIRef(self):
|
|
143
|
+
return self.autosarParameterIRef
|
|
144
|
+
|
|
145
|
+
def setAutosarParameterIRef(self, value):
|
|
146
|
+
self.autosarParameterIRef = value
|
|
147
|
+
return self
|
|
148
|
+
|
|
149
|
+
def getLocalParameterRef(self):
|
|
150
|
+
return self.localParameterRef
|
|
151
|
+
|
|
152
|
+
def setLocalParameterRef(self, value):
|
|
153
|
+
self.localParameterRef = value
|
|
154
|
+
return self
|
|
@@ -172,3 +172,7 @@ class InternalTriggerOccurredEvent(RTEEvent):
|
|
|
172
172
|
def setEventSourceRef(self, value):
|
|
173
173
|
self.eventSourceRef = value
|
|
174
174
|
return self
|
|
175
|
+
|
|
176
|
+
class BackgroundEvent(RTEEvent):
|
|
177
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
178
|
+
super().__init__(parent, short_name)
|
armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
-
from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagnosticCommunicationManagerNeeds, DiagnosticEventNeeds, DiagnosticRoutineNeeds, DiagnosticValueNeeds, EcuStateMgrUserNeeds, NvBlockNeeds, RoleBasedDataAssignment, ServiceNeeds
|
|
2
|
+
from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagnosticCommunicationManagerNeeds, DiagnosticEventInfoNeeds, DiagnosticEventNeeds, DiagnosticRoutineNeeds, DiagnosticValueNeeds, EcuStateMgrUserNeeds, NvBlockNeeds, RoleBasedDataAssignment, ServiceNeeds
|
|
3
3
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
4
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType
|
|
5
5
|
from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import ServiceDependency
|
|
@@ -73,6 +73,12 @@ class SwcServiceDependency(ServiceDependency):
|
|
|
73
73
|
self.addElement(needs)
|
|
74
74
|
return self.getElement(short_name)
|
|
75
75
|
|
|
76
|
+
def createDiagnosticEventInfoNeeds(self, short_name: str) -> DiagnosticEventInfoNeeds:
|
|
77
|
+
if (short_name not in self.elements):
|
|
78
|
+
needs = DiagnosticEventInfoNeeds(self, short_name)
|
|
79
|
+
self.addElement(needs)
|
|
80
|
+
return self.getElement(short_name)
|
|
81
|
+
|
|
76
82
|
def createCryptoServiceNeeds(self, short_name: str) -> CryptoServiceNeeds:
|
|
77
83
|
if (short_name not in self.elements):
|
|
78
84
|
needs = CryptoServiceNeeds(self, short_name)
|
|
@@ -228,7 +228,7 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
228
228
|
self.events = [] # type: List[RTEEvent]
|
|
229
229
|
self.exclusiveAreaPolicies = [] # type: List[SwcExclusiveAreaPolicy]
|
|
230
230
|
self.explicitInterRunnableVariables = [] # type: List[VariableDataPrototype]
|
|
231
|
-
self.handleTerminationAndRestart = None
|
|
231
|
+
self.handleTerminationAndRestart = None # type: str
|
|
232
232
|
self.implicitInterRunnableVariables = [] # type: List[VariableDataPrototype]
|
|
233
233
|
self.includedDataTypeSets = [] # type: List[IncludedDataTypeSet]
|
|
234
234
|
self.includedModeDeclarationGroupSets = [] # type: List[IncludedModeDeclarationGroupSet]
|
|
@@ -242,8 +242,33 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
242
242
|
self.supportsMultipleInstantiation = None # type: Boolean
|
|
243
243
|
self.variationPointProxies = [] # type: VariationPointProxy
|
|
244
244
|
|
|
245
|
+
def getArTypedPerInstanceMemories(self) -> List[VariableDataPrototype]:
|
|
246
|
+
return self.arTypedPerInstanceMemories
|
|
247
|
+
|
|
248
|
+
def createArTypedPerInstanceMemory(self, short_name: str) -> VariableDataPrototype:
|
|
249
|
+
if (short_name not in self.elements):
|
|
250
|
+
prototype = VariableDataPrototype(self, short_name)
|
|
251
|
+
self.addElement(prototype)
|
|
252
|
+
self.arTypedPerInstanceMemories.append(prototype)
|
|
253
|
+
return self.getElement(short_name)
|
|
254
|
+
|
|
245
255
|
def getExplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
|
|
246
256
|
return self.explicitInterRunnableVariables
|
|
257
|
+
|
|
258
|
+
def createExplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
|
|
259
|
+
if (short_name not in self.elements):
|
|
260
|
+
prototype = VariableDataPrototype(self, short_name)
|
|
261
|
+
self.addElement(prototype)
|
|
262
|
+
self.explicitInterRunnableVariables.append(prototype)
|
|
263
|
+
return self.getElement(short_name)
|
|
264
|
+
|
|
265
|
+
def getHandleTerminationAndRestart(self):
|
|
266
|
+
return self.handleTerminationAndRestart
|
|
267
|
+
|
|
268
|
+
def setHandleTerminationAndRestart(self, value):
|
|
269
|
+
self.handleTerminationAndRestart = value
|
|
270
|
+
return self
|
|
271
|
+
|
|
247
272
|
|
|
248
273
|
def getImplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
|
|
249
274
|
return self.implicitInterRunnableVariables
|
|
@@ -342,34 +367,31 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
342
367
|
if (not isinstance(self.elements[short_name], RTEEvent)):
|
|
343
368
|
raise ValueError("Invalid Event Type <%s> of <%s>" % type(self.elements[short_name]), short_name)
|
|
344
369
|
return self.elements[short_name]
|
|
370
|
+
|
|
371
|
+
|
|
345
372
|
|
|
346
|
-
|
|
347
|
-
if (short_name not in self.elements):
|
|
348
|
-
prototype = VariableDataPrototype(self, short_name)
|
|
349
|
-
self.elements[short_name] = prototype
|
|
350
|
-
self.explicitInterRunnableVariables.append(prototype)
|
|
351
|
-
return self.elements[short_name]
|
|
373
|
+
|
|
352
374
|
|
|
353
375
|
def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
|
|
354
376
|
if (short_name not in self.elements):
|
|
355
377
|
prototype = VariableDataPrototype(self, short_name)
|
|
356
|
-
self.
|
|
378
|
+
self.addElement(prototype)
|
|
357
379
|
self.implicitInterRunnableVariables.append(prototype)
|
|
358
|
-
return self.
|
|
380
|
+
return self.getElement(short_name)
|
|
359
381
|
|
|
360
382
|
def createPerInstanceMemory(self, short_name: str) -> PerInstanceMemory:
|
|
361
383
|
if (short_name not in self.elements):
|
|
362
384
|
memory = PerInstanceMemory(self, short_name)
|
|
363
|
-
self.
|
|
385
|
+
self.addElement(memory)
|
|
364
386
|
self.perInstanceMemories.append(memory)
|
|
365
|
-
return self.
|
|
387
|
+
return self.getElement(short_name)
|
|
366
388
|
|
|
367
389
|
def createPerInstanceParameter(self, short_name: str) -> ParameterDataPrototype:
|
|
368
390
|
if (short_name not in self.elements):
|
|
369
391
|
prototype = ParameterDataPrototype(self, short_name)
|
|
370
|
-
self.
|
|
392
|
+
self.addElement(prototype)
|
|
371
393
|
self.perInstanceParameters.append(prototype)
|
|
372
|
-
return self.
|
|
394
|
+
return self.getElement(short_name)
|
|
373
395
|
|
|
374
396
|
def getVariableDataPrototypes(self) -> List[VariableDataPrototype]:
|
|
375
397
|
return sorted(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements.values()), key=lambda e: e.short_name)
|
|
@@ -377,14 +399,24 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
377
399
|
def createRunnableEntity(self, short_name: str) -> RunnableEntity:
|
|
378
400
|
if (short_name not in self.elements):
|
|
379
401
|
runnable = RunnableEntity(self, short_name)
|
|
380
|
-
self.
|
|
381
|
-
return self.
|
|
402
|
+
self.addElement(runnable)
|
|
403
|
+
return self.getElement(short_name)
|
|
382
404
|
|
|
383
405
|
def getRunnableEntities(self) -> List[RunnableEntity]:
|
|
384
406
|
return sorted(filter(lambda c: isinstance(c, RunnableEntity), self.elements.values()), key=lambda r: r.short_name)
|
|
385
407
|
|
|
386
408
|
def getRunnableEntity(self, short_name) -> RunnableEntity:
|
|
387
409
|
return self.elements[short_name]
|
|
410
|
+
|
|
411
|
+
def getSharedParameters(self) -> List[ParameterDataPrototype]:
|
|
412
|
+
return self.sharedParameters
|
|
413
|
+
|
|
414
|
+
def createSharedParameter(self, short_name: str) -> ParameterDataPrototype:
|
|
415
|
+
if (short_name not in self.elements):
|
|
416
|
+
memory = ParameterDataPrototype(self, short_name)
|
|
417
|
+
self.addElement(memory)
|
|
418
|
+
self.sharedParameters.append(memory)
|
|
419
|
+
return self.getElement(short_name)
|
|
388
420
|
|
|
389
421
|
def getSupportsMultipleInstantiation(self):
|
|
390
422
|
return self.supportsMultipleInstantiation
|
armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetCommunication.py
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Identifier, PositiveInteger, RefType, TimeValue
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable, Referrable
|
|
5
|
+
|
|
6
|
+
class SocketConnection(Describable):
|
|
7
|
+
def __init__(self):
|
|
8
|
+
super().__init__()
|
|
9
|
+
|
|
10
|
+
self.allowedIPv6ExtHeadersRef = None # type: RefType
|
|
11
|
+
self.allowedTcpOptionsRef = None # type: RefType
|
|
12
|
+
self.clientIpAddrFromConnectionRequest = None # type: Boolean
|
|
13
|
+
self.clientPortRef = None # type: RefType
|
|
14
|
+
self.clientPortFromConnectionRequest = None # type: Boolean
|
|
15
|
+
self.pdus = [] # type: List[SocketConnectionIpduIdentifier]
|
|
16
|
+
self.pduSocketConnectionIpdus = [] # type: List[Identifier]
|
|
17
|
+
self.pduCollectionMaxBufferSize = None # type: PositiveInteger
|
|
18
|
+
self.pduCollectionTimeout = None # type: TimeValue
|
|
19
|
+
self.runtimeIpAddressConfiguration = None # type: RuntimeAddressConfigurationEnum
|
|
20
|
+
self.runtimePortConfiguration = None # type: RuntimeAddressConfigurationEnum
|
|
21
|
+
self.shortLabel = None # type: Identifier
|
|
22
|
+
|
|
23
|
+
def getAllowedIPv6ExtHeadersRef(self):
|
|
24
|
+
return self.allowedIPv6ExtHeadersRef
|
|
25
|
+
|
|
26
|
+
def setAllowedIPv6ExtHeadersRef(self, value):
|
|
27
|
+
self.allowedIPv6ExtHeadersRef = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getAllowedTcpOptionsRef(self):
|
|
31
|
+
return self.allowedTcpOptionsRef
|
|
32
|
+
|
|
33
|
+
def setAllowedTcpOptionsRef(self, value):
|
|
34
|
+
self.allowedTcpOptionsRef = value
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getClientIpAddrFromConnectionRequest(self):
|
|
38
|
+
return self.clientIpAddrFromConnectionRequest
|
|
39
|
+
|
|
40
|
+
def setClientIpAddrFromConnectionRequest(self, value):
|
|
41
|
+
self.clientIpAddrFromConnectionRequest = value
|
|
42
|
+
return self
|
|
43
|
+
|
|
44
|
+
def getClientPortRef(self):
|
|
45
|
+
return self.clientPortRef
|
|
46
|
+
|
|
47
|
+
def setClientPortRef(self, value):
|
|
48
|
+
self.clientPortRef = value
|
|
49
|
+
return self
|
|
50
|
+
|
|
51
|
+
def getClientPortFromConnectionRequest(self):
|
|
52
|
+
return self.clientPortFromConnectionRequest
|
|
53
|
+
|
|
54
|
+
def setClientPortFromConnectionRequest(self, value):
|
|
55
|
+
self.clientPortFromConnectionRequest = value
|
|
56
|
+
return self
|
|
57
|
+
|
|
58
|
+
def getPdus(self):
|
|
59
|
+
return self.pdus
|
|
60
|
+
|
|
61
|
+
def addPdu(self, value):
|
|
62
|
+
self.pdus.append(value)
|
|
63
|
+
return self
|
|
64
|
+
|
|
65
|
+
def getPduSocketConnectionIpdus(self):
|
|
66
|
+
return self.pduSocketConnectionIpdus
|
|
67
|
+
|
|
68
|
+
def addPduSocketConnectionIpdu(self, value):
|
|
69
|
+
self.pduSocketConnectionIpdus.append(value)
|
|
70
|
+
return self
|
|
71
|
+
|
|
72
|
+
def getPduCollectionMaxBufferSize(self):
|
|
73
|
+
return self.pduCollectionMaxBufferSize
|
|
74
|
+
|
|
75
|
+
def setPduCollectionMaxBufferSize(self, value):
|
|
76
|
+
self.pduCollectionMaxBufferSize = value
|
|
77
|
+
return self
|
|
78
|
+
|
|
79
|
+
def getPduCollectionTimeout(self):
|
|
80
|
+
return self.pduCollectionTimeout
|
|
81
|
+
|
|
82
|
+
def setPduCollectionTimeout(self, value):
|
|
83
|
+
self.pduCollectionTimeout = value
|
|
84
|
+
return self
|
|
85
|
+
|
|
86
|
+
def getRuntimeIpAddressConfiguration(self):
|
|
87
|
+
return self.runtimeIpAddressConfiguration
|
|
88
|
+
|
|
89
|
+
def setRuntimeIpAddressConfiguration(self, value):
|
|
90
|
+
self.runtimeIpAddressConfiguration = value
|
|
91
|
+
return self
|
|
92
|
+
|
|
93
|
+
def getRuntimePortConfiguration(self):
|
|
94
|
+
return self.runtimePortConfiguration
|
|
95
|
+
|
|
96
|
+
def setRuntimePortConfiguration(self, value):
|
|
97
|
+
self.runtimePortConfiguration = value
|
|
98
|
+
return self
|
|
99
|
+
|
|
100
|
+
def getShortLabel(self):
|
|
101
|
+
return self.shortLabel
|
|
102
|
+
|
|
103
|
+
def setShortLabel(self, value):
|
|
104
|
+
self.shortLabel = value
|
|
105
|
+
return self
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class SocketConnectionIpduIdentifier(ARObject):
|
|
109
|
+
def __init__(self):
|
|
110
|
+
super().__init__()
|
|
111
|
+
|
|
112
|
+
self.headerId = None # type: PositiveInteger
|
|
113
|
+
self.pduCollectionPduTimeout = None # type: TimeValue
|
|
114
|
+
self.pduCollectionSemantics = None # type: PduCollectionSemanticsEnum
|
|
115
|
+
self.pduCollectionTrigger = None # type: PduCollectionTriggerEnum
|
|
116
|
+
self.PduRef = None # type: RefType
|
|
117
|
+
self.pduTriggeringRef = None # type: RefType
|
|
118
|
+
self.routingGroupRefs = [] # type: List[RefType]
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def getHeaderId(self):
|
|
122
|
+
return self.headerId
|
|
123
|
+
|
|
124
|
+
def setHeaderId(self, value):
|
|
125
|
+
self.headerId = value
|
|
126
|
+
return self
|
|
127
|
+
|
|
128
|
+
def getPduCollectionPduTimeout(self):
|
|
129
|
+
return self.pduCollectionPduTimeout
|
|
130
|
+
|
|
131
|
+
def setPduCollectionPduTimeout(self, value):
|
|
132
|
+
self.pduCollectionPduTimeout = value
|
|
133
|
+
return self
|
|
134
|
+
|
|
135
|
+
def getPduCollectionSemantics(self):
|
|
136
|
+
return self.pduCollectionSemantics
|
|
137
|
+
|
|
138
|
+
def setPduCollectionSemantics(self, value):
|
|
139
|
+
self.pduCollectionSemantics = value
|
|
140
|
+
return self
|
|
141
|
+
|
|
142
|
+
def getPduCollectionTrigger(self):
|
|
143
|
+
return self.pduCollectionTrigger
|
|
144
|
+
|
|
145
|
+
def setPduCollectionTrigger(self, value):
|
|
146
|
+
self.pduCollectionTrigger = value
|
|
147
|
+
return self
|
|
148
|
+
|
|
149
|
+
def getPduRef(self):
|
|
150
|
+
return self.PduRef
|
|
151
|
+
|
|
152
|
+
def setPduRef(self, value):
|
|
153
|
+
self.PduRef = value
|
|
154
|
+
return self
|
|
155
|
+
|
|
156
|
+
def getPduTriggeringRef(self):
|
|
157
|
+
return self.pduTriggeringRef
|
|
158
|
+
|
|
159
|
+
def setPduTriggeringRef(self, value):
|
|
160
|
+
self.pduTriggeringRef = value
|
|
161
|
+
return self
|
|
162
|
+
|
|
163
|
+
def getRoutingGroupRefs(self):
|
|
164
|
+
return self.routingGroupRefs
|
|
165
|
+
|
|
166
|
+
def setRoutingGroupRefs(self, value):
|
|
167
|
+
self.routingGroupRefs = value
|
|
168
|
+
return self
|
|
169
|
+
|
|
170
|
+
class SocketConnectionBundle(Referrable):
|
|
171
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
172
|
+
super().__init__(parent, short_name)
|
|
173
|
+
|
|
174
|
+
self.bundledConnections = [] # type: List[SocketConnection]
|
|
175
|
+
self.differentiatedServiceField = None # type: PositiveInteger
|
|
176
|
+
self.flowLabel = None # type: PositiveInteger
|
|
177
|
+
self.pathMtuDiscoveryEnabled = None # type: Boolean
|
|
178
|
+
self.pdus = [] # type: List[SocketConnectionIpduIdentifier]
|
|
179
|
+
self.serverPortRef = None # type: RefType
|
|
180
|
+
self.udpChecksumHandling = None # type: UdpChecksumCalculationEnum
|
|
181
|
+
|
|
182
|
+
def getBundledConnections(self):
|
|
183
|
+
return self.bundledConnections
|
|
184
|
+
|
|
185
|
+
def addBundledConnection(self, value):
|
|
186
|
+
self.bundledConnections.append(value)
|
|
187
|
+
return self
|
|
188
|
+
|
|
189
|
+
def getDifferentiatedServiceField(self):
|
|
190
|
+
return self.differentiatedServiceField
|
|
191
|
+
|
|
192
|
+
def setDifferentiatedServiceField(self, value):
|
|
193
|
+
self.differentiatedServiceField = value
|
|
194
|
+
return self
|
|
195
|
+
|
|
196
|
+
def getFlowLabel(self):
|
|
197
|
+
return self.flowLabel
|
|
198
|
+
|
|
199
|
+
def setFlowLabel(self, value):
|
|
200
|
+
self.flowLabel = value
|
|
201
|
+
return self
|
|
202
|
+
|
|
203
|
+
def getPathMtuDiscoveryEnabled(self):
|
|
204
|
+
return self.pathMtuDiscoveryEnabled
|
|
205
|
+
|
|
206
|
+
def setPathMtuDiscoveryEnabled(self, value):
|
|
207
|
+
self.pathMtuDiscoveryEnabled = value
|
|
208
|
+
return self
|
|
209
|
+
|
|
210
|
+
def getPdus(self):
|
|
211
|
+
return self.pdus
|
|
212
|
+
|
|
213
|
+
def setPdus(self, value):
|
|
214
|
+
self.pdus = value
|
|
215
|
+
return self
|
|
216
|
+
|
|
217
|
+
def getServerPortRef(self):
|
|
218
|
+
return self.serverPortRef
|
|
219
|
+
|
|
220
|
+
def setServerPortRef(self, value):
|
|
221
|
+
self.serverPortRef = value
|
|
222
|
+
return self
|
|
223
|
+
|
|
224
|
+
def getUdpChecksumHandling(self):
|
|
225
|
+
return self.udpChecksumHandling
|
|
226
|
+
|
|
227
|
+
def setUdpChecksumHandling(self, value):
|
|
228
|
+
self.udpChecksumHandling = value
|
|
229
|
+
return self
|