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.
Files changed (170) hide show
  1. armodel/cli/arxml_dump_cli.py +13 -10
  2. armodel/cli/arxml_format_cli.py +1 -2
  3. armodel/cli/connector2xlsx_cli.py +2 -3
  4. armodel/cli/connector_update_cli.py +2 -5
  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 +3 -3
  9. armodel/lib/system_signal.py +3 -5
  10. armodel/models/{m2/autosar_templates/autosar_top_level_structure.py → M2/AUTOSARTemplates/AutosarTopLevelStructure.py} +5 -7
  11. armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +113 -140
  12. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +60 -0
  13. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
  14. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +77 -0
  15. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -0
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +238 -0
  17. armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +7 -6
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +119 -0
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +69 -0
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +20 -0
  22. armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +13 -9
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +35 -0
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +24 -0
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
  29. armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +4 -3
  30. armodel/models/{m2/autosar_templates/ecuc_description_template.py → M2/AUTOSARTemplates/ECUCDescriptionTemplate.py} +6 -7
  31. armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -5
  32. armodel/models/{m2/autosar_templates/generic_structure/ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +41 -29
  33. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +16 -0
  34. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ElementCollection.py +1 -0
  35. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +52 -0
  36. armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +42 -159
  37. armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +179 -71
  38. armodel/models/M2/AUTOSARTemplates/GenericStructure/__init__.py +1 -0
  39. armodel/models/{m2/autosar_templates/sw_component_template/communication.py → M2/AUTOSARTemplates/SWComponentTemplate/Communication.py} +22 -5
  40. armodel/models/{m2/autosar_templates/sw_component_template/components/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py} +2 -4
  41. armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +114 -10
  42. armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -5
  43. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +96 -0
  44. armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +24 -8
  45. armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -73
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
  47. armodel/models/{m2/autosar_templates/sw_component_template/port_interface/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/InstanceRefs.py} +2 -2
  48. armodel/models/{m2/autosar_templates/sw_component_template/port_interface → M2/AUTOSARTemplates/SWComponentTemplate/PortInterface}/__init__.py +10 -6
  49. armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +34 -0
  51. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/AccessCount.py} +2 -2
  52. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py} +7 -5
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +24 -0
  54. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/instance_refs_usage.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py} +3 -3
  55. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py} +4 -4
  56. armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
  59. armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -4
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +57 -0
  61. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +8 -0
  62. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +358 -0
  63. armodel/models/{m2/autosar_templates/system_template/data_mapping.py → M2/AUTOSARTemplates/SystemTemplate/DataMapping.py} +2 -3
  64. armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -3
  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} +5 -2
  68. armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -4
  69. armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +4 -6
  70. armodel/models/{fibex/fibex_core/core_topology.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py} +6 -7
  71. armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
  72. armodel/models/{m2/autosar_templates/system_template/network_management.py → M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py} +5 -6
  73. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
  74. armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +3 -4
  75. armodel/models/M2/MSR/AsamHdo/AdminData.py +18 -0
  76. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
  77. armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +43 -28
  78. armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +6 -4
  79. armodel/models/M2/MSR/AsamHdo/SpecialData.py +60 -0
  80. armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +3 -3
  81. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +26 -0
  82. armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +3 -4
  83. armodel/models/M2/MSR/DataDictionary/Axis.py +145 -0
  84. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +37 -0
  85. armodel/models/{m2/msr/data_dictionary/data_def_properties.py → M2/MSR/DataDictionary/DataDefProperties.py} +19 -10
  86. armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
  87. armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -10
  88. armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
  89. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +16 -0
  90. armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +20 -32
  91. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -0
  92. armodel/models/M2/MSR/Documentation/__init__.py +3 -0
  93. armodel/models/M2/MSR/__init__.py +1 -0
  94. armodel/models/M2/__init__.py +0 -0
  95. armodel/models/__init__.py +50 -24
  96. armodel/parser/abstract_arxml_parser.py +8 -4
  97. armodel/parser/arxml_parser.py +117 -90
  98. armodel/parser/connector_xlsx_parser.py +5 -3
  99. armodel/parser/file_parser.py +2 -1
  100. armodel/report/connector_xls_report.py +3 -2
  101. armodel/tests/test_armodel/models/test_ar_object.py +2 -3
  102. armodel/tests/test_armodel/models/test_ar_package.py +21 -9
  103. armodel/tests/test_armodel/models/test_ar_ref.py +7 -5
  104. armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -1
  105. armodel/tests/test_armodel/models/test_common_structure.py +11 -5
  106. armodel/tests/test_armodel/models/test_data_dictionary.py +2 -2
  107. armodel/tests/test_armodel/models/test_data_prototype.py +8 -4
  108. armodel/tests/test_armodel/models/test_datatype.py +28 -14
  109. armodel/tests/test_armodel/models/test_general_structure.py +12 -2
  110. armodel/tests/test_armodel/models/test_implementation.py +3 -2
  111. armodel/tests/test_armodel/models/test_m2_msr.py +4 -2
  112. armodel/tests/test_armodel/models/test_port_interface.py +21 -11
  113. armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
  114. armodel/tests/test_armodel/parser/test_parse_bswmd.py +13 -13
  115. armodel/tests/test_armodel/parser/test_sw_components.py +2 -2
  116. armodel/tests/test_armodel/parser/test_system.py +30 -0
  117. armodel/writer/abstract_arxml_writer.py +5 -2
  118. armodel/writer/arxml_writer.py +136 -91
  119. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/METADATA +16 -1
  120. armodel-1.6.4.dist-info/RECORD +156 -0
  121. armodel/lib/data_analyzer.py +0 -34
  122. armodel/models/ar_package.py +0 -641
  123. armodel/models/ar_ref.py +0 -25
  124. armodel/models/calibration.py +0 -119
  125. armodel/models/common_structure.py +0 -272
  126. armodel/models/communication.py +0 -17
  127. armodel/models/data_def_properties.py +0 -16
  128. armodel/models/data_dictionary.py +0 -59
  129. armodel/models/data_prototype.py +0 -103
  130. armodel/models/end_to_end_protection.py +0 -67
  131. armodel/models/fibex/fibex_core.py +0 -341
  132. armodel/models/fibex/lin_topology.py +0 -7
  133. armodel/models/implementation.py +0 -135
  134. armodel/models/internal_behavior.py +0 -63
  135. armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
  136. armodel/models/m2/autosar_templates/sw_component_template/composition/__init__.py +0 -154
  137. armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
  138. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +0 -203
  139. armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +0 -10
  140. armodel/models/m2/autosar_templates/system_template/transport_protocols.py +0 -7
  141. armodel/models/mode_declaration.py +0 -8
  142. armodel/models/port_interface.py +0 -165
  143. armodel/models/port_prototype.py +0 -6
  144. armodel/models/service_mapping.py +0 -11
  145. armodel/models/sw_component.py +0 -385
  146. armodel/models/system_template/network_management.py +0 -7
  147. armodel/models/system_template/transport_protocols.py +0 -7
  148. armodel/models/timing.py +0 -91
  149. armodel/models/unit.py +0 -14
  150. armodel-1.6.2.dist-info/RECORD +0 -142
  151. /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior}/__init__.py +0 -0
  152. /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
  153. /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
  154. /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses}/__init__.py +0 -0
  155. /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate/Datatype}/__init__.py +0 -0
  156. /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
  157. /armodel/models/{m2/autosar_templates/generic_structure → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
  158. /armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
  159. /armodel/models/{m2/autosar_templates/sw_component_template/data_type → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin}/__init__.py +0 -0
  160. /armodel/models/{m2/msr → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore}/__init__.py +0 -0
  161. /armodel/models/{m2/msr/asam_hdo → M2/AUTOSARTemplates/SystemTemplate/Fibex}/__init__.py +0 -0
  162. /armodel/models/{m2/msr/data_dictionary → M2/AUTOSARTemplates}/__init__.py +0 -0
  163. /armodel/models/{m2/msr/documentation → M2/MSR/AsamHdo/Constraints}/__init__.py +0 -0
  164. /armodel/models/{system_template → M2/MSR/AsamHdo}/__init__.py +0 -0
  165. /armodel/models/{ecuc_parameter_def_template.py → M2/MSR/CalibrationData/__init__.py} +0 -0
  166. /armodel/models/{m2/autosar_templates/common_structure/constants.py → M2/MSR/DataDictionary/__init__.py} +0 -0
  167. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/LICENSE +0 -0
  168. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/WHEEL +0 -0
  169. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/entry_points.txt +0 -0
  170. {armodel-1.6.2.dist-info → armodel-1.6.4.dist-info}/top_level.txt +0 -0
@@ -1,154 +0,0 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from ..components import SwComponentType
5
- from ..composition.instance_refs import PPortInCompositionInstanceRef, PortInCompositionTypeInstanceRef, RPortInCompositionInstanceRef
6
- from .....ar_ref import RefType
7
- from .....ar_object import ARObject
8
- from .....general_structure import Identifiable
9
-
10
-
11
- class SwComponentPrototype(Identifiable):
12
- def __init__(self, parent: ARObject, short_name: str):
13
- super().__init__(parent, short_name)
14
-
15
- self.typeTRef = None # type: RefType
16
-
17
- def getTypeTRef(self):
18
- return self.typeTRef
19
-
20
- def setTypeTRef(self, value):
21
- self.typeTRef = value
22
- return self
23
-
24
- class SwConnector(Identifiable, metaclass = ABCMeta):
25
- def __init__(self, parent: ARObject, short_name: str):
26
- super().__init__(parent, short_name)
27
-
28
- self.mappingRef = None # type: RefType
29
-
30
- def getMappingRef(self):
31
- return self.mappingRef
32
-
33
- def setMappingRef(self, value):
34
- self.mappingRef = value
35
- return self
36
-
37
- class AssemblySwConnector(SwConnector):
38
- def __init__(self, parent: ARObject, short_name: str):
39
- super().__init__(parent, short_name)
40
-
41
- self.providerIRef = None # type: PPortInCompositionInstanceRef
42
- self.requesterIRef = None # type: RPortInCompositionInstanceRef
43
-
44
- def getProviderIRef(self) -> PPortInCompositionInstanceRef:
45
- return self.providerIRef
46
-
47
- def setProviderIRef(self, value: PPortInCompositionInstanceRef):
48
- self.providerIRef = value
49
- return self
50
-
51
- def getRequesterIRef(self) -> PPortInCompositionInstanceRef:
52
- return self.requesterIRef
53
-
54
- def setRequesterIRef(self, value: PPortInCompositionInstanceRef):
55
- self.requesterIRef = value
56
- return self
57
-
58
- class DelegationSwConnector(SwConnector):
59
- def __init__(self, parent: ARObject, short_name: str):
60
- super().__init__(parent, short_name)
61
-
62
- self.innerPortIRref = None # type: PortInCompositionTypeInstanceRef
63
- self.outerPortRef = None # type: RefType
64
-
65
- def getInnerPortIRref(self):
66
- return self.innerPortIRref
67
-
68
- def setInnerPortIRref(self, value):
69
- self.innerPortIRref = value
70
- return self
71
-
72
- def getOuterPortRef(self):
73
- return self.outerPortRef
74
-
75
- def setOuterPortRef(self, value):
76
- self.outerPortRef = value
77
- return self
78
-
79
-
80
- class PassThroughSwConnector(SwConnector):
81
- def __init__(self, parent: ARObject, short_name: str):
82
- super().__init__(parent, short_name)
83
-
84
- self.providedOuterPortRef = None # type: RefType
85
- self.requiredOuterPortRef = None # type: RefType
86
-
87
- def getProvidedOuterPortRef(self):
88
- return self.providedOuterPortRef
89
-
90
- def setProvidedOuterPortRef(self, value):
91
- self.providedOuterPortRef = value
92
- return self
93
-
94
- def getRequiredOuterPortRef(self):
95
- return self.requiredOuterPortRef
96
-
97
- def setRequiredOuterPortRef(self, value):
98
- self.requiredOuterPortRef = value
99
- return self
100
-
101
-
102
- class CompositionSwComponentType(SwComponentType):
103
- def __init__(self, parent: ARObject, short_name: str):
104
- super().__init__(parent, short_name)
105
-
106
- self.constantValueMappingRefs = [] # type: List[RefType]
107
- self.dataTypeMappingRefs = [] # type: List[RefType]
108
- self.instantiationRTEEventProps = [] # type: List[InstantiationRTEEventProps]
109
-
110
- def removeAllAssemblySwConnector(self):
111
- for sw_connector in self.getAssemblySwConnectors():
112
- self.elements.pop(sw_connector.short_name)
113
-
114
- def removeAllDelegationSwConnector(self):
115
- for sw_connector in self.getDelegationSwConnectors():
116
- self.elements.pop(sw_connector.short_name)
117
-
118
- def createAssemblySwConnector(self, short_name: str) -> AssemblySwConnector:
119
- if (short_name not in self.elements):
120
- connector = AssemblySwConnector(self, short_name)
121
- self.elements[short_name] = connector
122
- return self.elements[short_name]
123
-
124
- def createDelegationSwConnector(self, short_name: str) -> DelegationSwConnector:
125
- if short_name not in self.elements:
126
- connector = DelegationSwConnector(self, short_name)
127
- self.elements[short_name] = connector
128
- return self.elements[short_name]
129
-
130
- def getAssemblySwConnectors(self) -> List[AssemblySwConnector]:
131
- return list(sorted(filter(lambda e: isinstance(e, AssemblySwConnector), self.elements.values()), key = lambda c: c.short_name))
132
-
133
- def getDelegationSwConnectors(self) -> List[DelegationSwConnector]:
134
- return list(sorted(filter(lambda e: isinstance(e, DelegationSwConnector), self.elements.values()), key = lambda c: c.short_name))
135
-
136
- def getSwConnectors(self) -> List[SwConnector]:
137
- return list(sorted(filter(lambda e: isinstance(e, SwConnector), self.elements.values()), key = lambda c: c.short_name))
138
-
139
- def createSwComponentPrototype(self, short_name: str) -> SwComponentPrototype:
140
- if (short_name not in self.elements):
141
- connector = SwComponentPrototype(self, short_name)
142
- self.elements[short_name] = connector
143
- return self.elements[short_name]
144
-
145
- def getSwComponentPrototypes(self) -> List[SwComponentPrototype]:
146
- return list(filter(lambda e: isinstance(e, SwComponentPrototype), self.elements.values()))
147
-
148
- def addDataTypeMapping(self, data_type_mapping_ref: RefType):
149
- self.dataTypeMappingRefs.append(data_type_mapping_ref)
150
-
151
- def getDataTypeMappings(self) -> List[RefType]:
152
- return self.dataTypeMappingRefs
153
-
154
-
@@ -1,236 +0,0 @@
1
- from abc import ABCMeta
2
- from typing import List
3
-
4
- from ....ar_object import ARBoolean, ARLiteral, ARNumerical
5
- from ....common_structure import ModeDeclarationGroupPrototype, Trigger
6
- from ....datatype import AtpType
7
- from ....general_structure import ARObject, Identifiable, AtpFeature
8
- from ....data_prototype import ParameterDataPrototype, VariableDataPrototype, AutosarDataPrototype
9
- from ....ar_ref import RefType
10
-
11
- class PortInterface(AtpType, metaclass = ABCMeta):
12
- def __init__(self, parent: ARObject, short_name: str):
13
- if type(self) == PortInterface:
14
- raise NotImplementedError("PortInterface is an abstract class.")
15
- super().__init__(parent, short_name)
16
-
17
- self.isService = None # type: ARBoolean
18
- self.serviceKind = None # type: ARLiteral
19
-
20
- def getIsService(self):
21
- return self.isService
22
-
23
- def setIsService(self, value):
24
- self.isService = value
25
- return self
26
-
27
- def getServiceKind(self):
28
- return self.serviceKind
29
-
30
- def setServiceKind(self, value):
31
- self.serviceKind = value
32
- return self
33
-
34
- class DataInterface(PortInterface, metaclass = ABCMeta):
35
- def __init__(self, parent: ARObject, short_name: str):
36
- if type(self) == DataInterface:
37
- raise NotImplementedError("DataInterface is an abstract class.")
38
- super().__init__(parent, short_name)
39
-
40
- class NvDataInterface(DataInterface):
41
- def __init__(self, parent: ARObject, short_name: str):
42
- super().__init__(parent, short_name)
43
-
44
- self.nvDatas = [] # type: List[VariableDataPrototype]
45
-
46
- def getNvDatas(self):
47
- return self.nvDatas
48
-
49
- def setNvData(self, value):
50
- self.nvDatas.append(value)
51
- return self
52
-
53
-
54
- class ParameterInterface(DataInterface):
55
- def __init__(self, parent: ARObject, short_name: str):
56
- super().__init__(parent, short_name)
57
-
58
- self.parameters = [] # type: List[ParameterDataPrototype]
59
-
60
- def getParameters(self):
61
- return self.parameters
62
-
63
- def addParameter(self, value):
64
- self.parameters.append(value)
65
- return self
66
-
67
- class InvalidationPolicy(ARObject):
68
- def __init__(self):
69
- super().__init__()
70
-
71
- self.dataElementRef = None # type: RefType
72
- self.handleInvalid = None # type: ARLiteral
73
-
74
- def getDataElementRef(self):
75
- return self.dataElementRef
76
-
77
- def setDataElementRef(self, value):
78
- self.dataElementRef = value
79
- return self
80
-
81
- def getHandleInvalid(self):
82
- return self.handleInvalid
83
-
84
- def setHandleInvalid(self, value):
85
- self.handleInvalid = value
86
- return self
87
-
88
-
89
-
90
- class SenderReceiverInterface(DataInterface):
91
- def __init__(self, parent: ARObject, short_name: str):
92
- super().__init__(parent, short_name)
93
-
94
- self.invalidationPolicies = [] # type: List[InvalidationPolicy]
95
- self.metaDataItemSets = [] # type: List[MetaDataItemSet]
96
-
97
- def getInvalidationPolicies(self):
98
- return self.invalidationPolicies
99
-
100
- def addInvalidationPolicy(self, value):
101
- self.invalidationPolicies.append(value)
102
- return self
103
-
104
- def getMetaDataItemSets(self):
105
- return self.metaDataItemSets
106
-
107
- def addMetaDataItemSet(self, value):
108
- self.metaDataItemSets.append(value)
109
- return self
110
-
111
-
112
- def createDataElement(self, short_name) -> VariableDataPrototype:
113
- if (short_name not in self.elements):
114
- data_element = VariableDataPrototype(self, short_name)
115
- self.elements[short_name] = data_element
116
- return self.elements[short_name]
117
-
118
- def getDataElements(self) -> List[VariableDataPrototype]:
119
- return list(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements.values()))
120
-
121
- def getDataElement(self, short_name) -> VariableDataPrototype:
122
- if (short_name in self.elements):
123
- data_element = self.elements[short_name]
124
- #if (not isinstance(data_element, VariableDataPrototype)):
125
- # raise IndexError("%s is not data element." % short_name)
126
- return data_element
127
- raise IndexError("data element <%s> can not be found." % short_name)
128
-
129
- class ArgumentDataPrototype(AutosarDataPrototype):
130
- def __init__(self, parent: ARObject, short_name: str):
131
- super().__init__(parent, short_name)
132
- self.direction = ""
133
- self.server_argument_impl_policy = ""
134
-
135
- class ApplicationError(Identifiable):
136
- def __init__(self, parent: ARObject, short_name: str):
137
- super().__init__(parent, short_name)
138
-
139
- self.error_code = None # type: ARNumerical
140
-
141
- class ClientServerOperation(AtpFeature):
142
- """
143
- An operation declared within the scope of a client/server interface.
144
- Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
145
- Base: ARObject, AtpClassifier , AtpFeature, AtpStructureElement, Identifiable, MultilanguageReferrable, Referrable
146
-
147
- Attributes:
148
- -----------
149
- _argument: ArgumentDataPrototype (optional)
150
- An argument of this ClientServerOperation
151
-
152
- _possibleError: RefType -> ApplicationError (optional)
153
- Possible errors that may by raised by the referring operation
154
-
155
- Methods:
156
- --------
157
- addArgumentDataPrototype add the argument
158
- getArgumentDataPrototypes get the arguments
159
- addPossibleErrorRef add the possible error
160
- getPossbileErrorRefs get the possible errors
161
-
162
- """
163
- def __init__(self, parent: ARObject, short_name: str):
164
- super().__init__(parent, short_name)
165
-
166
- self._arguments = []
167
- self._possible_error_refs = [] # type: List[RefType]
168
-
169
- def addArgumentDataPrototype(self, prototype: ArgumentDataPrototype):
170
- self._arguments.append(prototype)
171
-
172
- def getArgumentDataPrototypes(self) -> List[ArgumentDataPrototype]:
173
- return self._arguments
174
-
175
- def addPossibleErrorRef(self, possible_error_ref: RefType):
176
- self._possible_error_refs.append(possible_error_ref)
177
-
178
- def getPossbileErrorRefs(self) -> List[RefType]:
179
- return self._possible_error_refs
180
-
181
-
182
- class ClientServerInterface(PortInterface):
183
- """
184
- A client/server interface declares a number of operations that can be invoked on a server by a client.
185
- Package: M2::AUTOSARTemplates::SWComponentTemplate::PortInterface
186
- Base: ARElement, ARObject, AtpBlueprint, AtpBlueprintable, AtpClassifier , AtpType, CollectableElement, Identifiable, MultilanguageReferrable, PackageableElement, PortInterface, Referrable
187
-
188
- Methods:
189
- --------
190
- createOperation create ClientServerOperation(s) of this ClientServerInterface.
191
- createApplicationError create Application errors that are defined as part of this interface
192
- getOperations get all ClientServerOperation(s) of this ClientServerInterface
193
- getPossibleErrors get all Application error(s) of this ClientServerInterface
194
-
195
- """
196
- def __init__(self, parent: ARObject, short_name: str):
197
- super().__init__(parent, short_name)
198
-
199
- def createOperation(self, short_name: str) -> ClientServerOperation:
200
- if (short_name not in self.elements):
201
- operation = ClientServerOperation(self, short_name)
202
- self.elements[short_name] = operation
203
- return self.elements[short_name]
204
-
205
- def createApplicationError(self, short_name: str) -> ApplicationError:
206
- if (short_name not in self.elements):
207
- error = ApplicationError(self, short_name)
208
- self.elements[short_name] = error
209
- return self.elements[short_name]
210
-
211
- def getOperations(self) -> List[ClientServerOperation]:
212
- return list(filter(lambda c: isinstance(c, ClientServerOperation), self.elements.values()))
213
-
214
- def getPossibleErrors(self) -> List[ApplicationError]:
215
- return list(filter(lambda c: isinstance(c, ApplicationError), self.elements.values()))
216
-
217
- class TriggerInterface(PortInterface):
218
- def __init__(self, parent: ARObject, short_name: str):
219
- super().__init__(parent, short_name)
220
-
221
- self._triggers = [] # type: Trigger
222
-
223
- class ModeSwitchInterface(PortInterface):
224
- def __init__(self, parent: ARObject, short_name: str):
225
- super().__init__(parent, short_name)
226
-
227
- self._modeGroup = [] # type: List[ModeDeclarationGroupPrototype]
228
-
229
- def createModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
230
- prototype = ModeDeclarationGroupPrototype(self, short_name)
231
- if (short_name not in self.elements):
232
- self.elements[short_name] = prototype
233
- return self.elements[short_name]
234
-
235
- def getModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
236
- return list(sorted(filter(lambda c: isinstance(c, ModeDeclarationGroupPrototype), self.elements.values()), key= lambda o: o.short_name))
@@ -1,203 +0,0 @@
1
-
2
- from typing import Dict, List
3
-
4
- from .data_elements import ParameterAccess, VariableAccess
5
- from .server_call import ServerCallPoint
6
- from .mode_declaration_group import ModeAccessPoint, ModeSwitchPoint
7
- from .trigger import InternalTriggeringPoint
8
-
9
- from .....ar_ref import RefType
10
- from .....ar_object import ARBoolean, ARLiteral
11
- from .....common_structure import ExecutableEntity
12
- from .....ar_object import ARObject
13
-
14
-
15
- class RunnableEntityArgument(ARObject):
16
- def __init__(self):
17
- super().__init__()
18
-
19
- self.symbol = None # type: ARLiteral
20
-
21
- def getSymbol(self):
22
- return self.symbol
23
-
24
- def setSymbol(self, value):
25
- self.symbol = value
26
- return self
27
-
28
- class AsynchronousServerCallPoint(ServerCallPoint):
29
- def __init__(self, parent: ARObject, short_name: str):
30
- super().__init__(parent, short_name)
31
-
32
- class AsynchronousServerCallResultPoint(ServerCallPoint):
33
- def __init__(self, parent: ARObject, short_name: str):
34
- super().__init__(parent, short_name)
35
-
36
- self.asynchronousServerCallPointRef = None # type: RefType
37
-
38
- def getAsynchronousServerCallPointRef(self):
39
- return self.asynchronousServerCallPointRef
40
-
41
- def setAsynchronousServerCallPointRef(self, value):
42
- self.asynchronousServerCallPointRef = value
43
- return self
44
-
45
- class SynchronousServerCallPoint(ServerCallPoint):
46
- def __init__(self, parent: ARObject, short_name: str):
47
- super().__init__(parent, short_name)
48
-
49
- self.calledFromWithinExclusiveAreaRef = None # type: RefType
50
-
51
- def getCalledFromWithinExclusiveAreaRef(self):
52
- return self.calledFromWithinExclusiveAreaRef
53
-
54
- def setCalledFromWithinExclusiveAreaRef(self, value):
55
- self.calledFromWithinExclusiveAreaRef = value
56
- return self
57
-
58
- class RunnableEntity(ExecutableEntity):
59
- def __init__(self, parent: ARObject, short_name: str):
60
- super().__init__(parent, short_name)
61
-
62
- self.arguments = [] # type: List[RunnableEntityArgument]
63
- self.canBeInvokedConcurrently = None # type: ARBoolean
64
- self.dataReadAccesses = {} # type: Dict[str, VariableAccess]
65
- self.dataReceivePointByArguments = {} # type: Dict[str, VariableAccess]
66
- self.dataReceivePointByValues = {} # type: Dict[str, VariableAccess]
67
- self.dataSendPoints = {} # type: Dict[str, VariableAccess]
68
- self.dataWriteAccesses = {} # type: Dict[str, VariableAccess]
69
- self.externalTriggeringPoints = {} # type: Dict[str, ExternalTriggeringPoint]
70
- self.internalTriggeringPoints = {} # type: Dict[str, InternalTriggeringPoint]
71
- self.modeAccessPoints = [] # type: List[ModeAccessPoint]
72
- self.modeSwitchPoints = [] # type: List[ModeSwitchPoint]
73
- self.parameterAccesses = {} # type: Dict[str, ParameterAccess]
74
- self.readLocalVariables = {} # type: Dict[str, VariableAccess]
75
- self.serverCallPoints = {} # type: Dict[str, ServerCallPoint]
76
- self.symbol = None # type: ARLiteral
77
- self.waitPoints = {} # type: Dict[str, WaitPoint]
78
- self.writtenLocalVariables = {} # type: Dict[str, VariableAccess]
79
-
80
- def _createVariableAccess(self, short_name, variable_accesses: Dict[str, VariableAccess]):
81
- if (short_name not in self.elements):
82
- variable_access = VariableAccess(self, short_name)
83
- variable_accesses[short_name] = variable_access
84
- return variable_accesses[short_name]
85
-
86
- def getArguments(self):
87
- return self.arguments
88
-
89
- def addArgument(self, value):
90
- self.arguments.append(value)
91
- return self
92
-
93
- def getCanBeInvokedConcurrently(self):
94
- return self.canBeInvokedConcurrently
95
-
96
- def setCanBeInvokedConcurrently(self, value):
97
- self.canBeInvokedConcurrently = value
98
- return self
99
-
100
- def createDataReadAccess(self, short_name: str) -> VariableAccess:
101
- return self._createVariableAccess(short_name, self.dataReadAccesses)
102
-
103
- def getDataReadAccesses(self) -> List[VariableAccess]:
104
- return sorted(self.dataReadAccesses.values(), key=lambda v: v.short_name)
105
-
106
- def createDataWriteAccess(self, short_name: str) -> VariableAccess:
107
- return self._createVariableAccess(short_name, self.dataWriteAccesses)
108
-
109
- def getDataWriteAccesses(self) -> List[VariableAccess]:
110
- return sorted(self.dataWriteAccesses.values(), key=lambda v: v.short_name)
111
-
112
- def createDataReceivePointByArgument(self, short_name: str) -> VariableAccess:
113
- return self._createVariableAccess(short_name, self.dataReceivePointByArguments)
114
-
115
- def getDataReceivePointByArguments(self) -> List[VariableAccess]:
116
- return sorted(self.dataReceivePointByArguments.values(), key=lambda v: v.short_name)
117
-
118
- def createDataReceivePointByValue(self, short_name: str) -> VariableAccess:
119
- return self._createVariableAccess(short_name, self.dataReceivePointByValues)
120
-
121
- def getDataReceivePointByValues(self) -> List[VariableAccess]:
122
- return sorted(self.dataReceivePointByValues.values(), key=lambda v: v.short_name)
123
-
124
- def createDataSendPoint(self, short_name: str) -> VariableAccess:
125
- return self._createVariableAccess(short_name, self.dataSendPoints)
126
-
127
- def getDataSendPoints(self) -> List[VariableAccess]:
128
- return sorted(self.dataSendPoints.values(), key=lambda v: v.short_name)
129
-
130
- def createReadLocalVariable(self, short_name: str) -> VariableAccess:
131
- return self._createVariableAccess(short_name, self.readLocalVariables)
132
-
133
- def getReadLocalVariables(self) -> List[VariableAccess]:
134
- return sorted(self.readLocalVariables.values(), key=lambda v: v.short_name)
135
-
136
- def createWrittenLocalVariable(self, short_name: str) -> VariableAccess:
137
- return self._createVariableAccess(short_name, self.writtenLocalVariables)
138
-
139
- def getWrittenLocalVariables(self) -> List[VariableAccess]:
140
- return sorted(self.writtenLocalVariables.values(), key=lambda v: v.short_name)
141
-
142
- def getParameterAccesses(self) -> List[ParameterAccess]:
143
- return list(sorted(filter(lambda a: isinstance(a, ParameterAccess), self.elements.values()), key= lambda o:o.short_name))
144
-
145
- def createParameterAccess(self, short_name: str) -> ParameterAccess:
146
- if (short_name not in self.elements):
147
- access = ParameterAccess(self, short_name)
148
- self.elements[short_name] = access
149
- return self.elements[short_name]
150
-
151
- def createSynchronousServerCallPoint(self, short_name: str) -> SynchronousServerCallPoint:
152
- if (short_name not in self.serverCallPoints):
153
- server_call_point = SynchronousServerCallPoint(self, short_name)
154
- self.serverCallPoints[short_name] = server_call_point
155
- return self.serverCallPoints[short_name]
156
-
157
- def createAsynchronousServerCallPoint(self, short_name: str) -> AsynchronousServerCallPoint:
158
- if (short_name not in self.serverCallPoints):
159
- server_call_point = AsynchronousServerCallPoint(self, short_name)
160
- self.serverCallPoints[short_name] = server_call_point
161
- return self.serverCallPoints[short_name]
162
-
163
- def getSynchronousServerCallPoint(self) -> List[ServerCallPoint]:
164
- return filter(lambda o: isinstance(o, SynchronousServerCallPoint), self.getServerCallPoints())
165
-
166
- def getAsynchronousServerCallPoint(self) -> List[ServerCallPoint]:
167
- return filter(lambda o: isinstance(o, AsynchronousServerCallPoint), self.getServerCallPoints())
168
-
169
- def getServerCallPoints(self) -> List[ServerCallPoint]:
170
- return sorted(self.serverCallPoints.values(), key=lambda v: v.short_name)
171
-
172
- def createInternalTriggeringPoint(self, short_name: str) -> InternalTriggeringPoint:
173
- if (short_name not in self.elements):
174
- point = InternalTriggeringPoint(self, short_name)
175
- self.elements[point.short_name] = point
176
- return self.elements[point.short_name]
177
-
178
- def getInternalTriggeringPoints(self) -> List[InternalTriggeringPoint]:
179
- return filter(lambda o: isinstance(o, InternalTriggeringPoint), self.elements)
180
-
181
- def getModeAccessPoints(self) -> List[ModeAccessPoint]:
182
- return self.modeAccessPoints
183
-
184
- def addModeAccessPoint(self, value):
185
- self.modeAccessPoints.append(value)
186
-
187
- def getModeSwitchPoints(self) -> List[ModeSwitchPoint]:
188
- return list(sorted(filter(lambda a: isinstance(a, ModeSwitchPoint), self.elements.values()), key= lambda o:o.short_name))
189
-
190
- def createModeSwitchPoint(self, short_name: str) -> ModeSwitchPoint:
191
- if (short_name not in self.elements):
192
- access = ModeSwitchPoint(self, short_name)
193
- self.elements[short_name] = access
194
- self.modeSwitchPoints.append(access)
195
- return self.elements[short_name]
196
-
197
- def getSymbol(self):
198
- return self.symbol
199
-
200
- def setSymbol(self, value):
201
- self.symbol = value
202
- return self
203
-
@@ -1,10 +0,0 @@
1
-
2
- from .access_count import AbstractAccessPoint
3
- from .....ar_object import ARObject
4
-
5
-
6
- class InternalTriggeringPoint(AbstractAccessPoint):
7
- def __init__(self, parent: ARObject, short_name: str):
8
- super().__init__(parent, short_name)
9
-
10
- self.sw_impl_policy = None
@@ -1,7 +0,0 @@
1
-
2
- from ....ar_object import ARObject
3
- from ....fibex.fibex_core.core_communication import FibexElement
4
-
5
- class CanTpConfig(FibexElement):
6
- def __init__(self, parent: ARObject, short_name: str):
7
- super().__init__(parent, short_name)
@@ -1,8 +0,0 @@
1
-
2
- from .ar_object import ARObject
3
- from .general_structure import Identifiable
4
-
5
-
6
- class ModeDeclarationGroupPrototype(Identifiable):
7
- def __init__(self, parent: ARObject, short_name: str):
8
- super().__init__(parent, short_name)