armodel 1.6.3__py3-none-any.whl → 1.7.0__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 (133) hide show
  1. armodel/cli/arxml_dump_cli.py +7 -7
  2. armodel/cli/arxml_format_cli.py +14 -12
  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/Filter.py +86 -0
  17. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +186 -29
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +7 -10
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +21 -11
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +3 -3
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +3 -6
  22. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -5
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +10 -6
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +3 -4
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +2 -5
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -1
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
  29. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
  30. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +2 -2
  31. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +4 -6
  32. armodel/models/M2/AUTOSARTemplates/{ecuc_description_template.py → ECUCDescriptionTemplate.py} +6 -11
  33. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +3 -6
  34. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +42 -36
  35. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +2 -5
  36. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +11 -16
  37. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +87 -4
  38. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +0 -1
  39. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +21 -8
  40. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +2 -4
  41. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +114 -12
  42. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +2 -5
  43. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +4 -62
  44. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +6 -8
  45. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +7 -7
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +0 -1
  47. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface/instance_refs.py → PortInterface/InstanceRefs.py} +2 -2
  48. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface → PortInterface}/__init__.py +10 -10
  49. armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +29 -6
  51. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +6 -6
  52. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +2 -2
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +3 -3
  54. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +28 -4
  55. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +3 -3
  56. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +3 -4
  59. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +37 -3
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +2 -4
  61. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +166 -10
  62. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{data_mapping.py → DataMapping.py} +2 -3
  63. armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -4
  64. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +173 -0
  65. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +14 -0
  66. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +116 -0
  67. armodel/models/{fibex/lin_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py} +4 -5
  68. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__init__.py +0 -0
  69. armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -6
  70. armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +6 -14
  71. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +388 -0
  72. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +223 -0
  73. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +177 -0
  74. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__init__.py +0 -0
  75. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__init__.py +0 -0
  76. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +39 -2
  77. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{network_management.py → NetworkManagement.py} +5 -10
  78. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
  79. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +86 -17
  80. armodel/models/M2/MSR/AsamHdo/AdminData.py +2 -5
  81. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +3 -3
  82. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +5 -6
  83. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +3 -4
  84. armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +0 -1
  85. armodel/models/M2/MSR/AsamHdo/SpecialData.py +1 -4
  86. armodel/models/M2/MSR/AsamHdo/Units.py +3 -6
  87. armodel/models/M2/MSR/AsamHdo/__init__.py +0 -1
  88. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +3 -7
  89. armodel/models/M2/MSR/CalibrationData/__init__.py +0 -1
  90. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +3 -6
  91. armodel/models/M2/MSR/DataDictionary/Axis.py +3 -3
  92. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +3 -3
  93. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +5 -6
  94. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +4 -4
  95. armodel/models/M2/MSR/DataDictionary/__init__.py +0 -1
  96. armodel/models/M2/MSR/Documentation/Annotation.py +4 -6
  97. armodel/models/M2/MSR/Documentation/BlockElements.py +2 -2
  98. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +1 -2
  99. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +3 -6
  100. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -2
  101. armodel/models/M2/MSR/Documentation/__init__.py +1 -1
  102. armodel/models/M2/MSR/__init__.py +1 -1
  103. armodel/models/M2/__init__.py +0 -1
  104. armodel/models/__init__.py +57 -3
  105. armodel/parser/abstract_arxml_parser.py +50 -16
  106. armodel/parser/arxml_parser.py +285 -112
  107. armodel/parser/file_parser.py +2 -1
  108. armodel/report/connector_xls_report.py +2 -1
  109. armodel/tests/test_armodel/models/test_ar_object.py +0 -2
  110. armodel/tests/test_armodel/models/test_ar_package.py +4 -4
  111. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  112. armodel/tests/test_armodel/models/test_datatype.py +7 -7
  113. armodel/tests/test_armodel/models/test_port_interface.py +6 -6
  114. armodel/tests/test_armodel/parser/test_parse_bswmd.py +12 -12
  115. armodel/tests/test_armodel/parser/test_sw_components.py +1 -23
  116. armodel/tests/test_armodel/parser/test_system.py +3 -3
  117. armodel/writer/abstract_arxml_writer.py +10 -1
  118. armodel/writer/arxml_writer.py +249 -80
  119. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/METADATA +385 -366
  120. armodel-1.7.0.dist-info/RECORD +160 -0
  121. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/WHEEL +1 -1
  122. armodel/models/M2/AUTOSARTemplates/SystemTemplate/transport_protocols.py +0 -7
  123. armodel/models/fibex/fibex_core/core_topology.py +0 -184
  124. armodel/models/sw_component.py +0 -390
  125. armodel/models/timing.py +0 -91
  126. armodel-1.6.3.dist-info/RECORD +0 -148
  127. /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
  128. /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
  129. /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
  130. /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
  131. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/LICENSE +0 -0
  132. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/entry_points.txt +0 -0
  133. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,223 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, RefType, TimeValue
