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
armodel/cli/arxml_dump_cli.py
CHANGED
|
@@ -2,14 +2,17 @@ import getopt
|
|
|
2
2
|
import sys
|
|
3
3
|
import logging
|
|
4
4
|
|
|
5
|
-
from ..models.
|
|
6
|
-
from ..models.
|
|
7
|
-
|
|
8
|
-
from ..models import
|
|
9
|
-
from ..models import
|
|
10
|
-
from ..models import
|
|
11
|
-
from ..models import PortPrototype, RPortPrototype,
|
|
12
|
-
from ..models import
|
|
5
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
|
|
6
|
+
from ..models.M2.AUTOSARTemplates.CommonStructure import SwcInternalBehavior
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
|
|
9
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswInternalBehavior, BswModuleEntity
|
|
10
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.PortInterface import SenderReceiverInterface, ClientServerInterface
|
|
11
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import PPortPrototype, PortPrototype, RPortPrototype, SwComponentType
|
|
12
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
|
|
13
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import VariableAccess
|
|
14
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
15
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
|
|
13
16
|
from ..parser import ARXMLParser
|
|
14
17
|
|
|
15
18
|
def show_variable_access(indent:int, variable_access: VariableAccess):
|
|
@@ -35,7 +38,7 @@ def show_port(indent:int, port_prototype: PortPrototype):
|
|
|
35
38
|
raise ValueError("Unsupported Port prototype")
|
|
36
39
|
|
|
37
40
|
def show_type(indent: int, data_type: ImplementationDataType):
|
|
38
|
-
print("%s-Implementation Type: %s (%s)" % (" " * indent, data_type.short_name, data_type.
|
|
41
|
+
print("%s-Implementation Type: %s (%s)" % (" " * indent, data_type.short_name, data_type.parent.full_name))
|
|
39
42
|
print("%s : %s" % (" " * indent, data_type.getCategory()))
|
|
40
43
|
if (data_type.getSwDataDefProps() != None):
|
|
41
44
|
if (data_type.getSwDataDefProps().getBaseTypeRef() != None):
|
|
@@ -87,7 +90,7 @@ def show_sw_component(indent: int, sw_component: SwComponentType):
|
|
|
87
90
|
def show_sender_receiver_interface(indent: int, sr_interface: SenderReceiverInterface):
|
|
88
91
|
print("%s%s" % (" " * indent, sr_interface.short_name))
|
|
89
92
|
for data_element in sr_interface.getDataElements():
|
|
90
|
-
print("%sData Element:%s (%s) " % (" " * (indent + 2), data_element.short_name, data_element.
|
|
93
|
+
print("%sData Element:%s (%s) " % (" " * (indent + 2), data_element.short_name, data_element.getTypeTRef().getValue()))
|
|
91
94
|
|
|
92
95
|
def show_client_server_interface(indent: int, cs_interface: ClientServerInterface):
|
|
93
96
|
print("%s%s" % (" " * indent, cs_interface.short_name))
|
armodel/cli/arxml_format_cli.py
CHANGED
|
@@ -4,8 +4,7 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
from ..models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
9
8
|
from ..parser.arxml_parser import ARXMLParser
|
|
10
9
|
from ..writer import ARXMLWriter
|
|
11
10
|
|
|
@@ -4,9 +4,8 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
|
+
from ..parser import ARXMLParser
|
|
10
9
|
from ..lib import InputFileParser
|
|
11
10
|
from ..report import ConnectorXlsReport
|
|
12
11
|
|
|
@@ -4,14 +4,11 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
from ..models.
|
|
7
|
+
from ..writer.arxml_writer import ARXMLWriter
|
|
8
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
9
9
|
from ..parser.arxml_parser import ARXMLParser
|
|
10
10
|
from ..parser.connector_xlsx_parser import ConnectorXlsReader
|
|
11
11
|
|
|
12
|
-
from ..lib import InputFileParser
|
|
13
|
-
from ..writer import ARXMLWriter
|
|
14
|
-
|
|
15
12
|
def main():
|
|
16
13
|
version = pkg_resources.require("armodel")[0].version
|
|
17
14
|
|
|
@@ -4,8 +4,8 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
|
+
from ..parser import ARXMLParser
|
|
9
9
|
from ..lib import InputFileParser, SystemSignalAnalyzer
|
|
10
10
|
|
|
11
11
|
def main():
|
armodel/cli/swc_list_cli.py
CHANGED
|
@@ -4,9 +4,8 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
|
+
from ..parser import ARXMLParser
|
|
10
9
|
from ..lib import InputFileParser, SwComponentAnalyzer
|
|
11
10
|
|
|
12
11
|
def main():
|
armodel/cli/system_signal_cli.py
CHANGED
|
@@ -4,8 +4,8 @@ import logging
|
|
|
4
4
|
import sys
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
|
+
from ..parser import ARXMLParser
|
|
9
9
|
from ..lib import InputFileParser, SystemSignalAnalyzer
|
|
10
10
|
|
|
11
11
|
def main():
|
armodel/lib/sw_component.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
3
|
from typing import List
|
|
4
|
-
|
|
5
|
-
from ..models.
|
|
6
|
-
from ..models import
|
|
4
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
5
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import AtomicSwComponentType, CompositionSwComponentType
|
|
6
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
7
7
|
|
|
8
8
|
class SwComponentAnalyzer:
|
|
9
9
|
def __init__(self) -> None:
|
armodel/lib/system_signal.py
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from typing import List
|
|
3
|
-
|
|
4
|
-
from ..models.
|
|
5
|
-
|
|
6
|
-
from ..models.m2.autosar_templates.autosar_top_level_structure import AUTOSAR
|
|
7
|
-
from ..models.fibex.fibex_core.core_communication import SystemSignal
|
|
3
|
+
from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import SystemSignal
|
|
4
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
5
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
8
6
|
|
|
9
7
|
class SystemSignalAnalyzer:
|
|
10
8
|
def __init__(self) -> None:
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
from typing import Dict, List
|
|
2
|
-
|
|
3
|
-
from .
|
|
4
|
-
from .
|
|
5
|
-
|
|
6
|
-
from ...
|
|
7
|
-
|
|
8
|
-
from ...datatype import ApplicationDataType, DataTypeMap, SwBaseType
|
|
2
|
+
from ...M2.MSR.AsamHdo.BaseTypes import SwBaseType
|
|
3
|
+
from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement, Referrable
|
|
4
|
+
from ...M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
5
|
+
from ...M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import ApplicationDataType, DataTypeMap
|
|
6
|
+
from ...M2.AUTOSARTemplates.CommonStructure.ImplementationDataTypes import ImplementationDataType
|
|
9
7
|
|
|
10
8
|
class AbstractAUTOSAR(CollectableElement):
|
|
11
9
|
def __init__(self):
|
armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py}
RENAMED
|
@@ -1,13 +1,50 @@
|
|
|
1
|
+
from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
|
|
2
|
+
from ....M2.AUTOSARTemplates.CommonStructure.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARFloat, ARNumerical
|
|
5
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
6
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
7
|
+
from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
|
|
8
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Referrable
|
|
9
|
+
from ....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
|
|
1
10
|
from abc import ABCMeta
|
|
2
|
-
from typing import
|
|
11
|
+
from typing import List
|
|
3
12
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
class BswModuleCallPoint(Referrable):
|
|
14
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
15
|
+
super().__init__(parent, short_name)
|
|
16
|
+
|
|
17
|
+
self.contextLimitationRefs = [] # type: List[RefType]
|
|
9
18
|
|
|
10
|
-
|
|
19
|
+
def getContextLimitationRefs(self):
|
|
20
|
+
return self.contextLimitationRefs
|
|
21
|
+
|
|
22
|
+
def addContextLimitationRef(self, value):
|
|
23
|
+
self.contextLimitationRefs.append(value)
|
|
24
|
+
return self
|
|
25
|
+
|
|
26
|
+
class BswVariableAccess(Referrable):
|
|
27
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
28
|
+
super().__init__(parent, short_name)
|
|
29
|
+
|
|
30
|
+
self.accessedVariableRef = None # type: RefType
|
|
31
|
+
self.contextLimitationRefs = [] # type: List[RefType]
|
|
32
|
+
|
|
33
|
+
def getAccessedVariableRef(self):
|
|
34
|
+
return self.accessedVariableRef
|
|
35
|
+
|
|
36
|
+
def setAccessedVariableRef(self, value):
|
|
37
|
+
self.accessedVariableRef = value
|
|
38
|
+
return self
|
|
39
|
+
|
|
40
|
+
def getContextLimitationRefs(self):
|
|
41
|
+
return self.contextLimitationRefs
|
|
42
|
+
|
|
43
|
+
def addContextLimitationRef(self, value):
|
|
44
|
+
self.contextLimitationRefs.append(value)
|
|
45
|
+
return self
|
|
46
|
+
|
|
47
|
+
class BswModuleEntity(ExecutableEntity, metaclass = ABCMeta):
|
|
11
48
|
def __init__(self, parent: ARObject, short_name: str):
|
|
12
49
|
if type(self) == BswModuleEntity:
|
|
13
50
|
raise NotImplementedError("BswModuleEntity is an abstract class.")
|
|
@@ -15,23 +52,49 @@ class BswModuleEntity(ExecutableEntity, metaclass=ABCMeta):
|
|
|
15
52
|
|
|
16
53
|
self.accessedModeGroupRefs = [] # type: List[RefType]
|
|
17
54
|
self.activationPointRefs = [] # type: List[RefType]
|
|
55
|
+
self.callPoints = [] # type: List[BswModuleCallPoint]
|
|
56
|
+
self.dataReceivePoints = [] # type: List[BswVariableAccess]
|
|
57
|
+
self.dataSendPoints = [] # type: List[BswVariableAccess]
|
|
18
58
|
self.implementedEntryRef = None # type: RefType
|
|
59
|
+
self.issuedTriggerRefs = [] # type: List[RefType]
|
|
19
60
|
self.managedModeGroupRefs = [] # type: List[RefType]
|
|
20
|
-
|
|
61
|
+
self.schedulerNamePrefixRef = None # type: List[RefType]
|
|
62
|
+
|
|
21
63
|
def getAccessedModeGroupRefs(self):
|
|
22
64
|
return self.accessedModeGroupRefs
|
|
23
65
|
|
|
24
|
-
def
|
|
66
|
+
def addAccessedModeGroupRef(self, value):
|
|
25
67
|
self.accessedModeGroupRefs.append(value)
|
|
26
68
|
return self
|
|
27
69
|
|
|
28
70
|
def getActivationPointRefs(self):
|
|
29
71
|
return self.activationPointRefs
|
|
30
72
|
|
|
31
|
-
def
|
|
73
|
+
def addActivationPointRef(self, value):
|
|
32
74
|
self.activationPointRefs.append(value)
|
|
33
75
|
return self
|
|
34
76
|
|
|
77
|
+
def getCallPoints(self):
|
|
78
|
+
return self.callPoints
|
|
79
|
+
|
|
80
|
+
def addCallPoint(self, value):
|
|
81
|
+
self.callPoints.append(value)
|
|
82
|
+
return self
|
|
83
|
+
|
|
84
|
+
def getDataReceivePoint(self):
|
|
85
|
+
return self.dataReceivePoints
|
|
86
|
+
|
|
87
|
+
def addDataReceivePoint(self, value):
|
|
88
|
+
self.dataReceivePoints.append(value)
|
|
89
|
+
return self
|
|
90
|
+
|
|
91
|
+
def getDataSendPoints(self):
|
|
92
|
+
return self.dataSendPoints
|
|
93
|
+
|
|
94
|
+
def addDataSendPoint(self, value):
|
|
95
|
+
self.dataSendPoints.append(value)
|
|
96
|
+
return self
|
|
97
|
+
|
|
35
98
|
def getImplementedEntryRef(self):
|
|
36
99
|
return self.implementedEntryRef
|
|
37
100
|
|
|
@@ -39,20 +102,38 @@ class BswModuleEntity(ExecutableEntity, metaclass=ABCMeta):
|
|
|
39
102
|
self.implementedEntryRef = value
|
|
40
103
|
return self
|
|
41
104
|
|
|
42
|
-
def
|
|
43
|
-
self.
|
|
105
|
+
def getIssuedTriggerRefs(self):
|
|
106
|
+
return self.issuedTriggerRefs
|
|
107
|
+
|
|
108
|
+
def addIssuedTriggerRefs(self, value):
|
|
109
|
+
self.issuedTriggerRefs(value)
|
|
110
|
+
return self
|
|
44
111
|
|
|
45
|
-
def getManagedModeGroupRefs(self)
|
|
112
|
+
def getManagedModeGroupRefs(self):
|
|
46
113
|
return self.managedModeGroupRefs
|
|
47
114
|
|
|
115
|
+
def addManagedModeGroupRef(self, value):
|
|
116
|
+
self.managedModeGroupRefs = value
|
|
117
|
+
return self
|
|
118
|
+
|
|
119
|
+
def getSchedulerNamePrefixRef(self):
|
|
120
|
+
return self.schedulerNamePrefixRef
|
|
121
|
+
|
|
122
|
+
def setSchedulerNamePrefixRef(self, value):
|
|
123
|
+
self.schedulerNamePrefixRef = value
|
|
124
|
+
return self
|
|
125
|
+
|
|
126
|
+
|
|
48
127
|
class BswCalledEntity(BswModuleEntity):
|
|
49
128
|
def __init__(self, parent: ARObject, short_name: str):
|
|
50
129
|
super().__init__(parent, short_name)
|
|
51
130
|
|
|
131
|
+
|
|
52
132
|
class BswSchedulableEntity(BswModuleEntity):
|
|
53
133
|
def __init__(self, parent: ARObject, short_name: str):
|
|
54
134
|
super().__init__(parent, short_name)
|
|
55
135
|
|
|
136
|
+
|
|
56
137
|
class BswInterruptEntity(BswModuleEntity):
|
|
57
138
|
def __init__(self, parent: ARObject, short_name: str):
|
|
58
139
|
super().__init__(parent, short_name)
|
|
@@ -70,6 +151,7 @@ class BswInterruptEntity(BswModuleEntity):
|
|
|
70
151
|
raise ValueError("Invalid interrupt category <%s> of %s" % (value, self.short_name))
|
|
71
152
|
self._interrupt_category = value
|
|
72
153
|
|
|
154
|
+
|
|
73
155
|
class BswEvent(Identifiable, metaclass=ABCMeta):
|
|
74
156
|
def __init__(self, parent: ARObject, short_name: str):
|
|
75
157
|
if type(self) == BswEvent:
|
|
@@ -78,16 +160,19 @@ class BswEvent(Identifiable, metaclass=ABCMeta):
|
|
|
78
160
|
|
|
79
161
|
self.startsOnEventRef = None # type: RefType
|
|
80
162
|
|
|
163
|
+
|
|
81
164
|
class BswOperationInvokedEvent(BswEvent):
|
|
82
165
|
def __init__(self, parent: ARObject, short_name: str):
|
|
83
166
|
super().__init__(parent, short_name)
|
|
84
167
|
|
|
168
|
+
|
|
85
169
|
class BswScheduleEvent(BswEvent, metaclass=ABCMeta):
|
|
86
170
|
def __init__(self, parent: ARObject, short_name: str):
|
|
87
171
|
if type(self) == BswScheduleEvent:
|
|
88
172
|
raise NotImplementedError("BswScheduleEvent is an abstract class.")
|
|
89
173
|
super().__init__(parent, short_name)
|
|
90
174
|
|
|
175
|
+
|
|
91
176
|
class BswModeSwitchEvent(BswScheduleEvent):
|
|
92
177
|
def __init__(self, parent: ARObject, short_name: str):
|
|
93
178
|
super().__init__(parent, short_name)
|
|
@@ -104,10 +189,11 @@ class BswModeSwitchEvent(BswScheduleEvent):
|
|
|
104
189
|
raise ValueError("Invalid activation <%s> of BswModeSwitchEvent <%s>" % (value, self.short_name))
|
|
105
190
|
self._activation = value
|
|
106
191
|
|
|
192
|
+
|
|
107
193
|
class BswTimingEvent(BswScheduleEvent):
|
|
108
194
|
def __init__(self, parent: ARObject, short_name: str):
|
|
109
195
|
super().__init__(parent, short_name)
|
|
110
|
-
|
|
196
|
+
|
|
111
197
|
self.period = None # type: ARFloat
|
|
112
198
|
|
|
113
199
|
@property
|
|
@@ -116,24 +202,28 @@ class BswTimingEvent(BswScheduleEvent):
|
|
|
116
202
|
return int(self.period.value * 1000)
|
|
117
203
|
return None
|
|
118
204
|
|
|
205
|
+
|
|
119
206
|
class BswDataReceivedEvent(BswScheduleEvent):
|
|
120
207
|
def __init__(self, parent: ARObject, short_name: str):
|
|
121
208
|
super().__init__(parent, short_name)
|
|
122
209
|
|
|
123
210
|
self.data_ref = None # type: RefType
|
|
124
211
|
|
|
212
|
+
|
|
125
213
|
class BswInternalTriggerOccurredEvent(BswScheduleEvent):
|
|
126
214
|
def __init__(self, parent: ARObject, short_name: str):
|
|
127
215
|
super().__init__(parent, short_name)
|
|
128
216
|
|
|
129
217
|
self.event_source_ref = None # type: RefType
|
|
130
218
|
|
|
219
|
+
|
|
131
220
|
class BswModeSwitchAckRequest(ARObject):
|
|
132
221
|
def __init__(self):
|
|
133
222
|
super().__init__()
|
|
134
223
|
|
|
135
224
|
self.timeout = None # type: ARFloat
|
|
136
225
|
|
|
226
|
+
|
|
137
227
|
class BswModeSenderPolicy(ARObject):
|
|
138
228
|
def __init__(self):
|
|
139
229
|
super().__init__()
|
|
@@ -149,7 +239,7 @@ class BswModeSenderPolicy(ARObject):
|
|
|
149
239
|
|
|
150
240
|
def getProvidedModeGroupRef(self) -> RefType:
|
|
151
241
|
return self._provided_mode_group_ref
|
|
152
|
-
|
|
242
|
+
|
|
153
243
|
def setQueueLength(self, length: any):
|
|
154
244
|
if isinstance(length, ARNumerical):
|
|
155
245
|
self._queue_length = length
|
|
@@ -158,10 +248,11 @@ class BswModeSenderPolicy(ARObject):
|
|
|
158
248
|
self._queue_length.setValue(length)
|
|
159
249
|
else:
|
|
160
250
|
raise ValueError("Unsupported type <%s>" % type(length))
|
|
161
|
-
|
|
251
|
+
|
|
162
252
|
def getQueueLength(self) -> ARNumerical:
|
|
163
253
|
return self._queue_length
|
|
164
254
|
|
|
255
|
+
|
|
165
256
|
class BswInternalBehavior(InternalBehavior):
|
|
166
257
|
def __init__(self, parent: ARObject, short_name: str):
|
|
167
258
|
super().__init__(parent, short_name)
|
|
@@ -197,7 +288,7 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
197
288
|
|
|
198
289
|
def getBswSchedulableEntities(self) -> List[BswSchedulableEntity]:
|
|
199
290
|
return list(filter(lambda a: isinstance(a, BswSchedulableEntity), self.elements.values()))
|
|
200
|
-
|
|
291
|
+
|
|
201
292
|
def getBswModuleEntities(self) -> List[BswModuleEntity]:
|
|
202
293
|
return list(filter(lambda a: isinstance(a, BswModuleEntity), self.elements.values()))
|
|
203
294
|
|
|
@@ -210,7 +301,7 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
210
301
|
|
|
211
302
|
def getBswModeSwitchEvents(self) -> List[BswModeSwitchEvent]:
|
|
212
303
|
return list(filter(lambda a: isinstance(a, BswModeSwitchEvent), self.elements.values()))
|
|
213
|
-
|
|
304
|
+
|
|
214
305
|
def createBswTimingEvent(self, short_name: str) -> BswTimingEvent:
|
|
215
306
|
if (short_name not in self.elements):
|
|
216
307
|
event = BswTimingEvent(self, short_name)
|
|
@@ -240,138 +331,20 @@ class BswInternalBehavior(InternalBehavior):
|
|
|
240
331
|
|
|
241
332
|
def getBswInternalTriggerOccurredEvents(self) -> List[BswInternalTriggerOccurredEvent]:
|
|
242
333
|
return list(filter(lambda a: isinstance(a, BswInternalTriggerOccurredEvent), self.elements.values()))
|
|
243
|
-
|
|
334
|
+
|
|
244
335
|
def getBswEvents(self) -> List[BswEvent]:
|
|
245
336
|
return list(filter(lambda a: isinstance(a, BswEvent), self.elements.values()))
|
|
246
|
-
|
|
337
|
+
|
|
247
338
|
def addIncludedModeDeclarationGroupSet(self, group_set: IncludedModeDeclarationGroupSet):
|
|
248
339
|
self.included_mode_declaration_group_sets.append(group_set)
|
|
249
340
|
|
|
250
341
|
def getIncludedModeDeclarationGroupSets(self) -> List[IncludedModeDeclarationGroupSet]:
|
|
251
342
|
return self.included_mode_declaration_group_sets
|
|
252
|
-
|
|
343
|
+
|
|
253
344
|
def addIncludedDataTypeSet(self, type_set: IncludedDataTypeSet):
|
|
254
345
|
self.included_data_type_sets.append(type_set)
|
|
255
346
|
|
|
256
347
|
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
257
348
|
return self.included_data_type_sets
|
|
258
349
|
|
|
259
|
-
|
|
260
|
-
'''
|
|
261
|
-
Root element for the description of a single BSW module or BSW cluster. In case it
|
|
262
|
-
describes a BSW module, the short name of this element equals the name of the
|
|
263
|
-
BSW module.
|
|
264
|
-
|
|
265
|
-
**attributes**:
|
|
266
|
-
module_id : MODULE-ID
|
|
267
|
-
implemented_entry_refs : PROVIDED-ENTRYS
|
|
268
|
-
'''
|
|
269
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
270
|
-
super().__init__(parent, short_name)
|
|
271
|
-
|
|
272
|
-
# MODULE-ID
|
|
273
|
-
self.module_id = None # type: ARPositiveInteger
|
|
274
|
-
# PROVIDED-ENTRYS
|
|
275
|
-
self._implementedEntryRefs = [] # type: List[RefType]
|
|
276
|
-
|
|
277
|
-
self.providedModeGroups = {} # type: Dict[str, ModeDeclarationGroupPrototype]
|
|
278
|
-
self.requiredModeGroups = {} # type: Dict[str, ModeDeclarationGroupPrototype]
|
|
279
|
-
|
|
280
|
-
def addImplementedEntry(self, entry_ref: RefType):
|
|
281
|
-
self._implementedEntryRefs.append(entry_ref)
|
|
282
|
-
|
|
283
|
-
def getImplementedEntries(self) -> List[RefType]:
|
|
284
|
-
return self._implementedEntryRefs
|
|
285
|
-
|
|
286
|
-
#@property
|
|
287
|
-
#def category(self) -> str:
|
|
288
|
-
# return ARElement.getCategory(self)
|
|
289
|
-
|
|
290
|
-
#@category.setter
|
|
291
|
-
#def category(self, value:str):
|
|
292
|
-
# if value is None:
|
|
293
|
-
# return
|
|
294
|
-
# if value not in ("BSW_MODULE", "BSW_CLUSTER", "LIBRARY"):
|
|
295
|
-
# raise ValueError("Invalid category <%s> of BswModuleDescription <%s>" % (value, self.short_name))
|
|
296
|
-
# ARElement.setCategory(self, value)
|
|
297
|
-
|
|
298
|
-
def createProvidedModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
|
|
299
|
-
if (short_name not in self.elements):
|
|
300
|
-
prototype = ModeDeclarationGroupPrototype(self, short_name)
|
|
301
|
-
self.elements[short_name] = prototype
|
|
302
|
-
self.providedModeGroups[short_name] = prototype
|
|
303
|
-
return self.elements[short_name]
|
|
304
|
-
|
|
305
|
-
def getProvidedModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
|
|
306
|
-
return sorted(self.providedModeGroups.values(), key=lambda v: v.short_name)
|
|
307
|
-
|
|
308
|
-
def createRequiredModeGroup(self, short_name: str) -> ModeDeclarationGroupPrototype:
|
|
309
|
-
if (short_name not in self.elements):
|
|
310
|
-
prototype = ModeDeclarationGroupPrototype(self, short_name)
|
|
311
|
-
self.elements[short_name] = prototype
|
|
312
|
-
self.requiredModeGroups[short_name] = property
|
|
313
|
-
return self.elements[short_name]
|
|
314
|
-
|
|
315
|
-
def getRequiredModeGroups(self) -> List[ModeDeclarationGroupPrototype]:
|
|
316
|
-
return sorted(self.requiredModeGroups.values(), key=lambda v: v.short_name)
|
|
317
|
-
|
|
318
|
-
def createBswInternalBehavior(self, short_name: str) -> BswInternalBehavior:
|
|
319
|
-
'''
|
|
320
|
-
Create the INTERNAL-BEHAVIORS tag
|
|
321
|
-
'''
|
|
322
|
-
if (short_name not in self.elements):
|
|
323
|
-
prototype = BswInternalBehavior(self, short_name)
|
|
324
|
-
self.elements[short_name] = prototype
|
|
325
|
-
return self.elements[short_name]
|
|
326
|
-
|
|
327
|
-
def getBswInternalBehaviors(self) -> List[BswInternalBehavior]:
|
|
328
|
-
return list(filter(lambda a: isinstance(a, BswInternalBehavior), self.elements.values()))
|
|
329
|
-
|
|
330
|
-
class BswModuleEntry(ARElement):
|
|
331
|
-
def __init__(self, parent: ARObject, short_name: str):
|
|
332
|
-
super().__init__(parent, short_name)
|
|
333
|
-
|
|
334
|
-
self.service_id = None # type: ARNumerical
|
|
335
|
-
self.is_reentrant = None # type: ARBoolean
|
|
336
|
-
self.is_synchronous = None # type: ARBoolean
|
|
337
|
-
self.call_type = None # type: ARLiteral
|
|
338
|
-
self._execution_context = None # type: ARLiteral
|
|
339
|
-
self._sw_service_impl_policy = None # type: ARLiteral
|
|
340
|
-
|
|
341
|
-
@property
|
|
342
|
-
def execution_context(self):
|
|
343
|
-
return self._execution_context
|
|
344
|
-
|
|
345
|
-
@execution_context.setter
|
|
346
|
-
def execution_context(self, value):
|
|
347
|
-
if value.upper() not in ("HOOK", "INTERRUPT-CAT-1", "INTERRUPT-CAT-2", "TASK", "UNSPECIFIED"):
|
|
348
|
-
raise ValueError("Invalid execution context <%s> of BswModuleEntry <%s>" % (value, self.short_name))
|
|
349
|
-
self._execution_context = value
|
|
350
|
-
|
|
351
|
-
@property
|
|
352
|
-
def sw_service_impl_policy(self):
|
|
353
|
-
return self._sw_service_impl_policy
|
|
354
|
-
|
|
355
|
-
@sw_service_impl_policy.setter
|
|
356
|
-
def sw_service_impl_policy(self, value):
|
|
357
|
-
if value.upper() not in ("INLINE", "INLINE-CONDITIONAL", "MACRO", "STANDARD"):
|
|
358
|
-
raise ValueError("Invalid SwServiceImplPolicy <%s> of BswModuleEntry <%s>" % (value, self.short_name))
|
|
359
|
-
self._sw_service_impl_policy = value
|
|
360
|
-
|
|
361
|
-
def __str__(self) -> str:
|
|
362
|
-
result = []
|
|
363
|
-
result.append("short_name : %s" % self.short_name)
|
|
364
|
-
if self.service_id != None:
|
|
365
|
-
result.append("service_id : %d" % self.service_id)
|
|
366
|
-
if self.is_reentrant != None:
|
|
367
|
-
result.append("is_reentrant : %s" % self.is_reentrant)
|
|
368
|
-
if self.is_synchronous != None:
|
|
369
|
-
result.append("is_synchronous : %s" % self.is_synchronous)
|
|
370
|
-
if self.call_type != None:
|
|
371
|
-
result.append("call_type : %s" % self.call_type)
|
|
372
|
-
if self.execution_context != None:
|
|
373
|
-
result.append("execution_context : %s" % self.execution_context)
|
|
374
|
-
if self.sw_service_impl_policy != None:
|
|
375
|
-
result.append("sw_service_impl_policy : %s" % self.sw_service_impl_policy)
|
|
376
|
-
|
|
377
|
-
return "\n".join(result)
|
|
350
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, Identifier, RefType
|
|
3
|
+
from ....M2.AUTOSARTemplates.CommonStructure.Implementation import Implementation
|
|
4
|
+
from typing import List
|
|
5
|
+
|
|
6
|
+
class BswImplementation(Implementation):
|
|
7
|
+
def __init__(self, parent: ARObject, short_name: str) -> None:
|
|
8
|
+
super().__init__(parent, short_name)
|
|
9
|
+
|
|
10
|
+
self.arReleaseVersion = None # type: RevisionLabelString
|
|
11
|
+
self.behaviorRef = None # type: RefType
|
|
12
|
+
self.preconfiguredConfigurationRefs = [] # type: List[RefType]
|
|
13
|
+
self.recommendedConfigurationRefs = [] # type: List[RefType]
|
|
14
|
+
self.vendorApiInfix = None # type: Identifier
|
|
15
|
+
self.vendorSpecificModuleDefRefs = [] # type: List[RefType]
|
|
16
|
+
|
|
17
|
+
def getArReleaseVersion(self):
|
|
18
|
+
return self.arReleaseVersion
|
|
19
|
+
|
|
20
|
+
def setArReleaseVersion(self, value):
|
|
21
|
+
self.arReleaseVersion = value
|
|
22
|
+
return self
|
|
23
|
+
|
|
24
|
+
def getBehaviorRef(self):
|
|
25
|
+
return self.behaviorRef
|
|
26
|
+
|
|
27
|
+
def setBehaviorRef(self, value):
|
|
28
|
+
self.behaviorRef = value
|
|
29
|
+
return self
|
|
30
|
+
|
|
31
|
+
def getPreconfiguredConfigurationRefs(self):
|
|
32
|
+
return self.preconfiguredConfigurationRefs
|
|
33
|
+
|
|
34
|
+
def addPreconfiguredConfigurationRef(self, value):
|
|
35
|
+
self.preconfiguredConfigurationRefs.append(value)
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
def getRecommendedConfigurationRefs(self):
|
|
39
|
+
return self.recommendedConfigurationRefs
|
|
40
|
+
|
|
41
|
+
def addRecommendedConfigurationRef(self, value):
|
|
42
|
+
self.recommendedConfigurationRefs.append(value)
|
|
43
|
+
return self
|
|
44
|
+
|
|
45
|
+
def getVendorApiInfix(self):
|
|
46
|
+
return self.vendorApiInfix
|
|
47
|
+
|
|
48
|
+
def setVendorApiInfix(self, value):
|
|
49
|
+
self.vendorApiInfix = value
|
|
50
|
+
return self
|
|
51
|
+
|
|
52
|
+
def getVendorSpecificModuleDefRefs(self):
|
|
53
|
+
return self.vendorSpecificModuleDefRefs
|
|
54
|
+
|
|
55
|
+
def addVendorSpecificModuleDefRef(self, value):
|
|
56
|
+
self.vendorSpecificModuleDefRefs.append(value)
|
|
57
|
+
return self
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|