armodel 1.6.3__py3-none-any.whl → 1.6.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.
Files changed (126) hide show
  1. armodel/cli/arxml_dump_cli.py +7 -7
  2. armodel/cli/arxml_format_cli.py +0 -1
  3. armodel/cli/connector2xlsx_cli.py +2 -3
  4. armodel/cli/connector_update_cli.py +1 -4
  5. armodel/cli/memory_section_cli.py +2 -2
  6. armodel/cli/swc_list_cli.py +2 -3
  7. armodel/cli/system_signal_cli.py +2 -2
  8. armodel/lib/sw_component.py +2 -2
  9. armodel/lib/system_signal.py +1 -3
  10. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +5 -10
  11. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +9 -11
  12. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +51 -12
  13. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +3 -3
  14. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +5 -6
  15. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -1
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +186 -29
  17. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +7 -10
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +18 -7
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +3 -3
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +3 -6
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -5
  22. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +10 -6
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +3 -4
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +2 -5
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -1
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
  29. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +2 -2
  30. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +4 -6
  31. armodel/models/M2/AUTOSARTemplates/{ecuc_description_template.py → ECUCDescriptionTemplate.py} +6 -11
  32. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +3 -6
  33. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +40 -36
  34. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +2 -5
  35. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +11 -16
  36. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -2
  37. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +0 -1
  38. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +1 -1
  39. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +2 -4
  40. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +114 -12
  41. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +2 -5
  42. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +4 -62
  43. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +6 -8
  44. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +7 -7
  45. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +0 -1
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface/instance_refs.py → PortInterface/InstanceRefs.py} +2 -2
  47. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface → PortInterface}/__init__.py +10 -10
  48. armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
  49. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +29 -6
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +6 -6
  51. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +2 -2
  52. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +3 -3
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +4 -4
  54. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +3 -3
  55. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
  56. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +3 -4
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +37 -3
  59. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +2 -4
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +166 -10
  61. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{data_mapping.py → DataMapping.py} +2 -3
  62. armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -4
  63. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +14 -0
  64. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +116 -0
  65. armodel/models/{fibex/lin_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py} +4 -5
  66. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__init__.py +0 -0
  67. armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -6
  68. armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +4 -12
  69. armodel/models/{fibex/fibex_core/core_topology.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py} +6 -11
  70. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__init__.py +0 -0
  71. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__init__.py +0 -0
  72. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -2
  73. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{network_management.py → NetworkManagement.py} +5 -10
  74. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
  75. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +3 -6
  76. armodel/models/M2/MSR/AsamHdo/AdminData.py +2 -5
  77. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +3 -3
  78. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +5 -6
  79. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +3 -4
  80. armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +0 -1
  81. armodel/models/M2/MSR/AsamHdo/SpecialData.py +1 -4
  82. armodel/models/M2/MSR/AsamHdo/Units.py +3 -6
  83. armodel/models/M2/MSR/AsamHdo/__init__.py +0 -1
  84. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +3 -7
  85. armodel/models/M2/MSR/CalibrationData/__init__.py +0 -1
  86. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +3 -6
  87. armodel/models/M2/MSR/DataDictionary/Axis.py +3 -3
  88. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +3 -3
  89. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +5 -6
  90. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +4 -4
  91. armodel/models/M2/MSR/DataDictionary/__init__.py +0 -1
  92. armodel/models/M2/MSR/Documentation/Annotation.py +4 -6
  93. armodel/models/M2/MSR/Documentation/BlockElements.py +2 -2
  94. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +1 -2
  95. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +3 -6
  96. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -2
  97. armodel/models/M2/MSR/Documentation/__init__.py +1 -1
  98. armodel/models/M2/MSR/__init__.py +1 -1
  99. armodel/models/M2/__init__.py +0 -1
  100. armodel/models/__init__.py +46 -3
  101. armodel/parser/arxml_parser.py +58 -54
  102. armodel/parser/file_parser.py +2 -1
  103. armodel/report/connector_xls_report.py +2 -1
  104. armodel/tests/test_armodel/models/test_ar_object.py +0 -2
  105. armodel/tests/test_armodel/models/test_ar_package.py +4 -4
  106. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  107. armodel/tests/test_armodel/models/test_datatype.py +7 -7
  108. armodel/tests/test_armodel/models/test_port_interface.py +6 -6
  109. armodel/tests/test_armodel/parser/test_parse_bswmd.py +12 -12
  110. armodel/tests/test_armodel/parser/test_sw_components.py +1 -1
  111. armodel/tests/test_armodel/parser/test_system.py +1 -1
  112. armodel/writer/arxml_writer.py +61 -49
  113. {armodel-1.6.3.dist-info → armodel-1.6.4.dist-info}/METADATA +371 -366
  114. armodel-1.6.4.dist-info/RECORD +156 -0
  115. {armodel-1.6.3.dist-info → armodel-1.6.4.dist-info}/WHEEL +1 -1
  116. armodel/models/M2/AUTOSARTemplates/SystemTemplate/transport_protocols.py +0 -7
  117. armodel/models/sw_component.py +0 -390
  118. armodel/models/timing.py +0 -91
  119. armodel-1.6.3.dist-info/RECORD +0 -148
  120. /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
  121. /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
  122. /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
  123. /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
  124. {armodel-1.6.3.dist-info → armodel-1.6.4.dist-info}/LICENSE +0 -0
  125. {armodel-1.6.3.dist-info → armodel-1.6.4.dist-info}/entry_points.txt +0 -0
  126. {armodel-1.6.3.dist-info → armodel-1.6.4.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,8 @@
1
1
  from abc import ABCMeta
2
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARLiteral, RefType
5
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, AutosarVariableRef
6
-
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARLiteral, RefType
5
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, AutosarVariableRef
7
6
 
8
7
  class RoleBasedDataAssignment(ARObject):
9
8
  def __init__(self):
@@ -47,4 +46,9 @@ class NvBlockNeeds(ServiceNeeds):
47
46
  self.write_only_once = None # type: ARBoolean
48
47
  self.write_verification = None # type: ARBoolean
49
48
  self.writing_frequency = None # type: ARBoolean
50
- self.writing_priority = None # type: ARBoolean
49
+ self.writing_priority = None # type: ARBoolean
50
+
51
+
52
+ class ServiceDependency(Identifiable):
53
+ def __init__(self, parent: ARObject, short_name: str):
54
+ super().__init__(parent, short_name)
@@ -1,8 +1,7 @@
1
1
  from typing import List
2
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
5
-
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
6
5
 
7
6
  class SwcBswRunnableMapping(ARObject):
8
7
  def __init__(self):
@@ -1,10 +1,7 @@
1
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType
3
-
4
-
1
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType
5
3
  from typing import List
6
4
 
7
-
8
5
  class IncludedModeDeclarationGroupSet(ARObject):
9
6
  def __init__(self):
10
7
  super().__init__()
@@ -0,0 +1,45 @@
1
+ from typing import List
2
+ from abc import ABCMeta
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
5
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
6
+ from ......M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingConstraint import TimingConstraint
7
+
8
+ class EOCExecutableEntityRefAbstract(Identifiable):
9
+ __metaclass__ = ABCMeta
10
+
11
+ def __init__(self, parent: ARObject, short_name: str):
12
+ if type(self) == TimingConstraint:
13
+ raise NotImplementedError("TimingExtension is an abstract class.")
14
+
15
+ super().__init__(parent, short_name)
16
+
17
+
18
+ class EOCExecutableEntityRef(EOCExecutableEntityRefAbstract):
19
+ def __init__(self, parent: ARObject, short_name: str):
20
+ super().__init__(parent, short_name)
21
+
22
+ self.successor_refs = [] # List[RefType]
23
+
24
+ def addSuccessorRef(self, ref: RefType):
25
+ self.successor_refs.append(ref)
26
+
27
+ def getSuccessorRefs(self) -> List[RefType]:
28
+ return self.successor_refs
29
+
30
+
31
+ class ExecutionOrderConstraint(TimingConstraint):
32
+ def __init__(self, parent: ARObject, short_name: str):
33
+ super().__init__(parent, short_name)
34
+
35
+ self.ordered_elements = [] # type: List[EOCExecutableEntityRefAbstract]
36
+
37
+ def createEOCExecutableEntityRef(self, short_name: str)-> EOCExecutableEntityRef:
38
+ if short_name not in self.elements:
39
+ entity_ref = EOCExecutableEntityRef(self, short_name)
40
+ self.elements[short_name] = entity_ref
41
+ self.ordered_elements.append(entity_ref)
42
+ return self.elements[short_name]
43
+
44
+ def getOrderedElements(self) -> List[EOCExecutableEntityRefAbstract]:
45
+ return self.ordered_elements
@@ -0,0 +1,24 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
4
+ from abc import ABCMeta
5
+
6
+
7
+ class TimingConstraint(Identifiable):
8
+ __metaclass__ = ABCMeta
9
+
10
+ def __init__(self, parent: ARObject, short_name: str):
11
+ if type(self) == TimingConstraint:
12
+ raise NotImplementedError("TimingExtension is an abstract class.")
13
+
14
+ super().__init__(parent, short_name)
15
+
16
+ self.timing_condition_ref = None # type: RefType
17
+
18
+ @property
19
+ def timingConditionRef(self) -> RefType:
20
+ return self.timing_condition_ref
21
+
22
+ @timingConditionRef.setter
23
+ def timingConditionRef(self, ref: RefType):
24
+ self.timing_condition_ref = ref
@@ -0,0 +1,33 @@
1
+ from ......M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.ExecutionOrderConstraint import ExecutionOrderConstraint
2
+ from ......M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingConstraint import TimingConstraint
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
5
+ from abc import ABCMeta
6
+ from typing import List
7
+
8
+
9
+ class TimingExtension(Identifiable):
10
+ __metaclass__ = ABCMeta
11
+
12
+ def __init__(self, parent: ARObject, short_name: str):
13
+ if type(self) == TimingExtension:
14
+ raise NotImplementedError("TimingExtension is an abstract class.")
15
+
16
+ super().__init__(parent, short_name)
17
+
18
+ self.timing_requirements = [] # Type: List[TimingConstraint]
19
+
20
+ def createExecutionOrderConstraint(self, short_name: str)-> ExecutionOrderConstraint:
21
+ if short_name not in self.elements:
22
+ constraint = ExecutionOrderConstraint(self, short_name)
23
+ self.elements[short_name] = constraint
24
+ self.timing_requirements.append(constraint)
25
+ return self.elements[short_name]
26
+
27
+ def getTimingRequirements(self) -> List[TimingConstraint]:
28
+ return self.timing_requirements
29
+
30
+
31
+ class SwcTiming(TimingExtension):
32
+ def __init__(self, parent: ARObject, short_name: str):
33
+ super().__init__(parent, short_name)
@@ -1,5 +1,5 @@
1
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
1
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
3
 
4
4
  class Trigger(Identifiable):
5
5
  def __init__(self, parent: ARObject, short_name: str):
@@ -1,11 +1,9 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
-
4
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
-
6
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical
7
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
8
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
6
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
9
7
 
10
8
  class ValueSpecification(ARObject, metaclass = ABCMeta):
11
9
  '''
@@ -1,16 +1,11 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
-
4
- from .GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
-
6
- from .GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical
7
-
8
- from .GenericStructure.AbstractStructure import AnyInstanceRef
9
- from ..MSR.Documentation.BlockElements import DocumentationBlock
10
- from ..MSR.Documentation.Annotation import Annotation
11
- from .GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
12
- from .GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
13
- from .GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
3
+ from ...M2.MSR.Documentation.BlockElements import DocumentationBlock
4
+ from ...M2.MSR.Documentation.Annotation import Annotation
5
+ from ...M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AnyInstanceRef
6
+ from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
+ from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, RefType, ARBoolean
8
+ from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
14
9
 
15
10
  class EcucValueCollection(ARElement):
16
11
  def __init__(self, parent: ARObject, short_name: str):
@@ -1,12 +1,9 @@
1
1
 
2
2
  from abc import ABCMeta
3
3
  from typing import List
4
-
5
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
6
-
7
- from .GeneralTemplateClasses.PrimitiveTypes import RefType
8
- from .GeneralTemplateClasses.ArObject import ARObject
9
-
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
6
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
10
7
  class AtpInstanceRef(ARObject, metaclass = ABCMeta):
11
8
  def __init__(self):
12
9
 
@@ -1,40 +1,38 @@
1
- from armodel.models.M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
2
- from armodel.models.M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
3
- from armodel.models.M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
4
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
6
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
7
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType
8
- from armodel.models.M2.MSR.AsamHdo.BaseTypes import SwBaseType
9
- from armodel.models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
10
- from armodel.models.M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup
11
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
12
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
13
- from armodel.models.fibex.can_communication import CanFrame
14
- from armodel.models.fibex.fibex_4_multiplatform import Gateway
15
- from armodel.models.fibex.fibex_core.core_communication import DcmIPdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, NPdu, NmPdu, SecuredIPdu, SystemSignal, SystemSignalGroup
16
- from armodel.models.fibex.fibex_core.core_topology import CanCluster, EcuInstance, LinCluster
17
- from armodel.models.fibex.lin_communication import LinUnconditionalFrame
18
- from armodel.models.M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping
19
- from armodel.models.M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstr
20
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
21
- from armodel.models.M2.AUTOSARTemplates.CommonStructure import ConstantSpecification
22
- from armodel.models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
23
- from armodel.models.M2.AUTOSARTemplates.ecuc_description_template import EcucModuleConfigurationValues, EcucValueCollection
24
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Components import SwComponentType
25
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.Composition import CompositionSwComponentType
26
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.port_interface import ClientServerInterface, ModeSwitchInterface, ParameterInterface, SenderReceiverInterface, TriggerInterface
27
- from armodel.models.M2.AUTOSARTemplates.SystemTemplate import System
28
- from armodel.models.M2.AUTOSARTemplates.SystemTemplate.network_management import NmConfig
29
- from armodel.models.M2.AUTOSARTemplates.SystemTemplate.transport_protocols import CanTpConfig
30
- from armodel.models.M2.MSR.AsamHdo.Units import PhysicalDimension, Unit
31
- from armodel.models.M2.MSR.DataDictionary.AuxillaryObjects import SwAddrMethod
32
- from armodel.models.M2.MSR.AsamHdo.ComputationMethod import CompuMethod
33
- from armodel.models.M2.MSR.DataDictionary.RecordLayout import SwRecordLayout
34
- from armodel.models.sw_component import ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, EcuAbstractionSwComponentType, SensorActuatorSwComponentType, ServiceSwComponentType
35
- from armodel.models.timing import SwcTiming
36
-
37
1
  from typing import Dict, List
2
+ from .....M2.AUTOSARTemplates.CommonStructure.Timing.TimingConstraint.TimingExtensions import SwcTiming
3
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Components import CompositionSwComponentType, ServiceSwComponentType, SwComponentType, ApplicationSwComponentType, AtomicSwComponentType, ComplexDeviceDriverSwComponentType, EcuAbstractionSwComponentType, SensorActuatorSwComponentType
4
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Ethernet.EthernetFrame import GenericEthernetFrame
5
+ from .....M2.MSR.AsamHdo.BaseTypes import SwBaseType
6
+ from .....M2.MSR.AsamHdo.Units import PhysicalDimension, Unit
7
+ from .....M2.MSR.AsamHdo.Constraints.GlobalConstraints import DataConstr
8
+ from .....M2.MSR.AsamHdo.ComputationMethod import CompuMethod
9
+ from .....M2.MSR.DataDictionary.AuxillaryObjects import SwAddrMethod
10
+ from .....M2.MSR.DataDictionary.RecordLayout import SwRecordLayout
11
+ from .....M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
12
+ from .....M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
13
+ from .....M2.AUTOSARTemplates.BswModuleTemplate.BswImplementation import BswImplementation
14
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
15
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
16
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, Referrable
17
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationArrayDataType, ApplicationDataType, ApplicationPrimitiveDataType, ApplicationRecordDataType
18
+ from .....M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
19
+ from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroup
20
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
21
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.EndToEndProtection import EndToEndProtectionSet
22
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrame
23
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Multiplatform import Gateway
24
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import DcmIPdu, ISignal, ISignalGroup, ISignalIPdu, ISignalIPduGroup, NPdu, NmPdu, SecuredIPdu, SystemSignal, SystemSignalGroup
25
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CanCluster, EcuInstance, LinCluster
26
+ from .....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Lin.LinCommunication import LinUnconditionalFrame
27
+ from .....M2.AUTOSARTemplates.CommonStructure.SwcBswMapping import SwcBswMapping
28
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcImplementation import SwcImplementation
29
+ from .....M2.AUTOSARTemplates.CommonStructure import ConstantSpecification
30
+ from .....M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
31
+ from .....M2.AUTOSARTemplates.ECUCDescriptionTemplate import EcucModuleConfigurationValues, EcucValueCollection
32
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import ClientServerInterface, ModeSwitchInterface, ParameterInterface, SenderReceiverInterface, TriggerInterface
33
+ from .....M2.AUTOSARTemplates.SystemTemplate import System
34
+ from .....M2.AUTOSARTemplates.SystemTemplate.NetworkManagement import NmConfig
35
+ from .....M2.AUTOSARTemplates.SystemTemplate.TransportProtocols import CanTpConfig
38
36
 
39
37
  class ARPackage(Identifiable, CollectableElement):
40
38
  def __init__(self, parent: ARObject, short_name: str):
@@ -111,6 +109,12 @@ class ARPackage(Identifiable, CollectableElement):
111
109
  sr_interface = ParameterInterface(self, short_name)
112
110
  self.addElement(sr_interface)
113
111
  return self.getElement(short_name)
112
+
113
+ def createGenericEthernetFrame(self, short_name: str) -> GenericEthernetFrame:
114
+ if (short_name not in self.elements):
115
+ sr_interface = GenericEthernetFrame(self, short_name)
116
+ self.addElement(sr_interface)
117
+ return self.getElement(short_name)
114
118
 
115
119
  def createClientServerInterface(self, short_name: str) -> ClientServerInterface:
116
120
  if (short_name not in self.elements):
@@ -1,10 +1,7 @@
1
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
3
-
4
-
1
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
5
3
  from abc import ABCMeta
6
4
 
7
-
8
5
  class EngineeringObject(ARObject, metaclass=ABCMeta):
9
6
  def __init__(self):
10
7
  if type(self) == EngineeringObject:
@@ -1,9 +1,9 @@
1
- from armodel.models.M2.MSR.AsamHdo.AdminData import AdminData
2
- from armodel.models.M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
3
- from .ArObject import ARObject
4
- from .PrimitiveTypes import ARLiteral
5
- from ....MSR.Documentation.Annotation import Annotation
6
- from ....MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
1
+ from .....M2.MSR.AsamHdo.AdminData import AdminData
2
+ from .....M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
3
+ from .....M2.MSR.Documentation.Annotation import Annotation
4
+ from .....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguageOverviewParagraph
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
7
7
  from abc import ABCMeta
8
8
  from typing import List
9
9
 
@@ -14,17 +14,9 @@ class Referrable(ARObject, metaclass = ABCMeta):
14
14
  raise NotImplementedError("Referrable is an abstract class.")
15
15
  ARObject.__init__(self)
16
16
 
17
- self._parent = parent
17
+ self.parent = parent
18
18
  self.short_name = short_name
19
19
 
20
- @property
21
- def parent(self):
22
- return self._parent
23
-
24
- @parent.setter
25
- def parent(self, value):
26
- self._parent = value
27
-
28
20
  @property
29
21
  def shortName(self):
30
22
  return self.short_name
@@ -35,10 +27,13 @@ class Referrable(ARObject, metaclass = ABCMeta):
35
27
 
36
28
  def getShortName(self) -> str:
37
29
  return self.short_name
30
+
31
+ def getParent(self):
32
+ return self.parent
38
33
 
39
34
  @property
40
35
  def full_name(self) -> str:
41
- return self._parent.full_name + "/" + self.short_name
36
+ return self.parent.full_name + "/" + self.short_name
42
37
 
43
38
  def getFullName(self) -> str:
44
39
  return self.full_name
@@ -1,7 +1,6 @@
1
1
  from abc import ABCMeta
2
2
  import re
3
-
4
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
4
 
6
5
  class ARType(metaclass = ABCMeta):
7
6
  def __init__(self) -> None:
@@ -42,6 +41,9 @@ class ARNumerical(ARType):
42
41
  m = re.match(r"0x([0-9a-f]+)", value, re.I)
43
42
  if m:
44
43
  return int(m.group(1), 16)
44
+ m = re.match(r'0b([\d]+)', value, re.I)
45
+ if m:
46
+ return int(m.group(1), 2)
45
47
  m = re.match(r"-?\d+\.\d+", value)
46
48
  if m:
47
49
  return float(value)
@@ -252,6 +254,19 @@ class Integer(ARNumerical):
252
254
  def __init__(self):
253
255
  super().__init__()
254
256
 
257
+ class Boolean(ARBoolean):
258
+ '''
259
+ A Boolean value denotes a logical condition that is either 'true' or 'false'. It can be one of "0", "1", "true",
260
+ "false"
261
+
262
+ Tags:
263
+ * xml.xsd.customType=BOOLEAN
264
+ * xml.xsd.pattern=0|1|true|false
265
+ * xml.xsd.type=string
266
+ '''
267
+ def __init__(self):
268
+ super().__init__()
269
+
255
270
  class Identifier(ARLiteral):
256
271
  '''
257
272
  An Identifier is a string with a number of constraints on its appearance, satisfying the requirements typical
@@ -1,7 +1,7 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
3
 
4
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.port_interface.instance_refs import ApplicationCompositeElementInPortInterfaceInstanceRef
4
+ from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface.InstanceRefs import ApplicationCompositeElementInPortInterfaceInstanceRef
5
5
 
6
6
  from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
7
  from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, ARPositiveInteger
@@ -1,8 +1,6 @@
1
1
  from abc import ABCMeta
2
-
3
- from ...GenericStructure.AbstractStructure import AtpInstanceRef
4
- from ...GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
5
-
2
+ from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpInstanceRef
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
6
4
 
7
5
  class ModeGroupInAtomicSwcInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
8
6
  def __init__(self):
@@ -1,16 +1,14 @@
1
- from . import *
2
-
3
1
  from abc import ABCMeta
4
2
  from typing import List
5
-
6
- from ...CommonStructure.Implementation import ImplementationProps
7
- from ...GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
8
- from ...GenericStructure.GeneralTemplateClasses.ArObject import ARObject
9
- from ...GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TRefType
10
- from ...GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
11
- from ...GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, RefType
12
- from ..Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec, NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec, ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec, RPortComSpec, ServerComSpec
13
- from .InstanceRefs import InnerPortGroupInCompositionInstanceRef
3
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition import AssemblySwConnector, DelegationSwConnector, SwComponentPrototype, SwConnector
4
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import InnerPortGroupInCompositionInstanceRef
5
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior import SwcInternalBehavior
6
+ from .....M2.AUTOSARTemplates.CommonStructure.Implementation import ImplementationProps
7
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, ARElement
8
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
9
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TRefType
10
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, RefType
11
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Communication import ClientComSpec, ModeSwitchReceiverComSpec, ModeSwitchSenderComSpec, NonqueuedReceiverComSpec, NonqueuedSenderComSpec, PPortComSpec, ParameterRequireComSpec, QueuedReceiverComSpec, QueuedSenderComSpec, RPortComSpec, ServerComSpec
14
12
 
15
13
  class SymbolProps(ImplementationProps):
16
14
  def __init__(self, parent: ARObject, short_name: str):
@@ -212,7 +210,7 @@ class PortGroup(Identifiable):
212
210
  def getOuterPortRefs(self) -> List[RefType]:
213
211
  return self._outer_port_ref
214
212
 
215
- class SwComponentType(ARElement, metaclass = ABCMeta):
213
+ class SwComponentType(ARElement, metaclass = ABCMeta):
216
214
  def __init__(self, parent: ARObject, short_name: str):
217
215
  super().__init__(parent, short_name)
218
216
 
@@ -246,3 +244,107 @@ class SwComponentType(ARElement, metaclass = ABCMeta):
246
244
  def getPortGroups(self) -> List[PortGroup]:
247
245
  return list(sorted(filter(lambda c: isinstance(c, PortGroup), self.elements.values()), key= lambda o: o.short_name))
248
246
 
247
+
248
+ class AtomicSwComponentType(SwComponentType, metaclass = ABCMeta):
249
+ def __init__(self, parent: ARObject, short_name: str):
250
+ super().__init__(parent, short_name)
251
+
252
+ def createSwcInternalBehavior(self, short_name) -> SwcInternalBehavior:
253
+ if (short_name not in self.elements):
254
+ if (len(list(filter(lambda e: isinstance(e, SwcInternalBehavior), self.elements.values()))) >= 1):
255
+ raise ValueError("The internal behavior of <%s> can not more than 1" % self.short_name)
256
+ behavior = SwcInternalBehavior(self, short_name)
257
+ self.elements[short_name] = behavior
258
+ return self.elements[short_name]
259
+
260
+ @property
261
+ def internal_behavior(self) -> SwcInternalBehavior:
262
+ return next(filter(lambda e: isinstance(e, SwcInternalBehavior), self.elements.values()))
263
+
264
+ class EcuAbstractionSwComponentType(AtomicSwComponentType):
265
+ def __init__(self, parent:ARObject, short_name: str):
266
+ super().__init__(parent, short_name)
267
+
268
+
269
+ class ApplicationSwComponentType(AtomicSwComponentType):
270
+ def __init__(self, parent: ARObject, short_name: str):
271
+ super().__init__(parent, short_name)
272
+
273
+
274
+ class ComplexDeviceDriverSwComponentType(AtomicSwComponentType):
275
+ def __init__(self, parent: ARObject, short_name: str):
276
+ super().__init__(parent, short_name)
277
+
278
+
279
+ class NvBlockSwComponentType(AtomicSwComponentType):
280
+ def __init__(self, parent: ARObject, short_name: str):
281
+ super().__init__(parent, short_name)
282
+
283
+
284
+ class SensorActuatorSwComponentType(AtomicSwComponentType):
285
+ def __init__(self, parent: ARObject, short_name: str):
286
+ super().__init__(parent, short_name)
287
+
288
+
289
+ class ServiceProxySwComponentType(AtomicSwComponentType):
290
+ def __init__(self, parent: ARObject, short_name: str):
291
+ super().__init__(parent, short_name)
292
+
293
+
294
+ class ServiceSwComponentType(AtomicSwComponentType):
295
+ def __init__(self, parent: ARObject, short_name: str):
296
+ super().__init__(parent, short_name)
297
+
298
+
299
+ class CompositionSwComponentType(SwComponentType):
300
+ def __init__(self, parent: ARObject, short_name: str):
301
+ super().__init__(parent, short_name)
302
+
303
+ self.constantValueMappingRefs = [] # type: List[RefType]
304
+ self.dataTypeMappingRefs = [] # type: List[RefType]
305
+ self.instantiationRTEEventProps = [] # type: List[InstantiationRTEEventProps]
306
+
307
+ def removeAllAssemblySwConnector(self):
308
+ for sw_connector in self.getAssemblySwConnectors():
309
+ self.elements.pop(sw_connector.short_name)
310
+
311
+ def removeAllDelegationSwConnector(self):
312
+ for sw_connector in self.getDelegationSwConnectors():
313
+ self.elements.pop(sw_connector.short_name)
314
+
315
+ def createAssemblySwConnector(self, short_name: str) -> AssemblySwConnector:
316
+ if (short_name not in self.elements):
317
+ connector = AssemblySwConnector(self, short_name)
318
+ self.elements[short_name] = connector
319
+ return self.elements[short_name]
320
+
321
+ def createDelegationSwConnector(self, short_name: str) -> DelegationSwConnector:
322
+ if short_name not in self.elements:
323
+ connector = DelegationSwConnector(self, short_name)
324
+ self.elements[short_name] = connector
325
+ return self.elements[short_name]
326
+
327
+ def getAssemblySwConnectors(self) -> List[AssemblySwConnector]:
328
+ return list(sorted(filter(lambda e: isinstance(e, AssemblySwConnector), self.elements.values()), key = lambda c: c.short_name))
329
+
330
+ def getDelegationSwConnectors(self) -> List[DelegationSwConnector]:
331
+ return list(sorted(filter(lambda e: isinstance(e, DelegationSwConnector), self.elements.values()), key = lambda c: c.short_name))
332
+
333
+ def getSwConnectors(self) -> List[SwConnector]:
334
+ return list(sorted(filter(lambda e: isinstance(e, SwConnector), self.elements.values()), key = lambda c: c.short_name))
335
+
336
+ def createSwComponentPrototype(self, short_name: str) -> SwComponentPrototype:
337
+ if (short_name not in self.elements):
338
+ connector = SwComponentPrototype(self, short_name)
339
+ self.elements[short_name] = connector
340
+ return self.elements[short_name]
341
+
342
+ def getSwComponentPrototypes(self) -> List[SwComponentPrototype]:
343
+ return list(filter(lambda e: isinstance(e, SwComponentPrototype), self.elements.values()))
344
+
345
+ def addDataTypeMapping(self, data_type_mapping_ref: RefType):
346
+ self.dataTypeMappingRefs.append(data_type_mapping_ref)
347
+
348
+ def getDataTypeMappings(self) -> List[RefType]:
349
+ return self.dataTypeMappingRefs
350
+
@@ -1,9 +1,6 @@
1
-
2
1
  from abc import ABCMeta
3
-
4
- from ...GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
5
- from ...GenericStructure.AbstractStructure import AtpInstanceRef
6
-
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
3
+ from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpInstanceRef
7
4
 
8
5
  class PortInCompositionTypeInstanceRef(AtpInstanceRef, metaclass = ABCMeta):
9
6
  def __init__(self):