2
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
3
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import CanCommunicationConnector, CanCommunicationController
4
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
5
+ from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
6
+ from typing import List
7
+
8
+ class EcuInstance(FibexElement):
9
+ def __init__(self, parent, short_name):
10
+ super().__init__(parent, short_name)
11
+
12
+ self.associatedComIPduGroupRefs = [] # type: List[RefType]
13
+ self.associatedConsumedProvidedServiceInstanceGroupRefs = [] # type: List[RefType]
14
+ self.associatedPdurIPduGroupRefs = [] # type: List[RefType]
15
+ self.channelSynchronousWakeup = None # type: Boolean
16
+ self.clientIdRange = None # type: ClientIdRange
17
+ self.comConfigurationGwTimeBase = None # type: TimeValue
18
+ self.comConfigurationRxTimeBase = None # type: TimeValue
19
+ self.comConfigurationTxTimeBase = None # type: TimeValue
20
+ self.comEnableMDTForCyclicTransmission = None # type: Boolean
21
+ self.commControllers = [] # type: List[CommunicationController]
22
+ self.connectors = [] # type: List[CommunicationConnector]
23
+ self.dltConfig = None # type: DltConfig
24
+ self.doIpConfig = None # type: DoIpConfig
25
+ self.ecuTaskProxyRefs = [] # type: List[RefType]
26
+ self.ethSwitchPortGroupDerivation = None # type: Boolean
27
+ self.firewallRuleRef = None # type: RefType
28
+ self.partitions = [] # type: List[EcuPartition]
29
+ self.pncNmRequest = None # type: Boolean
30
+ self.pncPrepareSleepTimer = None # type: TimeValue
31
+ self.pncSynchronousWakeup = None # type: Boolean
32
+ self.pnResetTime = None # type: TimeValue
33
+ self.sleepModeSupported = None # type: Boolean
34
+ self.tcpIpIcmpPropsRef = None # type: RefType
35
+ self.tcpIpPropsRef = None # type: RefType
36
+ self.v2xSupported = None # type: V2xSupportEnum
37
+ self.wakeUpOverBusSupported = None # type: Boolean
38
+
39
+ def getAssociatedComIPduGroupRefs(self):
40
+ return self.associatedComIPduGroupRefs
41
+
42
+ def addAssociatedComIPduGroupRef(self, value):
43
+ self.associatedComIPduGroupRefs.append(value)
44
+ return self
45
+
46
+ def getAssociatedConsumedProvidedServiceInstanceGroupRefs(self):
47
+ return self.associatedConsumedProvidedServiceInstanceGroupRefs
48
+
49
+ def addAssociatedConsumedProvidedServiceInstanceGroupRef(self, value):
50
+ self.associatedConsumedProvidedServiceInstanceGroupRefs.append(value)
51
+ return self
52
+
53
+ def getAssociatedPdurIPduGroupRefs(self):
54
+ return self.associatedPdurIPduGroupRefs
55
+
56
+ def addAssociatedPdurIPduGroupRef(self, value):
57
+ self.associatedPdurIPduGroupRefs.append(value)
58
+ return self
59
+
60
+ def getChannelSynchronousWakeup(self):
61
+ return self.channelSynchronousWakeup
62
+
63
+ def setChannelSynchronousWakeup(self, value):
64
+ self.channelSynchronousWakeup = value
65
+ return self
66
+
67
+ def getClientIdRange(self):
68
+ return self.clientIdRange
69
+
70
+ def setClientIdRange(self, value):
71
+ self.clientIdRange = value
72
+ return self
73
+
74
+ def getComConfigurationGwTimeBase(self):
75
+ return self.comConfigurationGwTimeBase
76
+
77
+ def setComConfigurationGwTimeBase(self, value):
78
+ self.comConfigurationGwTimeBase = value
79
+ return self
80
+
81
+ def getComConfigurationRxTimeBase(self):
82
+ return self.comConfigurationRxTimeBase
83
+
84
+ def setComConfigurationRxTimeBase(self, value):
85
+ self.comConfigurationRxTimeBase = value
86
+ return self
87
+
88
+ def getComConfigurationTxTimeBase(self):
89
+ return self.comConfigurationTxTimeBase
90
+
91
+ def setComConfigurationTxTimeBase(self, value):
92
+ self.comConfigurationTxTimeBase = value
93
+ return self
94
+
95
+ def getComEnableMDTForCyclicTransmission(self):
96
+ return self.comEnableMDTForCyclicTransmission
97
+
98
+ def setComEnableMDTForCyclicTransmission(self, value):
99
+ self.comEnableMDTForCyclicTransmission = value
100
+ return self
101
+
102
+ def getCommControllers(self):
103
+ return list(sorted(filter(lambda a: isinstance(a, CommunicationController), self.elements.values()), key= lambda o:o.short_name))
104
+
105
+ def createCanCommunicationController(self, short_name: str) -> CanCommunicationController:
106
+ if (short_name not in self.elements):
107
+ controller = CanCommunicationController(self, short_name)
108
+ self.elements[short_name] = controller
109
+ return self.elements[short_name]
110
+
111
+ def getConnectors(self):
112
+ return list(sorted(filter(lambda a: isinstance(a, CommunicationConnector), self.elements.values()), key= lambda o:o.short_name))
113
+
114
+ def createCanCommunicationConnector(self, short_name: str) -> CanCommunicationConnector:
115
+ if (short_name not in self.elements):
116
+ controller = CanCommunicationConnector(self, short_name)
117
+ self.elements[short_name] = controller
118
+ return self.elements[short_name]
119
+
120
+ def getDltConfig(self):
121
+ return self.dltConfig
122
+
123
+ def setDltConfig(self, value):
124
+ self.dltConfig = value
125
+ return self
126
+
127
+ def getDoIpConfig(self):
128
+ return self.doIpConfig
129
+
130
+ def setDoIpConfig(self, value):
131
+ self.doIpConfig = value
132
+ return self
133
+
134
+ def getEcuTaskProxyRefs(self):
135
+ return self.ecuTaskProxyRefs
136
+
137
+ def setEcuTaskProxyRefs(self, value):
138
+ self.ecuTaskProxyRefs = value
139
+ return self
140
+
141
+ def getEthSwitchPortGroupDerivation(self):
142
+ return self.ethSwitchPortGroupDerivation
143
+
144
+ def setEthSwitchPortGroupDerivation(self, value):
145
+ self.ethSwitchPortGroupDerivation = value
146
+ return self
147
+
148
+ def getFirewallRuleRef(self):
149
+ return self.firewallRuleRef
150
+
151
+ def setFirewallRuleRef(self, value):
152
+ self.firewallRuleRef = value
153
+ return self
154
+
155
+ def getPartitions(self):
156
+ return self.partitions
157
+
158
+ def addPartition(self, value):
159
+ self.partitions.append(value)
160
+ return self
161
+
162
+ def getPncNmRequest(self):
163
+ return self.pncNmRequest
164
+
165
+ def setPncNmRequest(self, value):
166
+ self.pncNmRequest = value
167
+ return self
168
+
169
+ def getPncPrepareSleepTimer(self):
170
+ return self.pncPrepareSleepTimer
171
+
172
+ def setPncPrepareSleepTimer(self, value):
173
+ self.pncPrepareSleepTimer = value
174
+ return self
175
+
176
+ def getPncSynchronousWakeup(self):
177
+ return self.pncSynchronousWakeup
178
+
179
+ def setPncSynchronousWakeup(self, value):
180
+ self.pncSynchronousWakeup = value
181
+ return self
182
+
183
+ def getPnResetTime(self):
184
+ return self.pnResetTime
185
+
186
+ def setPnResetTime(self, value):
187
+ self.pnResetTime = value
188
+ return self
189
+
190
+ def getSleepModeSupported(self):
191
+ return self.sleepModeSupported
192
+
193
+ def setSleepModeSupported(self, value):
194
+ self.sleepModeSupported = value
195
+ return self
196
+
197
+ def getTcpIpIcmpPropsRef(self):
198
+ return self.tcpIpIcmpPropsRef
199
+
200
+ def setTcpIpIcmpPropsRef(self, value):
201
+ self.tcpIpIcmpPropsRef = value
202
+ return self
203
+
204
+ def getTcpIpPropsRef(self):
205
+ return self.tcpIpPropsRef
206
+
207
+ def setTcpIpPropsRef(self, value):
208
+ self.tcpIpPropsRef = value
209
+ return self
210
+
211
+ def getV2xSupported(self):
212
+ return self.v2xSupported
213
+
214
+ def setV2xSupported(self, value):
215
+ self.v2xSupported = value
216
+ return self
217
+
218
+ def getWakeUpOverBusSupported(self):
219
+ return self.wakeUpOverBusSupported
220
+
221
+ def setWakeUpOverBusSupported(self, value):
222
+ self.wakeUpOverBusSupported = value
223
+ return self
@@ -0,0 +1,177 @@
1
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable
2
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType, TimeValue
4
+
5
+ class ModeDrivenTransmissionModeCondition(ARObject):
6
+ def __init__(self):
7
+ super().__init__()
8
+
9
+ self.modeDeclarationRef = None # type: RefType
10
+
11
+ def getModeDeclarationRef(self):
12
+ return self.modeDeclarationRef
13
+
14
+ def setModeDeclarationRef(self, value):
15
+ self.modeDeclarationRef = value
16
+ return self
17
+
18
+ class TransmissionModeCondition(ARObject):
19
+ def __init__(self):
20
+ super().__init__()
21
+
22
+ self.dataFilter = None # type: DataFilter
23
+ self.iSignalInIPduRef = None # type: RefType
24
+
25
+ def getDataFilter(self):
26
+ return self.dataFilter
27
+
28
+ def setDataFilter(self, value):
29
+ self.dataFilter = value
30
+ return self
31
+
32
+ def getISignalInIPduRef(self):
33
+ return self.iSignalInIPduRef
34
+
35
+ def setISignalInIPduRef(self, value):
36
+ self.iSignalInIPduRef = value
37
+ return self
38
+
39
+
40
+ class TimeRangeType(ARObject):
41
+ def __init__(self):
42
+ super().__init__()
43
+
44
+ # type: TimeRangeTypeTolerance
45
+ self.tolerance = None
46
+ self.value = None # type: TimeValue
47
+
48
+ def getTolerance(self):
49
+ return self.tolerance
50
+
51
+ def setTolerance(self, value):
52
+ self.tolerance = value
53
+ return self
54
+
55
+ def getValue(self):
56
+ return self.value
57
+
58
+ def setValue(self, value):
59
+ self.value = value
60
+ return self
61
+
62
+
63
+ class CyclicTiming(Describable):
64
+ def __init__(self):
65
+ super().__init__()
66
+
67
+ self.timeOffset = None # type: TimeRangeType
68
+ self.timePeriod = None # type: TimeRangeType
69
+
70
+ def getTimeOffset(self):
71
+ return self.timeOffset
72
+
73
+ def setTimeOffset(self, value):
74
+ self.timeOffset = value
75
+ return self
76
+
77
+ def getTimePeriod(self):
78
+ return self.timePeriod
79
+
80
+ def setTimePeriod(self, value):
81
+ self.timePeriod = value
82
+ return self
83
+
84
+
85
+ class EventControlledTiming(Describable):
86
+ def __init__(self):
87
+ super().__init__()
88
+
89
+ self.numberOfRepetitions = None # type: Integer
90
+ self.repetitionPeriod = None # type: TimeRangeType
91
+
92
+ def getNumberOfRepetitions(self):
93
+ return self.numberOfRepetitions
94
+
95
+ def setNumberOfRepetitions(self, value):
96
+ self.numberOfRepetitions = value
97
+ return self
98
+
99
+ def getRepetitionPeriod(self):
100
+ return self.repetitionPeriod
101
+
102
+ def setRepetitionPeriod(self, value):
103
+ self.repetitionPeriod = value
104
+ return self
105
+
106
+
107
+ class TransmissionModeTiming(ARObject):
108
+ def __init__(self):
109
+ super().__init__()
110
+
111
+ self.cyclicTiming = None # type: CyclicTiming
112
+ # type: EventControlledTiming
113
+ self.eventControlledTiming = None
114
+
115
+ def getCyclicTiming(self):
116
+ return self.cyclicTiming
117
+
118
+ def setCyclicTiming(self, value):
119
+ self.cyclicTiming = value
120
+ return self
121
+
122
+ def getEventControlledTiming(self):
123
+ return self.eventControlledTiming
124
+
125
+ def setEventControlledTiming(self, value):
126
+ self.eventControlledTiming = value
127
+ return self
128
+
129
+ class TransmissionModeDeclaration(ARObject):
130
+ def __init__(self):
131
+ super().__init__()
132
+
133
+ # type: ModeDrivenTransmissionModeCondition
134
+ self.modeDrivenFalseConditions = []
135
+ # type: ModeDrivenTransmissionModeCondition
136
+ self.modeDrivenTrueConditions = []
137
+ # type: TransmissionModeCondition
138
+ self.transmissionModeConditions = []
139
+ # type: TransmissionModeTiming
140
+ self.transmissionModeFalseTiming = None
141
+ # type: TransmissionModeTiming
142
+ self.transmissionModeTrueTiming = None
143
+
144
+ def getModeDrivenFalseConditions(self):
145
+ return self.modeDrivenFalseConditions
146
+
147
+ def addModeDrivenFalseCondition(self, value):
148
+ self.modeDrivenFalseConditions.append(value)
149
+ return self
150
+
151
+ def getModeDrivenTrueConditions(self):
152
+ return self.modeDrivenTrueConditions
153
+
154
+ def addModeDrivenTrueCondition(self, value):
155
+ self.modeDrivenTrueConditions.append(value)
156
+ return self
157
+
158
+ def getTransmissionModeConditions(self):
159
+ return self.transmissionModeConditions
160
+
161
+ def addTransmissionModeCondition(self, value):
162
+ self.transmissionModeConditions.append(value)
163
+ return self
164
+
165
+ def getTransmissionModeFalseTiming(self):
166
+ return self.transmissionModeFalseTiming
167
+
168
+ def setTransmissionModeFalseTiming(self, value):
169
+ self.transmissionModeFalseTiming = value
170
+ return self
171
+
172
+ def getTransmissionModeTrueTiming(self):
173
+ return self.transmissionModeTrueTiming
174
+
175
+ def setTransmissionModeTrueTiming(self, value):
176
+ self.transmissionModeTrueTiming = value
177
+ return self
@@ -1,6 +1,6 @@
1
1
  from typing import List
