armodel 1.7.7__py3-none-any.whl → 1.7.9__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 (73) hide show
  1. armodel/cli/arxml_dump_cli.py +33 -22
  2. armodel/cli/arxml_format_cli.py +25 -13
  3. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +84 -28
  4. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +410 -61
  5. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +80 -9
  6. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +141 -35
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +10 -8
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +17 -6
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +38 -3
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +91 -18
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/PortPrototypeBlueprint.py +73 -0
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/BlueprintDedicated/__init__.py +0 -0
  13. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/Keyword.py +45 -0
  14. armodel/models/M2/AUTOSARTemplates/CommonStructure/StandardizationTemplate/__init__.py +0 -0
  15. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +45 -2
  16. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +20 -19
  17. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/HwElementCategory.py +59 -0
  18. armodel/models/M2/AUTOSARTemplates/EcuResourceTemplate/__init__.py +145 -0
  19. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +243 -156
  20. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +73 -0
  21. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +60 -32
  22. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +35 -14
  23. armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +151 -1
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +66 -42
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +1 -0
  26. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +13 -6
  27. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +166 -50
  28. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SoftwareComponentDocumentation.py +80 -0
  29. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py +9 -1
  30. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +5 -4
  31. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +11 -1
  32. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +16 -2
  33. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +9 -1
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +167 -5
  35. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{ECUResourceMapping.py → EcuResourceMapping.py} +4 -3
  36. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +31 -21
  37. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +5 -3
  38. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +18 -6
  39. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayCommunication.py +76 -0
  40. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/FlexrayTopology.py +654 -0
  41. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Flexray/__init__.py +0 -0
  42. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +64 -31
  43. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +158 -40
  44. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +19 -6
  45. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +2 -0
  46. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Transformer/__init__.py +524 -0
  47. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +15 -13
  48. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +10 -1
  49. armodel/models/M2/MSR/Documentation/BlockElements/Figure.py +163 -0
  50. armodel/models/M2/MSR/Documentation/BlockElements/__init__.py +0 -0
  51. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +5 -3
  52. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +22 -1
  53. armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +94 -9
  54. armodel/models/__init__.py +7 -1
  55. armodel/parser/abstract_arxml_parser.py +39 -32
  56. armodel/parser/arxml_parser.py +1439 -551
  57. armodel/parser/file_parser.py +5 -3
  58. armodel/tests/test_armodel/models/test_ar_package.py +6 -11
  59. armodel/tests/test_armodel/models/test_port_interface.py +116 -117
  60. armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +109 -109
  61. armodel/tests/test_armodel/parser/test_sw_components.py +301 -28
  62. armodel/tests/test_armodel/parser/test_system.py +2 -8
  63. armodel/transformer/__init__.py +0 -0
  64. armodel/transformer/abstract.py +6 -0
  65. armodel/transformer/admin_data.py +31 -0
  66. armodel/writer/abstract_arxml_writer.py +22 -29
  67. armodel/writer/arxml_writer.py +1500 -526
  68. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/METADATA +61 -1
  69. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/RECORD +73 -57
  70. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/LICENSE +0 -0
  71. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/WHEEL +0 -0
  72. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/entry_points.txt +0 -0
  73. {armodel-1.7.7.dist-info → armodel-1.7.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,145 @@
1
+ from typing import List
2
+
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType, String
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
6
+
7
+
8
+ class HwDescriptionEntity(ARElement):
9
+ def __init__(self, parent, short_name):
10
+ super().__init__(parent, short_name)
11
+
12
+ self.hwAttributeValues = [] # type: List[HwAttributeValue]
13
+ self.hwCategoryRefs = [] # type: List[RefType]
14
+ self.hwTypeRef = None # type: RefType
15
+
16
+ def getHwAttributeValues(self):
17
+ return self.hwAttributeValues
18
+
19
+ def setHwAttributeValues(self, value):
20
+ if value is not None:
21
+ self.hwAttributeValues = value
22
+ return self
23
+
24
+ def getHwCategoryRefs(self):
25
+ return self.hwCategoryRefs
26
+
27
+ def addHwCategoryRef(self, value):
28
+ if value is not None:
29
+ self.hwCategoryRefs.append(value)
30
+ return self
31
+
32
+ def getHwTypeRef(self):
33
+ return self.hwTypeRef
34
+
35
+ def setHwTypeRef(self, value):
36
+ if value is not None:
37
+ self.hwTypeRef = value
38
+ return self
39
+
40
+
41
+ class HwPin(HwDescriptionEntity):
42
+ def __init__(self, parent, short_name):
43
+ super().__init__(parent, short_name)
44
+
45
+ self.functionName = None # type: String
46
+ self.packagingPinName = None # type: String
47
+ self.pinNumber = None # type: Integer
48
+
49
+ def getFunctionName(self):
50
+ return self.functionName
51
+
52
+ def setFunctionName(self, value):
53
+ if value is not None:
54
+ self.functionName = value
55
+ return self
56
+
57
+ def getPackagingPinName(self):
58
+ return self.packagingPinName
59
+
60
+ def setPackagingPinName(self, value):
61
+ if value is not None:
62
+ self.packagingPinName = value
63
+ return self
64
+
65
+ def getPinNumber(self):
66
+ return self.pinNumber
67
+
68
+ def setPinNumber(self, value):
69
+ if value is not None:
70
+ self.pinNumber = value
71
+ return self
72
+
73
+
74
+ class HwPinGroupContent(ARObject):
75
+ def __init__(self):
76
+ super().__init__()
77
+
78
+ self.hwPin = None # type: HwPin
79
+ self.hwPinGroup = None # type: HwPinGroup
80
+
81
+ def getHwPin(self):
82
+ return self.hwPin
83
+
84
+ def createHwPin(self, short_name: str) -> HwPin:
85
+ pin = HwPin(self, short_name)
86
+ self.hwPin = pin
87
+ return pin
88
+
89
+ def getHwPinGroup(self):
90
+ return self.hwPinGroup
91
+
92
+ def setHwPinGroup(self, value):
93
+ if value is not None:
94
+ self.hwPinGroup = value
95
+ return self
96
+
97
+
98
+ class HwPinGroup(HwDescriptionEntity):
99
+ def __init__(self, parent, short_name):
100
+ super().__init__(parent, short_name)
101
+
102
+ self.hwPinGroupContent = None # type: HwPinGroupContent
103
+
104
+ def getHwPinGroupContent(self):
105
+ return self.hwPinGroupContent
106
+
107
+ def setHwPinGroupContent(self, value):
108
+ if value is not None:
109
+ self.hwPinGroupContent = value
110
+ return self
111
+
112
+
113
+ class HwElement(HwDescriptionEntity):
114
+ def __init__(self, parent, short_name):
115
+ super().__init__(parent, short_name)
116
+
117
+ self.hwElementConnections = [] # type: List[HwElementConnector]
118
+ self.hwPinGroups = [] # type: List[HwPinGroup]
119
+ self.nestedElementRefs = [] # type: List[RefType]
120
+
121
+ def getHwElementConnections(self):
122
+ return self.hwElementConnections
123
+
124
+ def setHwElementConnections(self, value):
125
+ if value is not None:
126
+ self.hwElementConnections = value
127
+ return self
128
+
129
+ def getHwPinGroups(self):
130
+ return self.hwPinGroups
131
+
132
+ def createHwPinGroup(self, short_name: str) -> HwPinGroup:
133
+ if (not self.IsElementExists(short_name)):
134
+ pin_group = HwPinGroup(self, short_name)
135
+ self.addElement(pin_group)
136
+ self.hwPinGroups.append(pin_group)
137
+ return self.getElement(short_name)
138
+
139
+ def getNestedElementRefs(self):
140
+ return self.nestedElementRefs
141
+
142
+ def setNestedElementRefs(self, value):
143
+ if value is not None:
144
+ self.nestedElementRefs = value
145
+ return self