armodel 1.8.4__py3-none-any.whl → 1.8.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.
@@ -57,6 +57,7 @@ def perform_uuid_duplicate_check(args):
57
57
  parser.load(filename, document)
58
58
 
59
59
  with open(args.OUTPUT, 'w') as f_out:
60
+ logger.info("Writing the duplicate UUIDs to <%s>", args.OUTPUT)
60
61
  for uuid in document.getDuplicateUUIDs():
61
62
  ar_objects = document.getARObjectByUUID(uuid)
62
63
  if len(ar_objects) > 1:
@@ -11,7 +11,7 @@ from ...M2.MSR.Documentation.TextModel.BlockElements import DocumentationBlock
11
11
  from ...M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
12
12
  from ...M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
13
13
  from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
14
- from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Referrable
14
+ from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, CollectableElement, Referrable
15
15
  from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
16
16
  from ...M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, DataTypeMap
17
17
  from ...M2.AUTOSARTemplates.SWComponentTemplate.Components import AtomicSwComponentType, CompositionSwComponentType, PortPrototype
@@ -206,9 +206,14 @@ class AbstractAUTOSAR(CollectableElement):
206
206
  def getRootSwCompositionPrototype(self):
207
207
  return self.rootSwCompositionPrototype
208
208
 
209
- def setRootSwCompositionPrototype(self, value):
209
+ def setRootSwCompositionPrototype(self, value: ARElement):
210
210
  if value is not None:
211
- self.rootSwCompositionPrototype = value
211
+ if self.rootSwCompositionPrototype is not None:
212
+ if value.getShortName() != self.rootSwCompositionPrototype.getShortName():
213
+ raise ValueError("RootSwCompositionPrototype already set to <%s>, cannot set to <%s>."
214
+ % (self.rootSwCompositionPrototype.getShortName(), value.getShortName()))
215
+ else:
216
+ self.rootSwCompositionPrototype = value
212
217
  return self
213
218
 
214
219
  def addImplementationBehaviorMap(self, impl: str, behavior: str) -> Implementation:
@@ -143,8 +143,9 @@ class ARPackage(Identifiable, CollectableElement):
143
143
  return self.arPackages[short_name]
144
144
 
145
145
  def getElement(self, short_name: str, type=None) -> Referrable:
146
- if (short_name in self.arPackages):
147
- return self.arPackages[short_name]
146
+ if type is ARPackage or type is None:
147
+ if short_name in self.arPackages:
148
+ return self.arPackages[short_name]
148
149
  return CollectableElement.getElement(self, short_name, type)
149
150
 
150
151
  def createEcuAbstractionSwComponentType(self, short_name: str) -> EcuAbstractionSwComponentType:
@@ -303,14 +303,14 @@ class AtomicSwComponentType(SwComponentType, metaclass=ABCMeta):
303
303
  def __init__(self, parent: ARObject, short_name: str):
304
304
  super().__init__(parent, short_name)
305
305
 
306
- self.internalBehavior = None # type: SwcInternalBehavior
307
- self.symbolProps = None # type: SymbolProps
306
+ self.internalBehavior: SwcInternalBehavior = None
307
+ self.symbolProps: SymbolProps = None
308
308
 
309
309
  def getInternalBehavior(self):
310
310
  return self.internalBehavior
311
311
 
312
312
  def createSwcInternalBehavior(self, short_name) -> SwcInternalBehavior:
313
- if (not self.IsElementExists(short_name)):
313
+ if (not self.IsElementExists(short_name, SwcInternalBehavior)):
314
314
  behavior = SwcInternalBehavior(self, short_name)
315
315
  self.addElement(behavior)
316
316
  self.internalBehavior = behavior
@@ -1,5 +1,6 @@
1
1
  from abc import ABCMeta
2
- from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import PPortInCompositionInstanceRef, PortInCompositionTypeInstanceRef, RPortInCompositionInstanceRef
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import PPortInCompositionInstanceRef, PortInCompositionTypeInstanceRef
3
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import RPortInCompositionInstanceRef
3
4
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
4
5
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
6
  from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
@@ -11,40 +12,34 @@ class SwComponentPrototype(Identifiable):
11
12
 
12
13
  self.typeTRef = None # type: RefType
13
14
 
14
- def getTypeTRef(self):
15
+ def getTypeTRef(self) -> RefType:
15
16
  return self.typeTRef
16
17
 
17
- def setTypeTRef(self, value):
18
+ def setTypeTRef(self, value: RefType):
18
19
  self.typeTRef = value
19
20
  return self
20
21
 
21
- class SwConnector(Identifiable, metaclass = ABCMeta):
22
+
23
+ class SwConnector(Identifiable, metaclass=ABCMeta):
22
24
  def __init__(self, parent: ARObject, short_name: str):
23
25
  super().__init__(parent, short_name)
24
26
 
25
- self.mappingRef = None # type: RefType
27
+ self.mappingRef: RefType = None
26
28
 
27
- def getMappingRef(self):
29
+ def getMappingRef(self) -> RefType:
28
30
  return self.mappingRef
29
31
 
30
- def setMappingRef(self, value):
32
+ def setMappingRef(self, value: RefType):
31
33
  self.mappingRef = value
32
34
  return self
33
35
 
36
+
34
37
  class AssemblySwConnector(SwConnector):
35
38
  def __init__(self, parent: ARObject, short_name: str):
36
39
  super().__init__(parent, short_name)
37
40
 
38
- self.mappingRef = None # type: RefType
39
- self.providerIRef = None # type: PPortInCompositionInstanceRef
40
- self.requesterIRef = None # type: RPortInCompositionInstanceRef
41
-
42
- def getMappingRef(self):
43
- return self.mappingRef
44
-
45
- def setMappingRef(self, value):
46
- self.mappingRef = value
47
- return self
41
+ self.providerIRef: PPortInCompositionInstanceRef = None
42
+ self.requesterIRef: RPortInCompositionInstanceRef = None
48
43
 
49
44
  def getProviderIRef(self) -> PPortInCompositionInstanceRef:
50
45
  return self.providerIRef
@@ -60,24 +55,25 @@ class AssemblySwConnector(SwConnector):
60
55
  self.requesterIRef = value
61
56
  return self
62
57
 
58
+
63
59
  class DelegationSwConnector(SwConnector):
64
60
  def __init__(self, parent: ARObject, short_name: str):
65
61
  super().__init__(parent, short_name)
66
62
 
67
- self.innerPortIRref = None # type: PortInCompositionTypeInstanceRef
68
- self.outerPortRef = None # type: RefType
63
+ self.innerPortIRref: PortInCompositionTypeInstanceRef = None
64
+ self.outerPortRef: RefType = None
69
65
 
70
- def getInnerPortIRref(self):
66
+ def getInnerPortIRref(self) -> PortInCompositionTypeInstanceRef:
71
67
  return self.innerPortIRref
72
68
 
73
- def setInnerPortIRref(self, value):
69
+ def setInnerPortIRref(self, value: PortInCompositionTypeInstanceRef):
74
70
  self.innerPortIRref = value