2
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
3
- from ..GenericStructure.AbstractStructure import AtpInstanceRef
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
3
+ from ....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpInstanceRef
4
4
 
5
5
  class VariableDataPrototypeInSystemInstanceRef(AtpInstanceRef):
6
6
  def __init__(self):
@@ -46,3 +46,40 @@ class VariableDataPrototypeInSystemInstanceRef(AtpInstanceRef):
46
46
  def setTargetDataPrototypeRef(self, value):
47
47
  self.targetDataPrototypeRef = value
48
48
  return self
49
+
50
+ class ComponentInSystemInstanceRef(AtpInstanceRef):
51
+ def __init__(self):
52
+ super().__init__()
53
+
54
+ self.baseRef = None # type: RefType
55
+ self.contextComponentRefs = [] # type: List[RefType]
56
+ self.contextCompositionRef = None # type: RefType
57
+ self.targetComponentRef = None # type: RefType
58
+
59
+ def getBaseRef(self):
60
+ return self.baseRef
61
+
62
+ def setBaseRef(self, value):
63
+ self.baseRef = value
64
+ return self
65
+
66
+ def getContextComponentRefs(self):
67
+ return self.contextComponentRefs
68
+
69
+ def addContextComponentRef(self, value):
70
+ self.contextComponentRefs.append(value)
71
+ return self
72
+
73
+ def getContextCompositionRef(self):
74
+ return self.contextCompositionRef
75
+
76
+ def setContextCompositionRef(self, value):
77
+ self.contextCompositionRef = value
78
+ return self
79
+
80
+ def getTargetComponentRef(self):
81
+ return self.targetComponentRef
82
+
83
+ def setTargetComponentRef(self, value):
84
+ self.targetComponentRef = value
85
+ return self
@@ -1,15 +1,10 @@
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.GeneralTemplateClasses.PrimitiveTypes import RefType
9
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
10
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
11
- from ....fibex.fibex_core.core_communication import FibexElement
12
- from ....fibex.can_communication import RxIdentifierRange
3
+ from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import RxIdentifierRange
4
+ from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical, RefType, ARBoolean
7
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
13
8
 
