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
@@ -0,0 +1,34 @@
1
+ from typing import List
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, String
4
+ from ....M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
5
+
6
+ class SwcImplementation(Implementation):
7
+ def __init__(self, parent: ARObject, short_name: str) -> None:
8
+ super().__init__(parent, short_name)
9
+
10
+ self.behaviorRef = None # type: RefType
11
+ # type: List[PerInstanceMemorySize]
12
+ self.perInstanceMemorySizes = []
13
+ self.requiredRTEVendor = None # type: String
14
+
15
+ def getBehaviorRef(self):
16
+ return self.behaviorRef
17
+
18
+ def setBehaviorRef(self, value):
19
+ self.behaviorRef = value
20
+ return self
21
+
22
+ def getPerInstanceMemorySizes(self):
23
+ return self.perInstanceMemorySizes
24
+
25
+ def addPerInstanceMemorySize(self, value):
26
+ self.perInstanceMemorySizes.append(value)
27
+ return self
28
+
29
+ def getRequiredRTEVendor(self):
30
+ return self.requiredRTEVendor
31
+
32
+ def setRequiredRTEVendor(self, value):
33
+ self.requiredRTEVendor = value
34
+ return self
@@ -1,7 +1,7 @@
1
1
  from abc import ABCMeta
2
2
 
3
- from .....general_structure import Identifiable
4
- from .....ar_object import ARObject
3
+ from ...GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
+ from ...GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
5
 
6
6
  class AbstractAccessPoint(Identifiable, metaclass = ABCMeta):
7
7
  def __init__(self, parent: ARObject, short_name: str):
@@ -1,8 +1,10 @@
1
- from .....general_structure import Identifiable
2
- from .....ar_object import ARLiteral, ARObject
3
- from ....msr.data_dictionary.data_def_properties import SwDataDefProps
4
- from ..swc_internal_behavior.instance_refs_usage import AutosarParameterRef, AutosarVariableRef
5
- from .access_count import AbstractAccessPoint
1
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.InstanceRefsUsage import AutosarParameterRef, AutosarVariableRef
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
6
+ from .....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
7
+
6
8
  class ParameterAccess(AbstractAccessPoint):
7
9
  def __init__(self, parent: ARObject, short_name: str):
8
10
  super().__init__(parent, short_name)
@@ -0,0 +1,24 @@
1
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType
3
+ from typing import List
4
+
5
+ class IncludedDataTypeSet(ARObject):
6
+ def __init__(self):
7
+ super().__init__()
8
+
9
+ self.data_type_refs = [] # type: List[RefType]
10
+ self.literal_prefix = None # type: ARLiteral
11
+
12
+ def addDataTypeRef(self, ref_type: RefType):
13
+ self.data_type_refs.append(ref_type)
14
+
15
+ def getDataTypeRefs(self) -> List[RefType]:
16
+ return self.data_type_refs
17
+
18
+ @property
19
+ def literalPrefix(self) -> ARLiteral:
20
+ return self.literal_prefix
21
+
22
+ @literalPrefix.setter
23
+ def literalPrefix(self, value: ARLiteral):
24
+ self.literal_prefix = value
@@ -1,8 +1,8 @@
1
1
  from typing import List
2
2
 
3
- from .....ar_object import ARObject
4
- from .....ar_ref import RefType
5
- from ...generic_structure.abstract_structure import AtpInstanceRef
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
5
+ from .....M2.AUTOSARTemplates.GenericStructure.AbstractStructure import AtpInstanceRef
6
6
 
7
7
  class ArVariableInImplementationDataInstanceRef(AtpInstanceRef):
8
8
  def __init__(self):
@@ -1,7 +1,7 @@
1
- from .access_count import AbstractAccessPoint
2
- from ..components.instance_refs import PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef
3
- from .....rpt_scenario import ModeAccessPointIdent
4
- from .....ar_object import ARObject
1
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.RPTScenario import ModeAccessPointIdent
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import PModeGroupInAtomicSwcInstanceRef, RModeGroupInAtomicSWCInstanceRef
3
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
4
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
5
 
6
6
  class ModeAccessPoint(ARObject):
7
7
  def __init__(self):