75
71
  return self
76
72
 
77
- def getOuterPortRef(self):
73
+ def getOuterPortRef(self) -> RefType:
78
74
  return self.outerPortRef
79
75
 
80
- def setOuterPortRef(self, value):
76
+ def setOuterPortRef(self, value: RefType):
81
77
  self.outerPortRef = value
82
78
  return self
83
79
 
@@ -86,20 +82,19 @@ class PassThroughSwConnector(SwConnector):
86
82
  def __init__(self, parent: ARObject, short_name: str):
87
83
  super().__init__(parent, short_name)
88
84
 
89
- self.providedOuterPortRef = None # type: RefType
90
- self.requiredOuterPortRef = None # type: RefType
85
+ self.providedOuterPortRef: RefType = None
86
+ self.requiredOuterPortRef: RefType = None
91
87
 
92
- def getProvidedOuterPortRef(self):
88
+ def getProvidedOuterPortRef(self) -> RefType:
93
89
  return self.providedOuterPortRef
94
90
 
95
- def setProvidedOuterPortRef(self, value):
91
+ def setProvidedOuterPortRef(self, value: RefType):
96
92
  self.providedOuterPortRef = value
97
93
  return self
98
94
 
99
- def getRequiredOuterPortRef(self):
95
+ def getRequiredOuterPortRef(self) -> RefType:
100
96
  return self.requiredOuterPortRef
101
97
 
102
- def setRequiredOuterPortRef(self, value):
98
+ def setRequiredOuterPortRef(self, value: RefType):
103
99
  self.requiredOuterPortRef = value
104
100
  return self
105
-
@@ -101,7 +101,7 @@ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import
101
101
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import POperationInAtomicSwcInstanceRef, PPortInCompositionInstanceRef
102
102
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import ROperationInAtomicSwcInstanceRef, RPortInCompositionInstanceRef
103
103
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
104
- from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest
104
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import CompositeNetworkRepresentation, ModeSwitchedAckRequest, NvRequireComSpec
105
105
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransformationComSpecProps, UserDefinedTransformationComSpecProps
106
106
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import TransmissionAcknowledgementRequest
107
107
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec
@@ -1968,6 +1968,9 @@ class ARXMLParser(AbstractARXMLParser):
1968
1968
  com_spec.setInitValue(self.getInitValue(element)) \
1969
1969
  .setParameterRef(self.getChildElementOptionalRefType(element, "PARAMETER-REF"))
1970
1970
  return com_spec
1971
+
1972
+ def getNvProvideComSpec(self, element: ET.Element) -> NvRequireComSpec:
1973
+ pass
1971
1974
 
1972
1975
  def getQueuedReceiverComSpec(self, element: ET.Element) -> QueuedReceiverComSpec:
1973
1976
  com_spec = QueuedReceiverComSpec()
@@ -2009,6 +2012,8 @@ class ARXMLParser(AbstractARXMLParser):
2009
2012
  parent.addRequiredComSpec(self.getModeSwitchReceiverComSpec(child_element))
2010
2013
  elif tag_name == "PARAMETER-REQUIRE-COM-SPEC":
2011
2014
  parent.addRequiredComSpec(self.getParameterRequireComSpec(child_element))
2015
+ elif tag_name == "NV-PROVIDE-COM-SPEC":
2016
+ parent.addRequiredComSpec(self.getNvProvideComSpec(child_element))
2012
2017
  else:
2013
2018
  self.raiseError("Unsupported RequiredComSpec <%s>" % tag_name)
2014
2019
 
@@ -5214,18 +5219,19 @@ class ARXMLParser(AbstractARXMLParser):
5214
5219
  group.addISignalIPduRef(ref_type)
5215
5220
 
5216
5221
  def readSenderReceiverToSignalMapping(self, element: ET.Element, mapping: SenderReceiverToSignalMapping):
5217
- mapping.setCommunicationDirection(self.getChildElementOptionalLiteral(element, "COMMUNICATION-DIRECTION")) \
5218
- .setDataElementIRef(self.getVariableDataPrototypeInSystemInstanceRef(self.find(element, "DATA-ELEMENT-IREF"))) \
5219
- .setSystemSignalRef(self.getChildElementOptionalRefType(element, "SYSTEM-SIGNAL-REF"))
5222
+ mapping.setCommunicationDirection(self.getChildElementOptionalLiteral(element, "COMMUNICATION-DIRECTION"))
5223
+ mapping.setDataElementIRef(self.getVariableDataPrototypeInSystemInstanceRef(self.find(element, "DATA-ELEMENT-IREF")))
5224
+ mapping.setSystemSignalRef(self.getChildElementOptionalRefType(element, "SYSTEM-SIGNAL-REF"))
5225
+ self.logger.debug("Read SenderReceiverToSignalMapping <%s>" % mapping.getSystemSignalRef().getValue())
5220
5226
 
5221
5227
  def readSenderRecCompositeTypeMapping(self, element: ET.Element, mapping: SenderRecCompositeTypeMapping):
5222
5228
  self.readARObjectAttributes(element, mapping)
5223
5229
 
5224
5230
  def readSenderRecRecordElementMapping(self, element: ET.Element, mapping: SenderRecRecordElementMapping):
5225
5231
  self.readARObjectAttributes(element, mapping)
5226
- mapping.setApplicationRecordElementRef(self.getChildElementOptionalRefType(element, "APPLICATION-RECORD-ELEMENT-REF")) \
5227
- .setImplementationRecordElementRef(self.getChildElementOptionalRefType(element, "IMPLEMENTATION-RECORD-ELEMENT-REF")) \
5228
- .setSystemSignalRef(self.getChildElementOptionalRefType(element, "SYSTEM-SIGNAL-REF"))
5232
+ mapping.setApplicationRecordElementRef(self.getChildElementOptionalRefType(element, "APPLICATION-RECORD-ELEMENT-REF"))
5233
+ mapping.setImplementationRecordElementRef(self.getChildElementOptionalRefType(element, "IMPLEMENTATION-RECORD-ELEMENT-REF"))
5234
+ mapping.setSystemSignalRef(self.getChildElementOptionalRefType(element, "SYSTEM-SIGNAL-REF"))
5229
5235
 
5230
5236
  def readSenderRecArrayTypeMappingRecordElementMapping(self, element: ET.Element, mapping: SenderRecRecordTypeMapping):
5231
5237
  for child_element in self.findall(element, "RECORD-ELEMENT-MAPPINGS/*"):
@@ -5342,7 +5348,10 @@ class ARXMLParser(AbstractARXMLParser):
5342
5348
  self.readIdentifiable(child_element, prototype)
5343
5349
  prototype.setFlatMapRef(self.getChildElementOptionalRefType(child_element, "FLAT-MAP-REF")) \
5344
5350
  .setSoftwareCompositionTRef(self.getChildElementOptionalRefType(child_element, "SOFTWARE-COMPOSITION-TREF"))