14
9
  class NmClusterCoupling(ARObject, metaclass = ABCMeta):
15
10
  def __init__(self):
@@ -0,0 +1,6 @@
1
+ from ....M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+
4
+ class CanTpConfig(FibexElement):
5
+ def __init__(self, parent: ARObject, short_name: str):
6
+ super().__init__(parent, short_name)
@@ -1,13 +1,48 @@
1
-
2
1
  from typing import List
2
+ from ....M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, TRefType
6
+
7
+ class SwcToEcuMapping(Identifiable):
8
+ def __init__(self, parent: ARObject, short_name: str):
9
+ super().__init__(parent, short_name)
10
+
11
+ self.componentIRefs = [] # type: List[ComponentInSystemInstanceRef]
12
+ self.controlledHwElementRef = None # type: RefType
13
+ self.ecuInstanceRef = None # type: RefType
14
+ self.processingUnitRef = None # type: RefType
15
+
16
+ def getComponentIRefs(self):
17
+ return self.componentIRefs
18
+
19
+ def addComponentIRef(self, value):
20
+ self.componentIRefs.append(value)
21
+ return self
3
22
 
4
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
23
+ def getControlledHwElementRef(self):
24
+ return self.controlledHwElementRef
5
25
 
6
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
7
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
26
+ def setControlledHwElementRef(self, value):
27
+ self.controlledHwElementRef = value
28
+ return self
29
+
30
+ def getEcuInstanceRef(self):
31
+ return self.ecuInstanceRef
32
+
33
+ def setEcuInstanceRef(self, value):
34
+ self.ecuInstanceRef = value
35
+ return self
36
+
37
+ def getProcessingUnitRef(self):
38
+ return self.processingUnitRef
39
+
40
+ def setProcessingUnitRef(self, value):
41
+ self.processingUnitRef = value
42
+ return self
8
43
 