@@ -1,8 +1,7 @@
1
-
2
- from .m2.msr.data_dictionary.data_def_properties import SwDataDefProps
3
- from .ar_object import ARLiteral, ARObject
4
- from .general_structure import Identifiable
5
-
1
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
4
+ from .....M2.MSR.DataDictionary.DataDefProperties import SwDataDefProps
6
5
 
7
6
  class PerInstanceMemory(Identifiable):
8
7
  def __init__(self, parent: ARObject, short_name: str):
@@ -39,4 +38,4 @@ class PerInstanceMemory(Identifiable):
39
38
 
40
39
  def setTypeDefinition(self, value):
41
40
  self.typeDefinition = value
42
- return self
41
+ return self
@@ -0,0 +1,86 @@
1
+ from .....M2.AUTOSARTemplates.CommonStructure import ValueSpecification
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, RefType, TRefType
4
+ from typing import List
5
+
6
+ class PortDefinedArgumentValue(ARObject):
7
+ def __init__(self):
8
+ super().__init__()
9
+
10
+ self.value = None # type: ValueSpecification
11
+ self.valueTypeTRef = None # type: TRefType
12
+
13
+ def getValue(self):
14
+ return self.value
15
+
16
+ def setValue(self, value):
17
+ self.value = value
18
+ return self
19
+
20
+ def getValueTypeTRef(self):
21
+ return self.valueTypeTRef
22
+
23
+ def setValueTypeTRef(self, value):
24
+ self.valueTypeTRef = value
25
+ return self
26
+
27
+ class PortAPIOption(ARObject):
28
+ def __init__(self):
29
+ super().__init__()
30
+
31
+ self.enableTakeAddress = None # type: ARBoolean
32
+ self.errorHandling = None # type: DataTransformationErrorHandlingEnum
33
+ self.indirectAPI = None # type: ARBoolean
34
+ self.portRef = None # type: RefType
35
+ self.portArgValues = [] # type: List[PortDefinedArgumentValue]
36
+ self.supportedFeatures = [] # type: List[SwcSupportedFeature]
37
+ self.transformerStatusForwarding = None # type: DataTransformationStatusForwardingEnum
38
+
39
+ def getEnableTakeAddress(self):
40
+ return self.enableTakeAddress
41
+
42
+ def setEnableTakeAddress(self, value):
43
+ self.enableTakeAddress = value
44
+ return self
45
+
46
+ def getErrorHandling(self):
47
+ return self.errorHandling
48
+
49
+ def setErrorHandling(self, value):
50
+ self.errorHandling = value
51
+ return self
52
+
53
+ def getIndirectAPI(self):
54
+ return self.indirectAPI
55
+
56
+ def setIndirectAPI(self, value):
57
+ self.indirectAPI = value
58
+ return self
59
+
60
+ def getPortRef(self):
61
+ return self.portRef
62
+
63
+ def setPortRef(self, value):
64
+ self.portRef = value
65
+ return self
66
+
67
+ def getPortArgValues(self):
68
+ return self.portArgValues
69
+
70
+ def addPortArgValue(self, value):
71
+ self.portArgValues.append(value)
72
+ return self
73
+
74
+ def getSupportedFeatures(self):
75
+ return self.supportedFeatures
76
+
77
+ def addSupportedFeature(self, value):
78
+ self.supportedFeatures.append(value)
79
+ return self
80
+
81
+ def getTransformerStatusForwarding(self):
82
+ return self.transformerStatusForwarding
83
+
84
+ def setTransformerStatusForwarding(self, value):
85
+ self.transformerStatusForwarding = value
86
+ return self
@@ -0,0 +1,174 @@
1
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import RVariableInAtomicSwcInstanceRef, RModeInAtomicSwcInstanceRef
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import POperationInAtomicSwcInstanceRef
3
+ from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import AbstractEvent
4
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
5
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, TimeValue
6
+ from typing import List
7
+
8
+ class RTEEvent(AbstractEvent):
9
+ def __init__(self, parent: ARObject, short_name: str):
10
+ super().__init__(parent, short_name)
11
+
12
+ self.disabledModeIRefs = [] # type: List[RModeInAtomicSwcInstanceRef]
13
+ self.startOnEventRef = None # type: RefType
14
+
15
+ def getDisabledModeIRefs(self):
16
+ return self.disabledModeIRefs
17
+
18
+ def addDisabledModeIRef(self, value):
19
+ self.disabledModeIRefs.append(value)
20
+ return self
21
+
22
+ def getStartOnEventRef(self):
23
+ return self.startOnEventRef
24
+
25
+ def setStartOnEventRef(self, value):
26
+ self.startOnEventRef = value
27
+ return self
28
+
29
+ class AsynchronousServerCallReturnsEvent(RTEEvent):
30
+ def __init__(self, parent: ARObject, short_name: str):
31
+ super().__init__(parent, short_name)
32
+
33
+ self.eventSourceRef = None # type: RefType
34
+
35
+ def getEventSourceRef(self):
36
+ return self.eventSourceRef
37
+
38
+ def setEventSourceRef(self, value):
39
+ self.eventSourceRef = value
40
+ return self
41
+
42
+
43
+ class DataSendCompletedEvent(RTEEvent):
44
+ def __init__(self, parent: ARObject, short_name: str):
45
+ super().__init__(parent, short_name)
46
+
47
+ self.eventSourceRef = None # type: RefType
48
+
49
+ def getEventSourceRef(self):
50
+ return self.eventSourceRef
51
+
52
+ def setEventSourceRef(self, value):
53
+ self.eventSourceRef = value
54
+ return self
55
+
56
+ class DataWriteCompletedEvent(RTEEvent):
57
+ def __init__(self, parent: ARObject, short_name: str):
58
+ super().__init__(parent, short_name)
59
+
60
+ self.eventSourceRef = None # type: RefType
61
+
62
+ def getEventSourceRef(self):
63
+ return self.eventSourceRef
64
+
65
+ def setEventSourceRef(self, value):
66
+ self.eventSourceRef = value
67
+ return self
68
+
69
+ class DataReceivedEvent(RTEEvent):
70
+ def __init__(self, parent: ARObject, short_name: str):
71
+ super().__init__(parent, short_name)
72
+
73
+ self.dataIRef = None # type: RVariableInAtomicSwcInstanceRef
74
+
75
+ def getDataIRef(self):
76
+ return self.dataIRef
77
+
78
+ def setDataIRef(self, value):
79
+ self.dataIRef = value
80
+ return self
81
+
82
+
83
+ class SwcModeSwitchEvent(RTEEvent):
84
+ def __init__(self, parent: ARObject, short_name: str):
85
+ super().__init__(parent, short_name)
86
+
87
+ self.activation = None # type: ModeActivationKind
88
+ self.modeIRefs = [] # type: List[RModeInAtomicSwcInstanceRef]
89
+
90
+ def getActivation(self):
91
+ return self.activation
92
+
93
+ def setActivation(self, value):
94
+ self.activation = value
95
+ return self
96
+
97
+ def getModeIRefs(self):
98
+ return self.modeIRefs
99
+
100
+ def addModeIRef(self, value):
101
+ self.modeIRefs.append(value)
102
+ return self
103
+
104
+ class DataReceiveErrorEvent(RTEEvent):
105
+ def __init__(self, parent: ARObject, short_name: str):
106
+ super().__init__(parent, short_name)
107
+
108
+ self.dataIRef = None
109
+
110
+ def getDataIRef(self):
111
+ return self.dataIRef
112
+
113
+ def setDataIRef(self, value):
114
+ self.dataIRef = value
115
+ return self
116
+
117
+ class OperationInvokedEvent(RTEEvent):
118
+ def __init__(self, parent: ARObject, short_name: str):
119
+ super().__init__(parent, short_name)
120
+
121
+ self.operationIRef = None # type: POperationInAtomicSwcInstanceRef
122
+
123
+ def getOperationIRef(self):
124
+ return self.operationIRef
125
+
126
+ def setOperationIRef(self, value):
127
+ self.operationIRef = value
128
+ return self
129
+
130
+ class InitEvent(RTEEvent):
131
+ def __init__(self, parent: ARObject, short_name: str):
132
+ super().__init__(parent, short_name)
133
+
134
+
135
+ class TimingEvent(RTEEvent):
136
+ def __init__(self, parent: ARObject, short_name: str):
137
+ super().__init__(parent, short_name)
138
+
139
+ self.offset = None # type: TimeValue
140
+ self.period = None # type: TimeValue
141
+
142
+ @property
143
+ def periodMs(self):
144
+ if (self.period < 0.001):
145
+ return self.period * 1000
146
+ else:
147
+ return (int)(self.period * 1000)
148
+
149
+ def getOffset(self):
150
+ return self.offset
151
+
152
+ def setOffset(self, value):
153
+ self.offset = value
154
+ return self
155
+
156
+ def getPeriod(self):
157
+ return self.period
158
+
159
+ def setPeriod(self, value):
160
+ self.period = value
161
+ return self
162
+
163
+ class InternalTriggerOccurredEvent(RTEEvent):
164
+ def __init__(self, parent: ARObject, short_name: str):
165
+ super().__init__(parent, short_name)
166
+
167
+ self.eventSourceRef = None # type: RefType
168
+
169
+ def getEventSourceRef(self):
170
+ return self.eventSourceRef
171
+
172
+ def setEventSourceRef(self, value):
173
+ self.eventSourceRef = value
174
+ return self
@@ -1,8 +1,7 @@
1
1
  from abc import ABCMeta