5345
- AUTOSAR.getInstance().setRootSwCompositionPrototype(prototype)
5351
+ try:
5352
+ AUTOSAR.getInstance().setRootSwCompositionPrototype(prototype)
5353
+ except ValueError as e:
5354
+ self.raiseWarning("%s" % e)
5346
5355
 
5347
5356
  def readSystemFibexElementRefs(self, element: ET.Element, system: System):
5348
5357
  for ref in self.getChildElementRefTypeList(element, "FIBEX-ELEMENTS/FIBEX-ELEMENT-REF-CONDITIONAL/FIBEX-ELEMENT-REF"):
@@ -3,27 +3,28 @@ import pytest
3
3
  from ....models.M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps, SwPointerTargetProps
4
4
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
5
 
6
+
6
7
  class Test_M2_MSR_DataDictionary_DataDefProperties:
7
8
  def test_SwDataDefProps(self):
8
9
  props = SwDataDefProps()
9
10
 
10
- assert(isinstance(props, ARObject))
11
- assert(isinstance(props, SwDataDefProps))
11
+ assert (isinstance(props, ARObject))
12
+ assert (isinstance(props, SwDataDefProps))
12
13
 
13
- assert(props.baseTypeRef == None)
14
- assert(props.compuMethodRef == None)
15
- assert(props.dataConstrRef == None)
16
- assert(props.implementationDataTypeRef == None)
17
- assert(props.swImplPolicy == None)
18
- assert(props.swCalibrationAccess == None)
19
- assert(props.swPointerTargetProps == None)
14
+ assert (props.baseTypeRef is None)
15
+ assert (props.compuMethodRef is None)
16
+ assert (props.dataConstrRef is None)
17
+ assert (props.implementationDataTypeRef is None)
18
+ assert (props.swImplPolicy is None)
19
+ assert (props.swCalibrationAccess is None)
20
+ assert (props.swPointerTargetProps is None)
20
21
 
21
22
  def test_SwPointerTargetProps(self):
22
23
  props = SwPointerTargetProps()
23
24
 
24
- assert(isinstance(props, ARObject))
25
- assert(isinstance(props, SwPointerTargetProps))
25
+ assert (isinstance(props, ARObject))
26
+ assert (isinstance(props, SwPointerTargetProps))
26
27
 
27
- assert(props.getFunctionPointerSignatureRef() == None)
28
- assert(props.getSwDataDefProps() == None)
29
- assert(props.getTargetCategory() == None)
28
+ assert (props.getFunctionPointerSignatureRef() is None)
29
+ assert (props.getSwDataDefProps() is None)
30
+ assert (props.getTargetCategory() is None)
@@ -1,14 +1,16 @@
1
1
  import pytest
2
2
 
3
+ from .... import AUTOSAR
3
4
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
4
-
5
5
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
-
7
- from .... import AUTOSAR
8
- from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
9
- from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationArrayElement, ApplicationCompositeElementDataPrototype, ApplicationRecordElement, AtpPrototype, AutosarDataPrototype, DataPrototype, VariableDataPrototype
6
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationArrayElement
7
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationCompositeElementDataPrototype
8
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationRecordElement
9
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype
10
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import DataPrototype, VariableDataPrototype
10
11
  from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
11
12
 
13
+
12
14
  class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_DataPrototypes:
13
15
 
14
16
  def test_AtpPrototype(self):
@@ -16,75 +18,76 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_Datatype_DataPrototypes:
16
18
  document = AUTOSAR.getInstance()
17
19
  ar_root = document.createARPackage("AUTOSAR")
18
20
  AtpPrototype(ar_root, "prototype")
19
- assert(str(err.value) == "AtpPrototype is an abstract class.")
21
+ assert (str(err.value) == "AtpPrototype is an abstract class.")
20
22
 
21
23
  def test_DataPrototype(self):
22
24
  with pytest.raises(NotImplementedError) as err:
23
25
  document = AUTOSAR.getInstance()
24
26
  ar_root = document.createARPackage("AUTOSAR")
25
27
  DataPrototype(ar_root, "prototype")
26
- assert(str(err.value) == "DataPrototype is an abstract class.")
28
+ assert (str(err.value) == "DataPrototype is an abstract class.")
27
29
 
28
30
  def test_AutosarDataPrototype(self):
29
31
  with pytest.raises(NotImplementedError) as err:
30
32
  document = AUTOSAR.getInstance()
31
33
  ar_root = document.createARPackage("AUTOSAR")
32
34
  AutosarDataPrototype(ar_root, "prototype")
33
- assert(str(err.value) == "AutosarDataPrototype is an abstract class.")
35
+ assert (str(err.value) == "AutosarDataPrototype is an abstract class.")
34
36
 
35
37
  def test_VariableDataPrototype(self):
36
38
  document = AUTOSAR.getInstance()
37
39
  ar_root = document.createARPackage("AUTOSAR")
38
40
  prototype = VariableDataPrototype(ar_root, "prototype")
39
41
 
40
- assert(isinstance(prototype, ARObject))
41
- assert(isinstance(prototype, AtpFeature))
42
- assert(isinstance(prototype, AtpPrototype))
43
- assert(isinstance(prototype, AutosarDataPrototype))
44
- assert(isinstance(prototype, DataPrototype))
45
- assert(isinstance(prototype, Identifiable))
46
- assert(isinstance(prototype, MultilanguageReferrable))
47
- assert(isinstance(prototype, Referrable))
42
+ assert (isinstance(prototype, ARObject))
43
+ assert (isinstance(prototype, AtpFeature))
44
+ assert (isinstance(prototype, AtpPrototype))
45
+ assert (isinstance(prototype, AutosarDataPrototype))
46
+ assert (isinstance(prototype, DataPrototype))
47
+ assert (isinstance(prototype, Identifiable))
48
+ assert (isinstance(prototype, MultilanguageReferrable))
49
+ assert (isinstance(prototype, Referrable))
48
50
 
49
- assert(prototype.parent == ar_root)
50
- assert(prototype.short_name == "prototype")
51
- assert(prototype.typeTRef is None)
51
+ assert (prototype.parent == ar_root)
52
+ assert (prototype.short_name == "prototype")
53
+ assert (prototype.typeTRef is None)
52
54
 
53
55
  def test_ApplicationCompositeElementDataPrototype(self):
54
56
  with pytest.raises(NotImplementedError) as err:
55
57
  document = AUTOSAR.getInstance()
56
58
  ar_root = document.createARPackage("AUTOSAR")
57
- ApplicationCompositeElementDataPrototype(ar_root, "application_composition_element_data_prototype")
58
- assert(str(err.value) == "ApplicationCompositeElementDataPrototype is an abstract class.")
59
+ ApplicationCompositeElementDataPrototype(
60
+ ar_root, "application_composition_element_data_prototype")
61
+ assert (str(err.value) == "ApplicationCompositeElementDataPrototype is an abstract class.")
59
62
 
60
63
  def test_ApplicationArrayElement(self):