9
44
  class SystemMapping(Identifiable):
10
- def __init__(self, parent, short_name):
45
+ def __init__(self, parent: ARObject, short_name: str):
11
46
  super().__init__(parent, short_name)
12
47
 
13
48
  self.applicationPartitionToEcuPartitionMappings = []
@@ -31,7 +66,7 @@ class SystemMapping(Identifiable):
31
66
  self.swClusterMappings = []
32
67
  self.swcToApplicationPartitionMappings = []
33
68
  self.swImplMappings = []
34
- self.swMappings = []
69
+ self.swMappings = [] # type: List[SwcToEcuMapping]
35
70
  self.systemSignalGroupToComResourceMappings = []
36
71
  self.systemSignalToComResourceMappings = []
37
72
 
@@ -185,9 +220,12 @@ class SystemMapping(Identifiable):
185
220
  def getSwMappings(self):
186
221
  return self.swMappings
187
222
 
188
- def addSwMapping(self, value):
189
- self.swMappings.append(value)
190
- return self
223
+ def createSwcToEcuMapping(self, short_name: str) -> SwcToEcuMapping:
224
+ if short_name not in self.elements:
225
+ mapping = SwcToEcuMapping(self, short_name)
226
+ self.addElement(mapping)
227
+ self.swMappings.append(mapping)
228
+ return self.getElement(short_name)
191
229
 