2
- from .....ar_object import ARObject
3
- from ..composition.instance_refs import ROperationInAtomicSwcInstanceRef
4
- from .access_count import AbstractAccessPoint
5
-
2
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import ROperationInAtomicSwcInstanceRef
6
5
 
7
6
  class ServerCallPoint(AbstractAccessPoint, metaclass = ABCMeta):
8
7
 
@@ -0,0 +1,57 @@
1
+ from typing import List
2
+ from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import NvBlockNeeds, RoleBasedDataAssignment, ServiceNeeds
3
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType
5
+ from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import ServiceDependency
6
+ class RoleBasedPortAssignment(ARObject):
7
+ def __init__(self):
8
+ super().__init__()
9
+
10
+ self.portPrototypeRef = None # type: RefType
11
+ self.role = None # type: Identifier
12
+
13
+ def getPortPrototypeRef(self):
14
+ return self.portPrototypeRef
15
+
16
+ def setPortPrototypeRef(self, value):
17
+ self.portPrototypeRef = value
18
+ return self
19
+
20
+ def getRole(self):
21
+ return self.role
22
+
23
+ def setRole(self, value):
24
+ self.role = value
25
+ return self
26
+
27
+
28
+ class SwcServiceDependency(ServiceDependency):
29
+ def __init__(self, parent: ARObject, short_name: str):
30
+ super().__init__(parent, short_name)
31
+
32
+ self._assigned_data = []
33
+ self._assigned_ports = []
34
+
35
+ def AddAssignedData(self, data: RoleBasedDataAssignment):
36
+ self._assigned_data.append(data)
37
+
38
+ def getAssignedData(self) -> List[RoleBasedDataAssignment]:
39
+ return self._assigned_data
40
+
41
+ def AddAssignedPort(self, data: RoleBasedPortAssignment):
42
+ self._assigned_ports.append(data)
43
+
44
+ def getAssignedPorts(self) -> List[RoleBasedPortAssignment]:
45
+ return self._assigned_ports
46
+
47
+ def createNvBlockNeeds(self, short_name: str) -> NvBlockNeeds:
48
+ if (short_name not in self.elements):
49
+ event = NvBlockNeeds(self, short_name)
50
+ self.elements[short_name] = event
51
+ return self.elements[short_name]
52
+
53
+ def getNvBlockNeeds(self) -> List[NvBlockNeeds]:
54
+ return sorted(filter(lambda c: isinstance(c, NvBlockNeeds), self.elements.values()), key=lambda e: e.short_name)
55
+
56
+ def getServiceNeeds(self) -> List[ServiceNeeds]:
57
+ return sorted(filter(lambda c: isinstance(c, ServiceNeeds), self.elements.values()), key=lambda e: e.short_name)
@@ -0,0 +1,8 @@
1
+ from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
2
+ from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+
4
+ class InternalTriggeringPoint(AbstractAccessPoint):
5
+ def __init__(self, parent: ARObject, short_name: str):
6
+ super().__init__(parent, short_name)
7
+
8
+ self.sw_impl_policy = None