61
64
  document = AUTOSAR.getInstance()
62
65
  ar_root = document.createARPackage("AUTOSAR")
63
66
  prototype = ApplicationArrayElement(ar_root, "prototype")
64
67
 
65
- assert(isinstance(prototype, ARObject))
66
- assert(isinstance(prototype, ApplicationCompositeElementDataPrototype))
67
- assert(isinstance(prototype, AtpFeature))
68
- assert(isinstance(prototype, AtpPrototype))
69
- assert(isinstance(prototype, DataPrototype))
70
- assert(isinstance(prototype, Identifiable))
71
- assert(isinstance(prototype, MultilanguageReferrable))
72
- assert(isinstance(prototype, Referrable))
73
- assert(isinstance(prototype, ApplicationArrayElement))
68
+ assert (isinstance(prototype, ARObject))
69
+ assert (isinstance(prototype, ApplicationCompositeElementDataPrototype))
70
+ assert (isinstance(prototype, AtpFeature))
71
+ assert (isinstance(prototype, AtpPrototype))
72
+ assert (isinstance(prototype, DataPrototype))
73
+ assert (isinstance(prototype, Identifiable))
74
+ assert (isinstance(prototype, MultilanguageReferrable))
75
+ assert (isinstance(prototype, Referrable))
76
+ assert (isinstance(prototype, ApplicationArrayElement))
74
77
 
75
78
  def test_ApplicationRecordElement(self):
76
79
  document = AUTOSAR.getInstance()
77
80
  ar_root = document.createARPackage("AUTOSAR")
78
81
  prototype = ApplicationRecordElement(ar_root, "prototype")
79
82
 
80
- assert(isinstance(prototype, ARObject))
81
- assert(isinstance(prototype, ApplicationCompositeElementDataPrototype))
82
- assert(isinstance(prototype, AtpFeature))
83
- assert(isinstance(prototype, AtpPrototype))
84
- assert(isinstance(prototype, DataPrototype))
85
- assert(isinstance(prototype, Identifiable))
86
- assert(isinstance(prototype, MultilanguageReferrable))
87
- assert(isinstance(prototype, Referrable))
88
- assert(isinstance(prototype, ApplicationRecordElement))
89
-
90
- assert(prototype.isOptional == None)
83
+ assert (isinstance(prototype, ARObject))
84
+ assert (isinstance(prototype, ApplicationCompositeElementDataPrototype))
85
+ assert (isinstance(prototype, AtpFeature))
86
+ assert (isinstance(prototype, AtpPrototype))
87
+ assert (isinstance(prototype, DataPrototype))
88
+ assert (isinstance(prototype, Identifiable))
89
+ assert (isinstance(prototype, MultilanguageReferrable))
90
+ assert (isinstance(prototype, Referrable))
91
+ assert (isinstance(prototype, ApplicationRecordElement))
92
+
93
+ assert (prototype.isOptional is None)
@@ -1,15 +1,10 @@
1
1
  import pytest
2
2
 
3
3
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, PackageableElement
4
-
5
4
  from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
6
-
7
5
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
8
-
9
6
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
10
-
11
7
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
-
13
8
  from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
14
9
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
15
10
 
@@ -9,7 +9,7 @@ class TestImplementation:
9
9
  document = AUTOSAR.getInstance()
10
10
  ar_root = document.createARPackage("AUTOSAR")
11
11
  code = Code(ar_root, "code")
12
- assert(code.short_name == "code")
12
+ assert (code.short_name == "code")
13
13
 