192
230
  def getSystemSignalGroupToComResourceMappings(self):
193
231
  return self.systemSignalGroupToComResourceMappings
@@ -203,9 +241,37 @@ class SystemMapping(Identifiable):
203
241
  self.systemSignalToComResourceMappings.append(value)
204
242
  return self
205
243
 
244
+ class RootSwCompositionPrototype(Identifiable):
245
+ def __init__(self, parent: ARObject, short_name: str):
246
+ super().__init__(parent, short_name)
247
+
248
+ self.calibrationParameterValueSetRef = None # type: RefType
249
+ self.flatMapRef = None # type: RefType
250
+ self.softwareCompositionTRef = None # type: TRefType
251
+
252
+ def getCalibrationParameterValueSetRef(self):
253
+ return self.calibrationParameterValueSetRef
254
+
255
+ def setCalibrationParameterValueSetRef(self, value):
256
+ self.calibrationParameterValueSetRef = value
257
+ return self
258
+
259
+ def getFlatMapRef(self):
260
+ return self.flatMapRef
261
+
262
+ def setFlatMapRef(self, value):
263
+ self.flatMapRef = value
264
+ return self
265
+
266
+ def getSoftwareCompositionTRef(self):
267
+ return self.softwareCompositionTRef
268
+
269
+ def setSoftwareCompositionTRef(self, value):
270
+ self.softwareCompositionTRef = value
271
+ return self
206
272
 
