armodel 1.7.6__py3-none-any.whl → 1.7.7__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/AutosarTopLevelStructure.py +41 -2
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +20 -10
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +4 -0
- armodel/parser/abstract_arxml_parser.py +3 -0
- armodel/parser/arxml_parser.py +614 -123
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
- armodel/writer/abstract_arxml_writer.py +7 -6
- armodel/writer/arxml_writer.py +694 -139
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/METADATA +41 -3
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/RECORD +41 -37
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
from ....M2.AUTOSARTemplates.SystemTemplate.ECUResourceMapping import ECUMapping
|
|
2
5
|
from ....M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
|
|
6
|
+
from ....M2.AUTOSARTemplates.SystemTemplate.SWmapping import SwcToImplMapping
|
|
3
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
8
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
|
|
5
9
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, TRefType
|
|
@@ -51,7 +55,7 @@ class SystemMapping(Identifiable):
|
|
|
51
55
|
self.cryptoServiceMappings = []
|
|
52
56
|
self.dataMappings = []
|
|
53
57
|
self.ddsISignalToTopicMappings = []
|
|
54
|
-
self.ecuResourceMappings = []
|
|
58
|
+
self.ecuResourceMappings = [] # type: List[ECUMapping]
|
|
55
59
|
self.j1939ControllerApplicationToJ1939NmNodeMappings = []
|
|
56
60
|
self.mappingConstraints = []
|
|
57
61
|
self.pncMappings = []
|
|
@@ -65,8 +69,8 @@ class SystemMapping(Identifiable):
|
|
|
65
69
|
self.softwareClusterToResourceMappings = []
|
|
66
70
|
self.swClusterMappings = []
|
|
67
71
|
self.swcToApplicationPartitionMappings = []
|
|
68
|
-
self.swImplMappings = []
|
|
69
|
-
self.swMappings = []
|
|
72
|
+
self.swImplMappings = [] # type: List[SwcToImplMapping]
|
|
73
|
+
self.swMappings = [] # type: List[SwcToEcuMapping]
|
|
70
74
|
self.systemSignalGroupToComResourceMappings = []
|
|
71
75
|
self.systemSignalToComResourceMappings = []
|
|
72
76
|
|
|
@@ -115,9 +119,12 @@ class SystemMapping(Identifiable):
|
|
|
115
119
|
def getEcuResourceMappings(self):
|
|
116
120
|
return self.ecuResourceMappings
|
|
117
121
|
|
|
118
|
-
def
|
|
119
|
-
self.
|
|
120
|
-
|
|
122
|
+
def createECUMapping(self, short_name: str) -> ECUMapping:
|
|
123
|
+
if short_name not in self.elements:
|
|
124
|
+
mapping = ECUMapping(self, short_name)
|
|
125
|
+
self.addElement(mapping)
|
|
126
|
+
self.ecuResourceMappings.append(mapping)
|
|
127
|
+
return self.getElement(short_name)
|
|
121
128
|
|
|
122
129
|
def getJ1939ControllerApplicationToJ1939NmNodeMappings(self):
|
|
123
130
|
return self.j1939ControllerApplicationToJ1939NmNodeMappings
|
|
@@ -210,12 +217,15 @@ class SystemMapping(Identifiable):
|
|
|
210
217
|
self.swcToApplicationPartitionMappings.append(value)
|
|
211
218
|
return self
|
|
212
219
|
|
|
213
|
-
def
|
|
220
|
+
def getSwImplMappings(self):
|
|
214
221
|
return self.swImplMappings
|
|
215
222
|
|
|
216
|
-
def
|
|
217
|
-
self.
|
|
218
|
-
|
|
223
|
+
def createSwcToImplMapping(self, short_name: str) -> SwcToImplMapping:
|
|
224
|
+
if short_name not in self.elements:
|
|
225
|
+
mapping = SwcToImplMapping(self, short_name)
|
|
226
|
+
self.addElement(mapping)
|
|
227
|
+
self.swImplMappings.append(mapping)
|
|
228
|
+
return self.getElement(short_name)
|
|
219
229
|
|
|
220
230
|
def getSwMappings(self):
|
|
221
231
|
return self.swMappings
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from ....M2.MSR.Documentation.TextModel.LanguageDataModel import LEnum
|
|
2
2
|
from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguagePlainText
|
|
3
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
-
from ....M2.MSR.AsamHdo.SpecialData import Sdg
|
|
5
4
|
from typing import List
|
|
6
5
|
|
|
7
6
|
class AdminData(ARObject):
|
|
@@ -10,7 +9,7 @@ class AdminData(ARObject):
|
|
|
10
9
|
|
|
11
10
|
self.DocRevisions = [] # type: List[DocRevision]
|
|
12
11
|
self.language = None # type: LEnum
|
|
13
|
-
self.sdgs = [] # type: List
|
|
12
|
+
self.sdgs = [] # type: List ## Sdg will cause the circular import
|
|
14
13
|
self.usedLanguages = None # type: MultiLanguagePlainText
|
|
15
14
|
|
|
16
15
|
def getDocRevisions(self):
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
from typing import List
|
|
2
2
|
from abc import ABCMeta
|
|
3
|
+
|
|
4
|
+
from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
|
|
3
5
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
|
|
4
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import
|
|
6
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import CIdentifier, Identifier, PositiveUnlimitedInteger, String
|
|
5
7
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
8
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
7
9
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
2
|
+
from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import MultilanguageReferrable
|
|
1
4
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
5
|
from typing import List
|
|
3
6
|
|
|
@@ -22,15 +25,30 @@ class Sd(ARObject):
|
|
|
22
25
|
self.value = value
|
|
23
26
|
return self
|
|
24
27
|
|
|
28
|
+
class SdgCaption(MultilanguageReferrable):
|
|
29
|
+
def __init__(self, parent, short_name):
|
|
30
|
+
super().__init__(parent, short_name)
|
|
31
|
+
|
|
32
|
+
self.desc = None # type: MultiLanguageOverviewParagraph
|
|
33
|
+
|
|
34
|
+
def getDesc(self):
|
|
35
|
+
return self.desc
|
|
36
|
+
|
|
37
|
+
def setDesc(self, value):
|
|
38
|
+
if value is not None:
|
|
39
|
+
self.desc = value
|
|
40
|
+
return self
|
|
41
|
+
|
|
25
42
|
|
|
26
43
|
class Sdg(ARObject):
|
|
27
44
|
def __init__(self):
|
|
28
45
|
super().__init__()
|
|
29
46
|
|
|
30
47
|
self.gid = ""
|
|
31
|
-
self.sd = []
|
|
32
|
-
self.sdgCaption = None
|
|
33
|
-
self.sdgContentsTypes = []
|
|
48
|
+
self.sd = [] # type: List[Sd]
|
|
49
|
+
self.sdgCaption = None # type: SdgCaption
|
|
50
|
+
self.sdgContentsTypes = [] # type: List[Sdg]
|
|
51
|
+
self.sdxRefs = [] # type: List[RefType]
|
|
34
52
|
|
|
35
53
|
def getGID(self):
|
|
36
54
|
return self.gid
|
|
@@ -49,12 +67,21 @@ class Sdg(ARObject):
|
|
|
49
67
|
def getSdgCaption(self):
|
|
50
68
|
return self.sdgCaption
|
|
51
69
|
|
|
52
|
-
def
|
|
53
|
-
|
|
54
|
-
|
|
70
|
+
def createSdgCaption(self, short_name: str) -> SdgCaption:
|
|
71
|
+
caption = SdgCaption(self, short_name)
|
|
72
|
+
self.sdgCaption = caption
|
|
73
|
+
return caption
|
|
55
74
|
|
|
75
|
+
def getSdgContentsTypes(self):
|
|
76
|
+
return self.sdgContentsTypes
|
|
77
|
+
|
|
56
78
|
def addSdgContentsType(self, sdg):
|
|
57
79
|
self.sdgContentsTypes.append(sdg)
|
|
80
|
+
|
|
81
|
+
def getSdxRefs(self):
|
|
82
|
+
return self.sdxRefs
|
|
58
83
|
|
|
59
|
-
def
|
|
60
|
-
|
|
84
|
+
def addSdxRef(self, value):
|
|
85
|
+
if value is not None:
|
|
86
|
+
self.sdxRefs.append(value)
|
|
87
|
+
return self
|
armodel/models/__init__.py
CHANGED
|
@@ -52,11 +52,15 @@ from .M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents impo
|
|
|
52
52
|
from .M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServerCall import *
|
|
53
53
|
from .M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import *
|
|
54
54
|
from .M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.Trigger import *
|
|
55
|
+
from .M2.AUTOSARTemplates.SystemTemplate import *
|
|
56
|
+
from .M2.AUTOSARTemplates.SystemTemplate.DoIp import *
|
|
55
57
|
from .M2.AUTOSARTemplates.SystemTemplate.DataMapping import *
|
|
56
58
|
from .M2.AUTOSARTemplates.SystemTemplate.DiagnosticConnection import *
|
|
59
|
+
from .M2.AUTOSARTemplates.SystemTemplate.ECUResourceMapping import *
|
|
57
60
|
from .M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import *
|
|
58
61
|
from .M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import *
|
|
59
62
|
from .M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import *
|
|
63
|
+
from .M2.AUTOSARTemplates.SystemTemplate.SWmapping import *
|
|
60
64
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Multiplatform import *
|
|
61
65
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import *
|
|
62
66
|
from .M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import *
|
|
@@ -296,6 +296,9 @@ class AbstractARXMLParser:
|
|
|
296
296
|
keys[idx] = "xmlns:%s" % item
|
|
297
297
|
return "/".join(keys)
|
|
298
298
|
|
|
299
|
+
def findChild(self, parent:ET.Element, key: str) -> ET.Element:
|
|
300
|
+
return parent.find("xmlns:./child::%s" % key, self.nsmap)
|
|
301
|
+
|
|
299
302
|
def find(self, parent:ET.Element, key: str) -> ET.Element:
|
|
300
303
|
return parent.find(self.convert_find_key(key), self.nsmap)
|
|
301
304
|
|