armodel 1.6.2__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.
- armodel/cli/arxml_dump_cli.py +13 -10
- armodel/cli/arxml_format_cli.py +1 -2
- armodel/cli/connector2xlsx_cli.py +2 -3
- armodel/cli/connector_update_cli.py +2 -5
- armodel/cli/memory_section_cli.py +2 -2
- armodel/cli/swc_list_cli.py +2 -3
- armodel/cli/system_signal_cli.py +2 -2
- armodel/lib/sw_component.py +3 -3
- armodel/lib/system_signal.py +3 -5
- armodel/models/{m2/autosar_templates/autosar_top_level_structure.py → M2/AUTOSARTemplates/AutosarTopLevelStructure.py} +5 -7
- armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +113 -140
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +60 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +77 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +238 -0
- armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +7 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +119 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +69 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +20 -0
- armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +13 -9
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +35 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +24 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
- armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +4 -3
- armodel/models/{m2/autosar_templates/ecuc_description_template.py → M2/AUTOSARTemplates/ECUCDescriptionTemplate.py} +6 -7
- armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -5
- armodel/models/{m2/autosar_templates/generic_structure/ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +41 -29
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +16 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +1 -0
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +52 -0
- armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +42 -159
- armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +179 -71
- armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py +1 -0
- armodel/models/{m2/autosar_templates/sw_component_template/communication.py → M2/AUTOSARTemplates/SWComponentTemplate/Communication.py} +22 -5
- armodel/models/{m2/autosar_templates/sw_component_template/components/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py} +2 -4
- armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +114 -10
- armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +96 -0
- armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +24 -8
- armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -73
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
- armodel/models/{m2/autosar_templates/sw_component_template/port_interface/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/port_interface → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface}/__init__.py +10 -6
- armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +34 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py} +7 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +24 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py} +3 -3
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py} +4 -4
- armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +57 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +8 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +358 -0
- armodel/models/{m2/autosar_templates/system_template/data_mapping.py → M2/AUTOSARTemplates/SystemTemplate/DataMapping.py} +2 -3
- armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -3
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +14 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +116 -0
- armodel/models/{fibex/lin_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py} +5 -2
- armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -4
- armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +4 -6
- armodel/models/{fibex/fibex_core/core_topology.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py} +6 -7
- armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/system_template/network_management.py → M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py} +5 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +3 -4
- armodel/models/M2/MSR/AsamHdo/AdminData.py +18 -0
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
- armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +43 -28
- armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +6 -4
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +60 -0
- armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +3 -3
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +26 -0
- armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +3 -4
- armodel/models/M2/MSR/DataDictionary/Axis.py +145 -0
- armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +37 -0
- armodel/models/{m2/msr/data_dictionary/data_def_properties.py → M2/MSR/DataDictionary/DataDefProperties.py} +19 -10
- armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
- armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -10
- armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +16 -0
- armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +20 -32
- armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -0
- armodel/models/M2/MSR/Documentation/__init__.py +3 -0
- armodel/models/M2/MSR/__init__.py +1 -0
- armodel/models/M2/__init__.py +0 -0
- armodel/models/__init__.py +50 -24
- armodel/parser/abstract_arxml_parser.py +8 -4
- armodel/parser/arxml_parser.py +117 -90
- armodel/parser/connector_xlsx_parser.py +5 -3
- armodel/parser/file_parser.py +2 -1
- armodel/report/connector_xls_report.py +3 -2
- armodel/tests/test_armodel/models/test_ar_object.py +2 -3
- armodel/tests/test_armodel/models/test_ar_package.py +21 -9
- armodel/tests/test_armodel/models/test_ar_ref.py +7 -5
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -1
- armodel/tests/test_armodel/models/test_common_structure.py +11 -5
- armodel/tests/test_armodel/models/test_data_dictionary.py +2 -2
- armodel/tests/test_armodel/models/test_data_prototype.py +8 -4
- armodel/tests/test_armodel/models/test_datatype.py +28 -14
- armodel/tests/test_armodel/models/test_general_structure.py +12 -2
- armodel/tests/test_armodel/models/test_implementation.py +3 -2
- armodel/tests/test_armodel/models/test_m2_msr.py +4 -2
- armodel/tests/test_armodel/models/test_port_interface.py +21 -11
- armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +13 -13
- armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
- armodel/tests/test_armodel/parser/test_system.py +30 -0
- armodel/writer/abstract_arxml_writer.py +5 -2
- armodel/writer/arxml_writer.py +136 -91
- {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/METADATA +16 -1
- armodel-1.6.4.dist-info/RECORD +156 -0
- armodel/lib/data_analyzer.py +0 -34
- armodel/models/ar_package.py +0 -641
- armodel/models/ar_ref.py +0 -25
- armodel/models/calibration.py +0 -119
- armodel/models/common_structure.py +0 -272
- armodel/models/communication.py +0 -17
- armodel/models/data_def_properties.py +0 -16
- armodel/models/data_dictionary.py +0 -59
- armodel/models/data_prototype.py +0 -103
- armodel/models/end_to_end_protection.py +0 -67
- armodel/models/fibex/fibex_core.py +0 -341
- armodel/models/fibex/lin_topology.py +0 -7
- armodel/models/implementation.py +0 -135
- armodel/models/internal_behavior.py +0 -63
- armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
- armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +0 -154
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +0 -203
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +0 -10
- armodel/models/m2/autosar_templates/system_template/transport_protocols.py +0 -7
- armodel/models/mode_declaration.py +0 -8
- armodel/models/port_interface.py +0 -165
- armodel/models/port_prototype.py +0 -6
- armodel/models/service_mapping.py +0 -11
- armodel/models/sw_component.py +0 -385
- armodel/models/system_template/network_management.py +0 -7
- armodel/models/system_template/transport_protocols.py +0 -7
- armodel/models/timing.py +0 -91
- armodel/models/unit.py +0 -14
- armodel-1.6.2.dist-info/RECORD +0 -142
- /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses}/__init__.py +0 -0
- /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate/Datatype}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates/generic_structure → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates/sw_component_template/data_type → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin}/__init__.py +0 -0
- /armodel/models/{m2/msr → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore}/__init__.py +0 -0
- /armodel/models/{m2/msr/asam_hdo → M2/AUTOSARTemplates/SystemTemplate/Fibex}/__init__.py +0 -0
- /armodel/models/{m2/msr/data_dictionary → M2/AUTOSARTemplates}/__init__.py +0 -0
- /armodel/models/{m2/msr/documentation → M2/MSR/AsamHdo/Constraints}/__init__.py +0 -0
- /armodel/models/{system_template → M2/MSR/AsamHdo}/__init__.py +0 -0
- /armodel/models/{ecuc_parameter_def_template.py → M2/MSR/CalibrationData/__init__.py} +0 -0
- /armodel/models/{m2/autosar_templates/common_structure/constants.py → M2/MSR/DataDictionary/__init__.py} +0 -0
- {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/LICENSE +0 -0
- {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/WHEEL +0 -0
- {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/top_level.txt +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
from typing import List
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
from .....
|
|
7
|
-
from .....
|
|
8
|
-
from .....
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from .
|
|
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
|
|
12
12
|
|
|
13
13
|
class SymbolProps(ImplementationProps):
|
|
14
14
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -210,7 +210,7 @@ class PortGroup(Identifiable):
|
|
|
210
210
|
def getOuterPortRefs(self) -> List[RefType]:
|
|
211
211
|
return self._outer_port_ref
|
|
212
212
|
|
|
213
|
-
class SwComponentType(ARElement,
|
|
213
|
+
class SwComponentType(ARElement, metaclass = ABCMeta):
|
|
214
214
|
def __init__(self, parent: ARObject, short_name: str):
|
|
215
215
|
super().__init__(parent, short_name)
|
|
216
216
|
|
|
@@ -244,3 +244,107 @@ class SwComponentType(ARElement, metaclass = ABCMeta):
|
|
|
244
244
|
def getPortGroups(self) -> List[PortGroup]:
|
|
245
245
|
return list(sorted(filter(lambda c: isinstance(c, PortGroup), self.elements.values()), key= lambda o: o.short_name))
|
|
246
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 .....
|
|
5
|
-
from ...generic_structure.abstract_structure 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):
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import PPortInCompositionInstanceRef, PortInCompositionTypeInstanceRef, RPortInCompositionInstanceRef
|
|
3
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
4
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
6
|
+
|
|
7
|
+
class SwComponentPrototype(Identifiable):
|
|
8
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
9
|
+
super().__init__(parent, short_name)
|
|
10
|
+
|
|
11
|
+
self.typeTRef = None # type: RefType
|
|
12
|
+
|
|
13
|
+
def getTypeTRef(self):
|
|
14
|
+
return self.typeTRef
|
|
15
|
+
|
|
16
|
+
def setTypeTRef(self, value):
|
|
17
|
+
self.typeTRef = value
|
|
18
|
+
return self
|
|
19
|
+
|
|
20
|
+
class SwConnector(Identifiable, metaclass = ABCMeta):
|
|
21
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
22
|
+
super().__init__(parent, short_name)
|
|
23
|
+
|
|
24
|
+
self.mappingRef = None # type: RefType
|
|
25
|
+
|
|
26
|
+
def getMappingRef(self):
|
|
27
|
+
return self.mappingRef
|
|
28
|
+
|
|
29
|
+
def setMappingRef(self, value):
|
|
30
|
+
self.mappingRef = value
|
|
31
|
+
return self
|
|
32
|
+
|
|
33
|
+
class AssemblySwConnector(SwConnector):
|
|
34
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
35
|
+
super().__init__(parent, short_name)
|
|
36
|
+
|
|
37
|
+
self.providerIRef = None # type: PPortInCompositionInstanceRef
|
|
38
|
+
self.requesterIRef = None # type: RPortInCompositionInstanceRef
|
|
39
|
+
|
|
40
|
+
def getProviderIRef(self) -> PPortInCompositionInstanceRef:
|
|
41
|
+
return self.providerIRef
|
|
42
|
+
|
|
43
|
+
def setProviderIRef(self, value: PPortInCompositionInstanceRef):
|
|
44
|
+
self.providerIRef = value
|
|
45
|
+
return self
|
|
46
|
+
|
|
47
|
+
def getRequesterIRef(self) -> PPortInCompositionInstanceRef:
|
|
48
|
+
return self.requesterIRef
|
|
49
|
+
|
|
50
|
+
def setRequesterIRef(self, value: PPortInCompositionInstanceRef):
|
|
51
|
+
self.requesterIRef = value
|
|
52
|
+
return self
|
|
53
|
+
|
|
54
|
+
class DelegationSwConnector(SwConnector):
|
|
55
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
56
|
+
super().__init__(parent, short_name)
|
|
57
|
+
|
|
58
|
+
self.innerPortIRref = None # type: PortInCompositionTypeInstanceRef
|
|
59
|
+
self.outerPortRef = None # type: RefType
|
|
60
|
+
|
|
61
|
+
def getInnerPortIRref(self):
|
|
62
|
+
return self.innerPortIRref
|
|
63
|
+
|
|
64
|
+
def setInnerPortIRref(self, value):
|
|
65
|
+
self.innerPortIRref = value
|
|
66
|
+
return self
|
|
67
|
+
|
|
68
|
+
def getOuterPortRef(self):
|
|
69
|
+
return self.outerPortRef
|
|
70
|
+
|
|
71
|
+
def setOuterPortRef(self, value):
|
|
72
|
+
self.outerPortRef = value
|
|
73
|
+
return self
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class PassThroughSwConnector(SwConnector):
|
|
77
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
78
|
+
super().__init__(parent, short_name)
|
|
79
|
+
|
|
80
|
+
self.providedOuterPortRef = None # type: RefType
|
|
81
|
+
self.requiredOuterPortRef = None # type: RefType
|
|
82
|
+
|
|
83
|
+
def getProvidedOuterPortRef(self):
|
|
84
|
+
return self.providedOuterPortRef
|
|
85
|
+
|
|
86
|
+
def setProvidedOuterPortRef(self, value):
|
|
87
|
+
self.providedOuterPortRef = value
|
|
88
|
+
return self
|
|
89
|
+
|
|
90
|
+
def getRequiredOuterPortRef(self):
|
|
91
|
+
return self.requiredOuterPortRef
|
|
92
|
+
|
|
93
|
+
def setRequiredOuterPortRef(self, value):
|
|
94
|
+
self.requiredOuterPortRef = value
|
|
95
|
+
return self
|
|
96
|
+
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
-
|
|
3
|
-
from .....
|
|
4
|
-
from .....
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from .....
|
|
2
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, TRefType
|
|
4
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
5
|
+
from .....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
|
|
6
|
+
from .....M2.AUTOSARTemplates.CommonStructure import ValueSpecification
|
|
7
|
+
from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
|
|
8
8
|
|
|
9
9
|
class AtpPrototype(AtpFeature, metaclass = ABCMeta):
|
|
10
10
|
def __init__(self, parent:ARObject, short_name: str):
|
|
@@ -36,7 +36,7 @@ class AutosarDataPrototype(DataPrototype, metaclass = ABCMeta):
|
|
|
36
36
|
|
|
37
37
|
super().__init__(parent, short_name)
|
|
38
38
|
|
|
39
|
-
self.typeTRef = None
|
|
39
|
+
self.typeTRef = None # type: TRefType
|
|
40
40
|
|
|
41
41
|
def getTypeTRef(self):
|
|
42
42
|
return self.typeTRef
|
|
@@ -76,7 +76,7 @@ class ApplicationCompositeElementDataPrototype(DataPrototype, metaclass = ABCMet
|
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
class ApplicationArrayElement(ApplicationCompositeElementDataPrototype):
|
|
79
|
-
def __init__(self, parent:ARObject, short_name: str):
|
|
79
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
80
80
|
super().__init__(parent, short_name)
|
|
81
81
|
|
|
82
82
|
self.arraySizeHandling = None # type: str
|
|
@@ -84,6 +84,22 @@ class ApplicationArrayElement(ApplicationCompositeElementDataPrototype):
|
|
|
84
84
|
self.indexDataTypeRef = None # type: RefType
|
|
85
85
|
self.maxNumberOfElements = None # type: ARNumerical
|
|
86
86
|
|
|
87
|
+
def setArraySizeHandling(self, handling: str):
|
|
88
|
+
self.arraySizeHandling = handling
|
|
89
|
+
return self
|
|
90
|
+
|
|
91
|
+
def setArraySizeSemantics(self, semantics: str):
|
|
92
|
+
self.arraySizeSemantics = semantics
|
|
93
|
+
return self
|
|
94
|
+
|
|
95
|
+
def setIndexDataTypeRef(self, ref: RefType):
|
|
96
|
+
self.indexDataTypeRef = ref
|
|
97
|
+
return self
|
|
98
|
+
|
|
99
|
+
def setMaxNumberOfElements(self, number: ARNumerical):
|
|
100
|
+
self.maxNumberOfElements = number
|
|
101
|
+
return self
|
|
102
|
+
|
|
87
103
|
class ApplicationRecordElement(ApplicationCompositeElementDataPrototype):
|
|
88
104
|
def __init__(self, parent:ARObject, short_name: str):
|
|
89
105
|
super().__init__(parent, short_name)
|
armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py}
RENAMED
|
@@ -1,47 +1,12 @@
|
|
|
1
|
-
from abc import ABCMeta
|
|
2
1
|
from typing import List
|
|
3
|
-
|
|
4
|
-
from .
|
|
5
|
-
from .
|
|
6
|
-
from .
|
|
7
|
-
from .
|
|
8
|
-
from .
|
|
9
|
-
from .
|
|
10
|
-
|
|
11
|
-
class BaseTypeDefinition(ARObject):
|
|
12
|
-
def __init__(self):
|
|
13
|
-
super().__init__()
|
|
14
|
-
|
|
15
|
-
class BaseTypeDirectDefinition(BaseTypeDefinition):
|
|
16
|
-
def __init__(self):
|
|
17
|
-
super().__init__()
|
|
18
|
-
|
|
19
|
-
self.base_type_encoding = None
|
|
20
|
-
self.base_type_size = None # type: ARNumerical
|
|
21
|
-
self.byteOrder = None # type: str
|
|
22
|
-
self.mem_alignment = None # type: ARNumerical
|
|
23
|
-
self.native_declaration = None
|
|
24
|
-
|
|
25
|
-
class BaseType(ARElement, metaclass=ABCMeta):
|
|
26
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
27
|
-
if type(self) == BaseType:
|
|
28
|
-
raise NotImplementedError("BaseType is an abstract class.")
|
|
29
|
-
|
|
30
|
-
super().__init__(parent, short_name)
|
|
31
|
-
|
|
32
|
-
self.baseTypeDefinition = BaseTypeDirectDefinition()
|
|
33
|
-
|
|
34
|
-
class SwBaseType(BaseType):
|
|
35
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
36
|
-
super().__init__(parent, short_name)
|
|
37
|
-
|
|
38
|
-
class AtpType(ARElement, metaclass=ABCMeta):
|
|
39
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
40
|
-
if type(self) == AtpType:
|
|
41
|
-
raise NotImplementedError("AtpType is an abstract class.")
|
|
42
|
-
|
|
43
|
-
super().__init__(parent, short_name)
|
|
44
|
-
|
|
2
|
+
from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeRequestTypeMap
|
|
3
|
+
from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
|
|
4
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
|
|
6
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType
|
|
7
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ApplicationArrayElement, ApplicationRecordElement
|
|
8
|
+
from .....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
|
|
9
|
+
from abc import ABCMeta
|
|
45
10
|
|
|
46
11
|
class AutosarDataType(AtpType, metaclass = ABCMeta):
|
|
47
12
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -59,6 +24,7 @@ class AutosarDataType(AtpType, metaclass = ABCMeta):
|
|
|
59
24
|
self.swDataDefProps = value
|
|
60
25
|
return self
|
|
61
26
|
|
|
27
|
+
|
|
62
28
|
class ApplicationDataType(AutosarDataType, metaclass = ABCMeta):
|
|
63
29
|
def __init__(self, parent: ARObject, short_name: str):
|
|
64
30
|
if type(self) == ApplicationDataType:
|
|
@@ -79,30 +45,6 @@ class ApplicationCompositeDataType(ApplicationDataType, metaclass=ABCMeta):
|
|
|
79
45
|
|
|
80
46
|
super().__init__(parent, short_name)
|
|
81
47
|
|
|
82
|
-
class ApplicationArrayElement(ApplicationCompositeElementDataPrototype):
|
|
83
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
84
|
-
super().__init__(parent, short_name)
|
|
85
|
-
|
|
86
|
-
self.arraySizeHandling = None # type: str
|
|
87
|
-
self.arraySizeSemantics = None # type: str
|
|
88
|
-
self.indexDataTypeRef = None # type: RefType
|
|
89
|
-
self.maxNumberOfElements = None # type: ARNumerical
|
|
90
|
-
|
|
91
|
-
def setArraySizeHandling(self, handling: str):
|
|
92
|
-
self.arraySizeHandling = handling
|
|
93
|
-
return self
|
|
94
|
-
|
|
95
|
-
def setArraySizeSemantics(self, semantics: str):
|
|
96
|
-
self.arraySizeSemantics = semantics
|
|
97
|
-
return self
|
|
98
|
-
|
|
99
|
-
def setIndexDataTypeRef(self, ref: RefType):
|
|
100
|
-
self.indexDataTypeRef = ref
|
|
101
|
-
return self
|
|
102
|
-
|
|
103
|
-
def setMaxNumberOfElements(self, number: ARNumerical):
|
|
104
|
-
self.maxNumberOfElements = number
|
|
105
|
-
return self
|
|
106
48
|
|
|
107
49
|
class ApplicationArrayDataType(ApplicationCompositeDataType):
|
|
108
50
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -117,7 +59,8 @@ class ApplicationArrayDataType(ApplicationCompositeDataType):
|
|
|
117
59
|
self.elements[short_name] = array_element
|
|
118
60
|
self.element = self.elements[short_name]
|
|
119
61
|
return self.elements[short_name]
|
|
120
|
-
|
|
62
|
+
|
|
63
|
+
|
|
121
64
|
class ApplicationRecordDataType(ApplicationCompositeDataType):
|
|
122
65
|
def __init__(self, parent: ARObject, short_name: str):
|
|
123
66
|
super().__init__(parent, short_name)
|
|
@@ -134,16 +77,18 @@ class ApplicationRecordDataType(ApplicationCompositeDataType):
|
|
|
134
77
|
def getApplicationRecordElements(self) -> List[ApplicationRecordElement]:
|
|
135
78
|
return self.record_elements
|
|
136
79
|
|
|
80
|
+
|
|
137
81
|
class DataTypeMap(ARObject):
|
|
138
82
|
def __init__(self):
|
|
139
83
|
|
|
140
84
|
self.application_data_type_ref = None # type: RefType
|
|
141
85
|
self.implementation_data_type_ref = None # type: RefType
|
|
142
86
|
|
|
87
|
+
|
|
143
88
|
class DataTypeMappingSet(ARElement):
|
|
144
89
|
def __init__(self, parent: ARObject, short_name: str):
|
|
145
90
|
super().__init__(parent, short_name)
|
|
146
|
-
|
|
91
|
+
|
|
147
92
|
self._dataTypeMaps = [] # type: List[DataTypeMap]
|
|
148
93
|
self._modeRequestTypeMaps = [] # type: List[ModeRequestTypeMap]
|
|
149
94
|
|
|
@@ -152,11 +97,9 @@ class DataTypeMappingSet(ARElement):
|
|
|
152
97
|
|
|
153
98
|
def getDataTypeMaps(self) -> List[DataTypeMap]:
|
|
154
99
|
return self._dataTypeMaps
|
|
155
|
-
|
|
100
|
+
|
|
156
101
|
def addModeRequestTypeMap(self, map: ModeRequestTypeMap):
|
|
157
102
|
self._modeRequestTypeMaps.append(map)
|
|
158
103
|
|
|
159
104
|
def getModeRequestTypeMaps(self) -> List[ModeRequestTypeMap]:
|
|
160
|
-
return self._modeRequestTypeMaps
|
|
161
|
-
|
|
162
|
-
|
|
105
|
+
return self._modeRequestTypeMaps
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
2
|
+
from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, NameToken, PositiveInteger, RefType
|
|
4
|
+
from ..SystemTemplate.InstanceRefs import VariableDataPrototypeInSystemInstanceRef
|
|
5
|
+
from typing import List
|
|
6
|
+
|
|
7
|
+
class EndToEndDescription(ARObject):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
super().__init__()
|
|
10
|
+
|
|
11
|
+
self.category = None # type: NameToken
|
|
12
|
+
self.counterOffset = None # type: PositiveInteger
|
|
13
|
+
self.crcOffset = None # type: PositiveInteger
|
|
14
|
+
self.dataIds = [] # type: List[PositiveInteger]
|
|
15
|
+
self.dataIdMode = None # type: PositiveInteger
|
|
16
|
+
self.dataIdNibbleOffset = None # type: PositiveInteger
|
|
17
|
+
self.dataLength = None # type: PositiveInteger
|
|
18
|
+
self.maxDeltaCounterInit = None # type: PositiveInteger
|
|
19
|
+
self.maxNoNewOrRepeatedData = None # type: int
|
|
20
|
+
self.syncCounterInit = None # type: PositiveInteger
|
|
21
|
+
|
|
22
|
+
def getCategory(self):
|
|
23
|
+
return self.category
|
|
24
|
+
|
|
25
|
+
def setCategory(self, value):
|
|
26
|
+
self.category = value
|
|
27
|
+
return self
|
|
28
|
+
|
|
29
|
+
def getCounterOffset(self):
|
|
30
|
+
return self.counterOffset
|
|
31
|
+
|
|
32
|
+
def setCounterOffset(self, value):
|
|
33
|
+
self.counterOffset = value
|
|
34
|
+
return self
|
|
35
|
+
|
|
36
|
+
def getCrcOffset(self):
|
|
37
|
+
return self.crcOffset
|
|
38
|
+
|
|
39
|
+
def setCrcOffset(self, value):
|
|
40
|
+
self.crcOffset = value
|
|
41
|
+
return self
|
|
42
|
+
|
|
43
|
+
def getDataIds(self) -> List[PositiveInteger]:
|
|
44
|
+
return sorted(self.dataIds, key = lambda a: a)
|
|
45
|
+
|
|
46
|
+
def addDataId(self, id: PositiveInteger):
|
|
47
|
+
self.dataIds.append(id)
|
|
48
|
+
return self
|
|
49
|
+
|
|
50
|
+
def getDataIdMode(self):
|
|
51
|
+
return self.dataIdMode
|
|
52
|
+
|
|
53
|
+
def setDataIdMode(self, value):
|
|
54
|
+
self.dataIdMode = value
|
|
55
|
+
return self
|
|
56
|
+
|
|
57
|
+
def getDataIdNibbleOffset(self):
|
|
58
|
+
return self.dataIdNibbleOffset
|
|
59
|
+
|
|
60
|
+
def setDataIdNibbleOffset(self, value):
|
|
61
|
+
self.dataIdNibbleOffset = value
|
|
62
|
+
return self
|
|
63
|
+
|
|
64
|
+
def getDataLength(self):
|
|
65
|
+
return self.dataLength
|
|
66
|
+
|
|
67
|
+
def setDataLength(self, value):
|
|
68
|
+
self.dataLength = value
|
|
69
|
+
return self
|
|
70
|
+
|
|
71
|
+
def getMaxDeltaCounterInit(self):
|
|
72
|
+
return self.maxDeltaCounterInit
|
|
73
|
+
|
|
74
|
+
def setMaxDeltaCounterInit(self, value):
|
|
75
|
+
self.maxDeltaCounterInit = value
|
|
76
|
+
return self
|
|
77
|
+
|
|
78
|
+
def getMaxNoNewOrRepeatedData(self):
|
|
79
|
+
return self.maxNoNewOrRepeatedData
|
|
80
|
+
|
|
81
|
+
def setMaxNoNewOrRepeatedData(self, value):
|
|
82
|
+
self.maxNoNewOrRepeatedData = value
|
|
83
|
+
return self
|
|
84
|
+
|
|
85
|
+
def getSyncCounterInit(self):
|
|
86
|
+
return self.syncCounterInit
|
|
87
|
+
|
|
88
|
+
def setSyncCounterInit(self, value):
|
|
89
|
+
self.syncCounterInit = value
|
|
90
|
+
return self
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class EndToEndProtectionVariablePrototype(ARObject):
|
|
94
|
+
def __init__(self):
|
|
95
|
+
super().__init__()
|
|
96
|
+
|
|
97
|
+
self._receiverIRefs = [] # type: List[VariableDataPrototypeInSystemInstanceRef]
|
|
98
|
+
self.senderIRef = None # type: VariableDataPrototypeInSystemInstanceRef
|
|
99
|
+
self.shortLabel = None # type: str
|
|
100
|
+
|
|
101
|
+
def addReceiverIref(self, iref: VariableDataPrototypeInSystemInstanceRef):
|
|
102
|
+
self._receiverIRefs.append(iref)
|
|
103
|
+
|
|
104
|
+
def getReceiverIrefs(self) -> List[VariableDataPrototypeInSystemInstanceRef]:
|
|
105
|
+
return self._receiverIRefs
|
|
106
|
+
|
|
107
|
+
class EndToEndProtectionISignalIPdu(ARObject):
|
|
108
|
+
def __init__(self):
|
|
109
|
+
super().__init__()
|
|
110
|
+
|
|
111
|
+
self.dataOffset = None # type: Integer
|
|
112
|
+
self.iSignalGroupRef = None # type: RefType
|
|
113
|
+
self.iSignalIPduRef = None # type: RefType
|
|
114
|
+
|
|
115
|
+
def getDataOffset(self):
|
|
116
|
+
return self.dataOffset
|
|
117
|
+
|
|
118
|
+
def setDataOffset(self, value):
|
|
119
|
+
self.dataOffset = value
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
def getISignalGroupRef(self):
|
|
123
|
+
return self.iSignalGroupRef
|
|
124
|
+
|
|
125
|
+
def setISignalGroupRef(self, value):
|
|
126
|
+
self.iSignalGroupRef = value
|
|
127
|
+
return self
|
|
128
|
+
|
|
129
|
+
def getISignalIPduRef(self):
|
|
130
|
+
return self.iSignalIPduRef
|
|
131
|
+
|
|
132
|
+
def setISignalIPduRef(self, value):
|
|
133
|
+
self.iSignalIPduRef = value
|
|
134
|
+
return self
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class EndToEndProtection(Identifiable):
|
|
138
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
139
|
+
super().__init__(parent, short_name)
|
|
140
|
+
|
|
141
|
+
self.endToEndProfile = None # type: EndToEndDescription
|
|
142
|
+
self.endToEndProtectionISignalIPdus = [] # type: List[EndToEndProtectionISignalIPdu]
|
|
143
|
+
self.endToEndProtectionVariablePrototypes = [] # type: List[EndToEndProtectionVariablePrototype]
|
|
144
|
+
|
|
145
|
+
def getEndToEndProfile(self):
|
|
146
|
+
return self.endToEndProfile
|
|
147
|
+
|
|
148
|
+
def setEndToEndProfile(self, value):
|
|
149
|
+
self.endToEndProfile = value
|
|
150
|
+
return self
|
|
151
|
+
|
|
152
|
+
def getEndToEndProtectionISignalIPdus(self):
|
|
153
|
+
return self.endToEndProtectionISignalIPdus
|
|
154
|
+
|
|
155
|
+
def addEndToEndProtectionISignalIPdu(self, value):
|
|
156
|
+
self.endToEndProtectionISignalIPdus.append(value)
|
|
157
|
+
return self
|
|
158
|
+
|
|
159
|
+
def getEndToEndProtectionVariablePrototypes(self) -> List[EndToEndProtectionVariablePrototype]:
|
|
160
|
+
return self.endToEndProtectionVariablePrototypes
|
|
161
|
+
|
|
162
|
+
def addEndToEndProtectionVariablePrototype(self, prototype: EndToEndProtectionVariablePrototype):
|
|
163
|
+
self.endToEndProtectionVariablePrototypes.append(prototype)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
class EndToEndProtectionSet(Identifiable):
|
|
167
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
168
|
+
super().__init__(parent, short_name)
|
|
169
|
+
|
|
170
|
+
def createEndToEndProtection(self, short_name: str) -> EndToEndProtection:
|
|
171
|
+
if (short_name not in self.elements):
|
|
172
|
+
protection = EndToEndProtection(self, short_name)
|
|
173
|
+
self.elements[short_name] = protection
|
|
174
|
+
return self.elements[short_name]
|
|
175
|
+
|
|
176
|
+
def getEndToEndProtections(self) -> List[EndToEndProtection]:
|
|
177
|
+
return sorted(filter(lambda c: isinstance(c, EndToEndProtection), self.elements.values()), key= lambda e: e.short_name)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
from .....
|
|
2
|
-
from
|
|
1
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
2
|
+
from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpInstanceRef
|
|
3
3
|
|
|
4
4
|
class ApplicationCompositeElementInPortInterfaceInstanceRef(AtpInstanceRef):
|
|
5
5
|
def __init__(self):
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
2
|
from typing import List
|
|
3
3
|
|
|
4
|
-
from
|
|
5
|
-
from .....
|
|
6
|
-
from .....
|
|
7
|
-
from .....
|
|
8
|
-
from .....
|
|
9
|
-
from .....
|
|
4
|
+
from .....M2.AUTOSARTemplates.CommonStructure.TriggerDeclaration import Trigger
|
|
5
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
6
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
7
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, ARNumerical
|
|
8
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype, AutosarDataPrototype
|
|
9
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean
|
|
10
|
+
from .....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype
|
|
11
|
+
from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpType
|
|
12
|
+
from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpFeature
|
|
13
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
10
14
|
|
|
11
15
|
class PortInterface(AtpType, metaclass = ABCMeta):
|
|
12
16
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
2
3
|
from abc import ABCMeta
|
|
3
|
-
from .ar_object import ARObject
|
|
4
|
-
from .general_structure import Identifiable
|
|
5
|
-
|
|
6
4
|
|
|
7
5
|
class IdentCaption(Identifiable):
|
|
8
|
-
|
|
6
|
+
|
|
9
7
|
__metaclass__ = ABCMeta
|
|
10
8
|
|
|
11
9
|
def __init__(self, parent: ARObject, short_name: str):
|
|
12
10
|
if type(self) == IdentCaption:
|
|
13
11
|
raise NotImplementedError("IdentCaption is an abstract class.")
|
|
14
|
-
|
|
12
|
+
|
|
15
13
|
super().__init__(parent, short_name)
|
|
16
14
|
|
|
17
15
|
|