207
273
  class System(ARElement):
208
- def __init__(self, parent, short_name):
274
+ def __init__(self, parent: ARObject, short_name: str):
209
275
  super().__init__(parent, short_name)
210
276
 
211
277
  self.clientIdDefinitionSetRefs = [] # type: List[RefType]
@@ -215,12 +281,12 @@ class System(ARElement):
215
281
  self.interpolationRoutineMappingSetRefs = [] # type: List[RefType]
216
282
  self.j1939SharedAddressClusters = []
217
283
  self.mappings = [] # type: List[SystemMapping]
218
- self.pncVectorLength = None
219
- self.pncVectorOffset = None
220
- self.rootSoftwareComposition = None
284
+ self.pncVectorLength = None # type: PositiveInteger
285
+ self.pncVectorOffset = None # type: PositiveInteger
286
+ self.rootSoftwareComposition = None # type: RootSwCompositionPrototype
221
287
  self.swClusters = []
222
288
  self.systemDocumentation = []
223
- self.systemVersion = None
289
+ self.systemVersion = None # type: RevisionLabelString
224
290
 
225
291
  def getClientIdDefinitionSetRefs(self):
226
292
  return self.clientIdDefinitionSetRefs
@@ -290,9 +356,12 @@ class System(ARElement):
290
356
  def getRootSoftwareComposition(self):
291
357
  return self.rootSoftwareComposition
292
358
 
293
- def setRootSoftwareComposition(self, value):
294
- self.rootSoftwareComposition = value
295
- return self
359
+ def createRootSoftwareComposition(self, short_name) -> RootSwCompositionPrototype:
360
+ if short_name not in self.elements:
361
+ prototype = RootSwCompositionPrototype(self, short_name)
362
+ self.addElement(prototype)
363
+ self.rootSoftwareComposition = prototype
364
+ return self.getElement(short_name)
296
365
 
297
366
  def getSwClusters(self):
298
367
  return self.swClusters
@@ -1,10 +1,7 @@
1
- from armodel.models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from armodel.models.M2.MSR.AsamHdo.SpecialData import Sdg
3
-
4
-
1
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from ....M2.MSR.AsamHdo.SpecialData import Sdg
5
3
  from typing import List
6
4
 
7
-
8
5
  class AdminData(ARObject):
9
6
  def __init__(self):
10
7
  super().__init__()
@@ -1,7 +1,7 @@
1
1
  from abc import ABCMeta
2
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
4
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical
5
5
 
6
6
  class BaseTypeDefinition(ARObject):
7
7
  def __init__(self):
@@ -1,11 +1,10 @@
1
1
  from typing import List
2
2
  from abc import ABCMeta
3
-
4
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
5
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
6
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
7
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
8
- from ...AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
7
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Limit
9
8
 
10
9
  class CompuContent(ARObject, metaclass=ABCMeta):
11
10
  def __init__(self):