14
14
  data = [
15
15
  ["Autosar::include::BswM.h", "SWHDR"],
@@ -22,6 +22,6 @@ class TestImplementation:
22
22
  .setCategory(item[1])
23
23
  code.addArtifactDescriptor(engineering_obj)
24
24
 
25
- assert(len(code.getArtifactDescriptors()) == 2)
26
- assert(len(code.getArtifactDescriptors("SWHDR")) == 1)
27
- assert(len(code.getArtifactDescriptors("SWSRC")) == 1)
25
+ assert (len(code.getArtifactDescriptors()) == 2)
26
+ assert (len(code.getArtifactDescriptors("SWHDR")) == 1)
27
+ assert (len(code.getArtifactDescriptors("SWSRC")) == 1)
@@ -1,79 +1,79 @@
1
1
  import pytest
2
2
 
3
- from ....models.M2.MSR.AsamHdo.ComputationMethod import Compu, CompuConst, CompuConstContent, CompuConstNumericContent, CompuConstTextContent, CompuContent, CompuScale
4
-
5
3
  from .... import AUTOSAR
4
+ from ....models.M2.MSR.AsamHdo.ComputationMethod import Compu, CompuConst, CompuConstContent, CompuConstNumericContent, CompuConstTextContent
5
+ from ....models.M2.MSR.AsamHdo.ComputationMethod import CompuContent, CompuScale, CompuScales
6
6
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
- from ....models.M2.MSR.AsamHdo.ComputationMethod import CompuScales
7
+
8
8
 
9
9
  class Test_M2_MSR_AsamHdo_ComputationMethod:
10
10
  def test_CompuContent(self):
11
11
  with pytest.raises(NotImplementedError) as err:
12
12
  CompuContent()
13
- assert(str(err.value) == "CompuContent is an abstract class.")
13
+ assert (str(err.value) == "CompuContent is an abstract class.")
14
14
 
15
15
  def test_Compu(self):
16
16
  compu = Compu()
17
17
 
18
- assert(isinstance(compu, ARObject))
19
- assert(isinstance(compu, Compu))
18
+ assert (isinstance(compu, ARObject))
19
+ assert (isinstance(compu, Compu))
20
20
 
21
- assert(compu.compuContent == None)
22
- assert(compu.compuDefaultValue == None)
21
+ assert (compu.compuContent is None)
22
+ assert (compu.compuDefaultValue is None)
23
23
 
24
24
  def test_CompuConstContent(self):
25
25
  with pytest.raises(NotImplementedError) as err:
26
26
  CompuConstContent()
27
- assert(str(err.value) == "CompuConstContent is an abstract class.")
27
+ assert (str(err.value) == "CompuConstContent is an abstract class.")
28
28
 
29
29
  def test_CompuConstTextContent(self):
30
30
  content = CompuConstTextContent()
31
31
 
32
- assert(isinstance(content, ARObject))
33
- assert(isinstance(content, CompuConstContent))
34
- assert(isinstance(content, CompuConstTextContent))
32
+ assert (isinstance(content, ARObject))
33
+ assert (isinstance(content, CompuConstContent))
34
+ assert (isinstance(content, CompuConstTextContent))
35
35
 
36
- assert(content.vt == None)
36
+ assert (content.vt is None)
37
37
 
38
38
  def test_CompuConstNumericContent(self):
39
39
  content = CompuConstNumericContent()
40
40
 
41
- assert(isinstance(content, ARObject))
42
- assert(isinstance(content, CompuConstContent))
43
- assert(isinstance(content, CompuConstNumericContent))
41
+ assert (isinstance(content, ARObject))
42
+ assert (isinstance(content, CompuConstContent))
43
+ assert (isinstance(content, CompuConstNumericContent))
44
44
 
45
- assert(content.v == None)
45
+ assert (content.v is None)
46
46
 
47
47
  def test_CompuConst(self):
48
48
  compu_const = CompuConst()
49
49
 
50
- assert(isinstance(compu_const, ARObject))
51
- assert(isinstance(compu_const, CompuConst))
50
+ assert (isinstance(compu_const, ARObject))
51
+ assert (isinstance(compu_const, CompuConst))
52
52
 
53
- assert(compu_const.compuConstContentType == None)
53
+ assert (compu_const.compuConstContentType is None)
54
54
 
55
55
  def test_CompuScale(self):
56
56
  compu_scale = CompuScale()
57
57
 
58
- assert(isinstance(compu_scale, ARObject))
59
- assert(isinstance(compu_scale, CompuScale))
58
+ assert (isinstance(compu_scale, ARObject))
59
+ assert (isinstance(compu_scale, CompuScale))
60
60
 
61
- assert(compu_scale.compuContent == None)
62
- assert(compu_scale.lowerLimit == None)
63
- assert(compu_scale.upperLimit == None)
64
- assert(compu_scale.compuInverseValue == None)
65
- assert(compu_scale.compuScaleContents == None)
61
+ assert (compu_scale.compuContent is None)
62
+ assert (compu_scale.lowerLimit is None)
63
+ assert (compu_scale.upperLimit is None)
64
+ assert (compu_scale.compuInverseValue is None)
65
+ assert (compu_scale.compuScaleContents is None)
66
66
 
67
67
  def test_CompuScales(self):
68
68
  compu_scales = CompuScales()
69
69
 
70
- assert(isinstance(compu_scales, ARObject))
71
- assert(isinstance(compu_scales, CompuScales))
70
+ assert (isinstance(compu_scales, ARObject))
71
+ assert (isinstance(compu_scales, CompuScales))
72
72
 
73
- assert(len(compu_scales.compuScales) == 0)
73
+ assert (len(compu_scales.compuScales) == 0)
74
74
 
75
75
  compu_scale = CompuScale()
76
76
  compu_scales.addCompuScale(compu_scale)
77
77
 
78
- assert(len(compu_scales.getCompuScales()) == 1)
79
- assert(compu_scales.getCompuScales()[0] == compu_scale)
78
+ assert (len(compu_scales.getCompuScales()) == 1)
79
+ assert (compu_scales.getCompuScales()[0] == compu_scale)
@@ -1,21 +1,19 @@
1
1
  import pytest
2
2
 
3
3
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import PackageableElement
4
-
5
4
  from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
6
-
7
5
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
8
-
9
6
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, MultilanguageReferrable, Referrable
10
-
11
7
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
12
-
13
8
  from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
14
9
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
15
- from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype, DataPrototype, VariableDataPrototype
10
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import AtpPrototype, AutosarDataPrototype, DataPrototype
11
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import VariableDataPrototype
16
12
  from ....models.M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
17
13
  from ....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
18
- from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ArgumentDataPrototype, ClientServerInterface, ClientServerOperation, DataInterface, NvDataInterface, ParameterInterface, PortInterface, SenderReceiverInterface
14
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ApplicationError, ArgumentDataPrototype, ClientServerInterface
15
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerOperation, DataInterface, NvDataInterface
16
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ParameterInterface, PortInterface, SenderReceiverInterface
19
17
 
20
18
 
21
19
  class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
@@ -125,8 +123,8 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
125
123
 
126
124
  assert (prototype.getParent() == ar_root)
127
125
  assert (prototype.getShortName() == "ArgumentDataPrototype")
128
- assert (prototype.getDirection() == None)
129
- assert (prototype.getServerArgumentImplPolicy() == None)
126
+ assert (prototype.getDirection() is None)
127
+ assert (prototype.getServerArgumentImplPolicy() is None)
130
128
 
131
129
  def test_ApplicationError(self):
132
130
  document = AUTOSAR.getInstance()
@@ -155,7 +153,8 @@ class Test_M2_AUTOSARTemplates_SWComponentTemplate_PortInterface:
155
153
  assert (isinstance(operation, ClientServerOperation))
156
154
  assert (operation.short_name == "client_server_operation")
157
155
 
158
- prototype = operation.createArgumentDataPrototype("argument_data_prototype1")
156
+ prototype = operation.createArgumentDataPrototype(
157
+ "argument_data_prototype1")
159
158
  assert (prototype.short_name == "argument_data_prototype1")
160
159
 
161
160
  assert (len(operation.getArguments()) == 1)
@@ -2,13 +2,14 @@ import pytest
2
2
 
3
3
  from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Communication import PPortComSpec, RPortComSpec
4
4
 
5
- class Test_PortProtype:
5
+
6
+ class Test_PortPrototype:
6
7
  def test_PPortComSpec(self):
7
8
  with pytest.raises(NotImplementedError) as err:
8
9
  PPortComSpec()
9
- assert(str(err.value) == "PPortComSpec is an abstract class.")
10
+ assert (str(err.value) == "PPortComSpec is an abstract class.")
10
11
 
11
12
  def test_RPortComSpec(self):
12
13
  with pytest.raises(NotImplementedError) as err:
13
14
  RPortComSpec()
14
- assert(str(err.value) == "RPortComSpec is an abstract class.")
15
+ assert (str(err.value) == "RPortComSpec is an abstract class.")
@@ -1,11 +1,13 @@
1
1
  import filecmp
2
+ import xml.etree.ElementTree as ET
2
3
 
4
+ from ....models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior
3
5
  from ....models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
4
6
  from ....models.M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
5
7
  from ....models.M2.AUTOSARTemplates.SWComponentTemplate.Components import AtomicSwComponentType, CompositionSwComponentType
6
8
  from ....writer.arxml_writer import ARXMLWriter
7
9
  from ....parser.arxml_parser import ARXMLParser
8
- from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
10
+ from ....models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR, AUTOSARDoc
9
11
 
10
12
 
11
13
  class TestSWComponents:
@@ -372,3 +374,111 @@ class TestSWComponents:
372
374
 
373
375
  assert (filecmp.cmp("test_files/AUTOSAR_MOD_AISpecification_DataConstr_LifeCycle_Standard.arxml",
374
376
  "data/generated_AUTOSAR_MOD_AISpecification_DataConstr_LifeCycle_Standard.arxml", shallow=False) is True)
377
+
378
+
379
+ class TestSwComponentsWithSameName:
380
+ def test_read_same_package_and_sw_component_name(self):
381
+ parser = ARXMLParser()
382
+ parser.nsmap = {"xmlns": "http://autosar.org/schema/r4.0"}
383
+ xml_content = """
384
+ <AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_00049.xsd" T="2025-05-08T10:56:35+03:00">
385
+ <AR-PACKAGES>
386
+ <AR-PACKAGE>
387
+ <SHORT-NAME>Components</SHORT-NAME>
388
+ <ELEMENTS>
389
+ <APPLICATION-SW-COMPONENT-TYPE T="2025-05-08T21:49:46+03:00">
390
+ <SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
391
+ <INTERNAL-BEHAVIORS>
392
+ <SWC-INTERNAL-BEHAVIOR T="2025-06-13T08:49:08+03:00">
393
+ <SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
394
+ <RUNNABLES>
395
+ <RUNNABLE-ENTITY T="2025-06-13T08:49:24+03:00">
396
+ <SHORT-NAME>RunnableInit</SHORT-NAME>
397
+ <MINIMUM-START-INTERVAL>0.0</MINIMUM-START-INTERVAL>
398
+ <CAN-BE-INVOKED-CONCURRENTLY>false</CAN-BE-INVOKED-CONCURRENTLY>
399
+ <SYMBOL>RunnableInit</SYMBOL>
400
+ </RUNNABLE-ENTITY>
401
+ </RUNNABLES>
402
+ </SWC-INTERNAL-BEHAVIOR>
403
+ </INTERNAL-BEHAVIORS>
404
+ </APPLICATION-SW-COMPONENT-TYPE>
405
+ </ELEMENTS>
406
+ <AR-PACKAGES>
407
+ <AR-PACKAGE>
408
+ <SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
409
+ </AR-PACKAGE>
410
+ <AR-PACKAGE>
411
+ <SHORT-NAME>NewPackage</SHORT-NAME>
412
+ </AR-PACKAGE>
413
+ </AR-PACKAGES>
414
+ </AR-PACKAGE>
415
+ <AR-PACKAGE>
416
+ <SHORT-NAME>Implementation</SHORT-NAME>
417
+ <ELEMENTS>
418
+ <SW-ADDR-METHOD>
419
+ <SHORT-NAME>CODE</SHORT-NAME>
420
+ <MEMORY-ALLOCATION-KEYWORD-POLICY>ADDR-METHOD-SHORT-NAME</MEMORY-ALLOCATION-KEYWORD-POLICY>
421
+ <SECTION-TYPE>CODE</SECTION-TYPE>
422
+ </SW-ADDR-METHOD>
423
+ <SWC-IMPLEMENTATION>
424
+ <SHORT-NAME>DUPLICATE_NAME</SHORT-NAME>
425
+ <CODE-DESCRIPTORS>
426
+ <CODE>
427
+ <SHORT-NAME>CODE</SHORT-NAME>
428
+ <ARTIFACT-DESCRIPTORS>
429
+ <AUTOSAR-ENGINEERING-OBJECT>
430
+ <SHORT-LABEL>CODE</SHORT-LABEL>
431
+ <CATEGORY>SWSRC</CATEGORY>
432
+ </AUTOSAR-ENGINEERING-OBJECT>
433
+ </ARTIFACT-DESCRIPTORS>
434
+ </CODE>
435
+ </CODE-DESCRIPTORS>
436
+ <PROGRAMMING-LANGUAGE>C</PROGRAMMING-LANGUAGE>
437
+ <RESOURCE-CONSUMPTION>
438
+ <SHORT-NAME>ResourceConsumption</SHORT-NAME>
439
+ <MEMORY-SECTIONS>
440
+ <MEMORY-SECTION>
441
+ <SHORT-NAME>CODE</SHORT-NAME>
442
+ <SIZE>0</SIZE>
443
+ <SW-ADDRMETHOD-REF DEST="SW-ADDR-METHOD">/AUTOSAR_MemMap/SwAddrMethods/CODE</SW-ADDRMETHOD-REF>
444
+ </MEMORY-SECTION>
445
+ </MEMORY-SECTIONS>
446
+ </RESOURCE-CONSUMPTION>
447
+ <SW-VERSION>1.0.0</SW-VERSION>
448
+ <VENDOR-ID>0</VENDOR-ID>
449
+ <BEHAVIOR-REF DEST="SWC-INTERNAL-BEHAVIOR">/Components/DUPLICATE_NAME/DUPLICATE_NAME</BEHAVIOR-REF>
450
+ </SWC-IMPLEMENTATION>
451
+ </ELEMENTS>
452
+ </AR-PACKAGE>
453
+ </AR-PACKAGES>
454
+ </AUTOSAR>
455
+ """ # noqa E501
456
+
457
+ # prepare the XML content
458
+ element = ET.fromstring(xml_content)
459
+
460
+ document = AUTOSARDoc()
461
+ parser.readARPackages(element, document)
462
+ assert len(document.getARPackages()) == 2
463
+ assert document.getARPackages()[0].getShortName() == "Components"
464
+ assert document.getARPackages()[1].getShortName() == "Implementation"
465
+ assert len(document.getARPackages()[0].getElements()) == 1
466
+
467
+ sw_component: AtomicSwComponentType = document.getARPackages()[0].getElement("DUPLICATE_NAME", AtomicSwComponentType)
468
+ assert sw_component is not None
469
+ assert sw_component.getShortName() == "DUPLICATE_NAME"
470
+
471
+ internal_behavior: SwcInternalBehavior = sw_component.getInternalBehavior()
472
+ # Check if the internal behavior is present
473
+ assert internal_behavior is not None
474
+ assert internal_behavior.getShortName() == "DUPLICATE_NAME"
475
+
476
+ # Check if the runnable is present
477
+ assert len(internal_behavior.getRunnableEntities()) == 1
478
+ runnables = internal_behavior.getRunnableEntities()
479
+
480
+ # Check the first runnable
481
+ runnable = runnables[0]
482
+ assert runnable is not None
483
+ assert runnable.getShortName() == "RunnableInit"
484
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: armodel
3
- Version: 1.8.4
3
+ Version: 1.8.5
4
4
  Summary: the python arxml parser
5
5
  Home-page: http://github.com/melodypapa/py-armodel
6
6
  Author: melodypapa
@@ -638,4 +638,11 @@ Fix the attribute intervalType of **Limit** is empty issue.
638
638
  2. Add the armodel-uuid-checker cli.
639
639
  3. Remove the space in the boolean type.
640
640
 
641
+ **Version 1.8.5**
642
+
643
+ 1. Reorganize the SwConnector class.
644
+ 2. Raise the error if the short name of rootSwCompositionPrototype.
645
+ 3. To support the following AR Element:
646
+ * NvProvideComSpec
647
+ 4. Fix the duplicate short name of ARPackage and Other ARElements.
641
648
 
@@ -9,7 +9,7 @@ armodel/cli/format_xml_cli.py,sha256=FGOmC78qFxl5zeaC8tAWZUcFu6CicJbGfCsQCA7ekfA
9
9
  armodel/cli/memory_section_cli.py,sha256=YPhnfP9dd8yjPG_F32FaKhnCGVmLIK-WH33Jbup31O8,2179
10
10
  armodel/cli/swc_list_cli.py,sha256=yrObi-imM3X6M8R5y5KrZlAdq2IE4mltP9-aH_iwlqk,2441
11
11
  armodel/cli/system_signal_cli.py,sha256=nOVVMZtcSHytmZ8ln-zwu4mhY4Oi9i13RbMyS-RdlEQ,2141
12
- armodel/cli/uuid_checker_cli.py,sha256=7n-R4qO-5zuY4tyksghK5bBWOdHSCD1DkyvjMADupU0,3143
12
+ armodel/cli/uuid_checker_cli.py,sha256=rqYGHJgKL90D1e3ool5sj0lqoKJocFJbdPGc2zRlnoc,3220
13
13
  armodel/data_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  armodel/data_models/sw_connector.py,sha256=ZU1B3AI84vpSSSpQaGR6CMc3qZGnhbK1Z-SQGvwYA9o,584
15
15
  armodel/lib/__init__.py,sha256=5629DkORqTomt16J6VL40o5hFv86-9SRB1240OJWTts,142
@@ -18,7 +18,7 @@ armodel/lib/sw_component.py,sha256=spUeVR8ftzqf9h-pilh17qQg8amYqcqh39XKYql3HO4,1
18
18
  armodel/lib/system_signal.py,sha256=E3FNiUGRUZovTCclCkabkVPpScMIACOXERUpbAuBTv8,1397
19
19
  armodel/models/__init__.py,sha256=Oj9ea8HUVNZ9I_BUiH72LT23rGSJAwx5lcdmW_8O9fM,6017
20
20
  armodel/models/M2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py,sha256=wWZqSULMHcrCv5wcuBBpzT4zk-DykK2a6Yfl7IQ0tgk,11719
21
+ armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py,sha256=chlS6CGFWpxIa5qLfJXNY_CjFGBBGp1aJcKotsa4Nxs,12137
22
22
  armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py,sha256=m9EMGnfdOeRbSFYcGabrCtOpZvb6uy2o03GoQ_MFpLQ,12261
23
23
  armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py,sha256=umY2aFmJepGOsmOTtfWTYeqY5KPb7bw4E0oazAUA7Wk,51238
24
24
  armodel/models/M2/AUTOSARTemplates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -61,7 +61,7 @@ armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py,sha256=iYL0HC
61
61
  armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py,sha256=Nv04EsHvXy2B70ssXUt1jUqQScqTjcHYrsopvaNb52s,3002
62
62
  armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py,sha256=DxbxvW-Qb08Whw9eTTAGWiT5JzXsapP-9XmmmIDkGmI,5138
63
63
  armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py,sha256=ovguP4wzQEDNguczwiZnhMm4dRRVcvnzmHrfQtlRCNQ,15
64
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py,sha256=sMsvUklWiELqzxveSB_PmOwZ9kx5YC52xcTCajwiYDc,44341
64
+ armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py,sha256=Yil9JEHNmLHT9BgF8aU2TkQQl3znDWXoBpDIqaYRUsU,44394
65
65
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py,sha256=upjY_vPc1r1JujHy1YCTAwQKeWw0TO1Ju3L-yDlPjp0,551
66
66
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py,sha256=-btGbRzkRmvBhKui8RnNV5jwCQnFEFTY4mjTilF4zJk,2567
67
67
  armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py,sha256=GAlpyZhgyJSNyMpGMDqF7wd7bpzQtpWhB-2wYUvQbYw,1718
@@ -75,9 +75,9 @@ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocument
75
75
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py,sha256=ExFASEiGd3qBbHARe_p2ZlaS9YFaJ9oy68ytbeh7qVI,1259
76
76
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
77
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py,sha256=t4a16t4-ebvsY9k6JKXB-ZmgLy8vP1ri-Jqjqgngd14,5796
78
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py,sha256=2hYgBMecD7GaZDSY6eSnquftHFV73l0ief1zy_tXuI8,18758
78
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py,sha256=gpOu_ruYHTbsWypCrcLTReAKnQmBE6omTbOOwN_cj6w,18714
79
79
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py,sha256=srGGmPcgQUNeUioEIsMao0MQUlua8X0UG01ipLyEvSs,4971
80
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py,sha256=ZXf_EFGNfAX3TzgN66_wlca5pycBeu2g17XQlaM_2Ck,3642
80
+ armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py,sha256=tQ1hfQ2U3-mP7cUCcGNAmF8oYTOqPuodoUZe0zoBMEE,3503
81
81
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py,sha256=oDth96-xAxdOKqWLvt-k4AzFtyC4wodLrzS_YVC2c88,5138
82
82
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py,sha256=J24KjT-8QkKHlAdRkXTjItibKthy9HnQIiaTipV5qJo,5162
83
83
  armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -163,7 +163,7 @@ armodel/models/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
163
163
  armodel/models/utils/uuid_mgr.py,sha256=riuiZo6uaJpWK1dRDx3Fl86Apk1gHpv_ZtfATmGCId4,926
164
164
  armodel/parser/__init__.py,sha256=wFcqh5unmDvKvf4R8vWkeertAXwWxAuOOEsbsM4mOHs,78
165
165
  armodel/parser/abstract_arxml_parser.py,sha256=suBQkFeHIDzd2oV_BmLJJiYR_NTkDGFZyqraWX6Ici4,14295
166
- armodel/parser/arxml_parser.py,sha256=qab1NsgnYt2dH6Eom0gBC7n2HYcwv46x5te1VR0cH3U,391330
166
+ armodel/parser/arxml_parser.py,sha256=exwfE-bDbvNvzOLMfrsMcmQwxLagaNa5YTdMhBs5aP4,391786
167
167
  armodel/parser/connector_xlsx_parser.py,sha256=0YW0WGOeDFdSNEY_Xh8Hi-Zlv4e4ctaLUh9pibj2-1w,10312
168
168
  armodel/parser/excel_parser.py,sha256=-Ws0eDvGna9LPQC9T8bgMg3Zq84v04aSuSxZUlZx1Wo,698
169
169
  armodel/parser/file_parser.py,sha256=eexNNjO1hXd_jOVgj_zh-58v8hJ4Cf_m42WrhGohsIs,1527
@@ -180,14 +180,14 @@ armodel/tests/test_armodel/models/test_ar_package.py,sha256=nrwEabE58OHTNQf2p5lN
180
180
  armodel/tests/test_armodel/models/test_ar_ref.py,sha256=cB-07JEXGCNqVSnecR4IMTxUUGfdwYyMQI2A37nAe5M,3992
181
181
  armodel/tests/test_armodel/models/test_bsw_module_template.py,sha256=lcQPGVOGoBAV-zVCfr_JjGIVTNkfnnqikoxs6W6udxg,2542
182
182
  armodel/tests/test_armodel/models/test_common_structure.py,sha256=E-R9GywmEsYKl4YL5dKUUbbNK0jXgIZ-pY0qxF7Y3Jo,4105
183
- armodel/tests/test_armodel/models/test_data_dictionary.py,sha256=4xY0QgHhU2_K762i8qoJOXFFitMzWYL090roQDrWkYo,1154
184
- armodel/tests/test_armodel/models/test_data_prototype.py,sha256=PVIvVItwWcdGyqfn_5JJHBK7H6-C1543-XHQ0djq4LQ,4550
183
+ armodel/tests/test_armodel/models/test_data_dictionary.py,sha256=e23uuarWa2wEbTjKoa3Zt6HBX_ixs5HRC_MYLpq6S2Q,1155
184
+ armodel/tests/test_armodel/models/test_data_prototype.py,sha256=p5jaBH6YHIzt_sdHcAe7TxmjVPruF98i3DW30n-e-RU,4843
185
185
  armodel/tests/test_armodel/models/test_datatype.py,sha256=t_NpOh6EI-JWGnT53tWMA5NPNB_VyGVzo_517qGTrro,13006
186
- armodel/tests/test_armodel/models/test_general_structure.py,sha256=aY7oFNYTwj4G7A6fbi9g4LtjL6vTBmYoP15Z3R91UWs,2713
187
- armodel/tests/test_armodel/models/test_implementation.py,sha256=Z1UdwFCN9StTlTXoL1hUdkJcAQDS9KI3os9-wxkGMpk,1083
188
- armodel/tests/test_armodel/models/test_m2_msr.py,sha256=OI53I90YB-FQ6Vn3pBRIoRWsW5bIEzSwsKjSZeRXZ-E,2777
189
- armodel/tests/test_armodel/models/test_port_interface.py,sha256=CQd7YxBeMDuliqx0SQ1IZ32yGKrUQo6mZcqyI6qQepk,9727
190
- armodel/tests/test_armodel/models/test_port_prototype.py,sha256=eJMfvimtniRIhqA57bL1qMfp0_D9J9LrM-5GtGVl6OM,533
186
+ armodel/tests/test_armodel/models/test_general_structure.py,sha256=2wkSPbCpR519J3F7jCCx-kMoXebYQ-HSDe_boSKFQ7Q,2703
187
+ armodel/tests/test_armodel/models/test_implementation.py,sha256=N3XgSNx7B_8fvL3dmzGlXhaT-SGEaDfyc8idfhZjqY8,1089
188
+ armodel/tests/test_armodel/models/test_m2_msr.py,sha256=3LsI7dYcT9z4BbCClMAwvSJkNUkXUQvEo9IkQ2-sYTU,2808
189
+ armodel/tests/test_armodel/models/test_port_interface.py,sha256=ZSt8ELgV3NNHRxTVgpqirTOADRwDPHkIWurUPe5X-4c,9972
190
+ armodel/tests/test_armodel/models/test_port_prototype.py,sha256=iaJ0Bie4_sYGnIGelWDXf7Oia7QDoysTMmFuQvqK4KQ,539
191
191
  armodel/tests/test_armodel/parser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
192
192
  armodel/tests/test_armodel/parser/test_arxml_parser.py,sha256=G87rUosLoMSfQZji37w6x8p-Nz0KMf_sXwVSNpGjLYQ,2612
193
193
  armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py,sha256=LSrXnk0NIC5-YdHeM0CCFZmmbnTmXs3-rToimDzdd0Y,11675
@@ -195,7 +195,7 @@ armodel/tests/test_armodel/parser/test_implementation_data_type.py,sha256=3-LxYv
195
195
  armodel/tests/test_armodel/parser/test_parse_bswmd.py,sha256=Dju0afdFi7MqrP0BCBzOIILlIgLL6ux4lhoXmvtwZ8U,10499
196
196
  armodel/tests/test_armodel/parser/test_rte_event.py,sha256=GxhMNNANx_EZ_-jDRgZkd5lOn7treRPzNLYdQC6DMv4,8951
197
197
  armodel/tests/test_armodel/parser/test_runnable_entity.py,sha256=1irri1yDI0P8kE7_XQPzjAmOphovtJwtPns9qT2ieQk,8583
198
- armodel/tests/test_armodel/parser/test_sw_components.py,sha256=M-T26txeupgZwfCq89QkPga-3m7OSZ9DOqZtgPpZvSY,20950
198
+ armodel/tests/test_armodel/parser/test_sw_components.py,sha256=ALaKHVd8CZcJn0u00jLz_4DR0-smo7DfJbfgdTdr9Ok,26838
199
199
  armodel/tests/test_armodel/parser/test_system.py,sha256=islzROEJGx5PoR9GkjJHopYPu8hEs7iSGhQviajYoxk,908
200
200
  armodel/transformer/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
201
  armodel/transformer/abstract.py,sha256=y6oATVcdu7I34RTb1PxGqgz7QdvcWcL2rCctEZMeo2E,108
@@ -203,9 +203,9 @@ armodel/transformer/admin_data.py,sha256=k5LnDz8F2WoBgNw71agEjWaMnGITrAzB-mp5iJ0
203
203
  armodel/writer/__init__.py,sha256=eXr3qhGzFIvHNBin22x-Tk2JM6QwRgx1jwrluDKAlzQ,37
204
204
  armodel/writer/abstract_arxml_writer.py,sha256=fmSC2beb_2Q_LW-nCbaOem85xX5616FW_sFPlJaflFw,6401
205
205
  armodel/writer/arxml_writer.py,sha256=dQcrTa5kxKNGwCR2G22DAAkKSdUxAL3bRNWS4E2FeHM,404843
206
- armodel-1.8.4.dist-info/LICENSE,sha256=rceTpGhsmmN1M0k1KO0HRS11iCjen-2y56ZEqgo43wo,1088
207
- armodel-1.8.4.dist-info/METADATA,sha256=EbGQNSGeg-FNmFqTtO1vja_xT0biiZpY28HYMoPeIWc,18124
208
- armodel-1.8.4.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
209
- armodel-1.8.4.dist-info/entry_points.txt,sha256=24xz9yK6gjxZ2IlHB23zY3_8M8rwrqAkWgElNBquUdA,550
210
- armodel-1.8.4.dist-info/top_level.txt,sha256=AEATYsqAuRpr0XGa_ThW7-o4WLlA5e3PEgD0QJhzmoA,8
211
- armodel-1.8.4.dist-info/RECORD,,
206
+ armodel-1.8.5.dist-info/LICENSE,sha256=rceTpGhsmmN1M0k1KO0HRS11iCjen-2y56ZEqgo43wo,1088
207
+ armodel-1.8.5.dist-info/METADATA,sha256=Nhm5GkjecH2QgP-6XylUI9cNJ1l0Q3RIrs09_y1ZnUY,18385
208
+ armodel-1.8.5.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
209
+ armodel-1.8.5.dist-info/entry_points.txt,sha256=24xz9yK6gjxZ2IlHB23zY3_8M8rwrqAkWgElNBquUdA,550
210
+ armodel-1.8.5.dist-info/top_level.txt,sha256=AEATYsqAuRpr0XGa_ThW7-o4WLlA5e3PEgD0QJhzmoA,8
211
+ armodel-1.8.5.dist-info/RECORD,,