armodel 1.6.1__py3-none-any.whl → 1.6.3__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 +31 -25
- armodel/cli/arxml_format_cli.py +1 -4
- armodel/cli/connector_update_cli.py +1 -1
- armodel/cli/swc_list_cli.py +1 -1
- armodel/lib/sw_component.py +3 -1
- armodel/lib/system_signal.py +3 -1
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +123 -0
- armodel/models/{bsw_module_template.py → M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py} +115 -140
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +21 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +52 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +78 -0
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +81 -0
- armodel/models/{m2/autosar_templates/common_structure/implementation_data_types.py → M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py} +20 -10
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +108 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +96 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +72 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +22 -0
- armodel/models/{service_needs.py → M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py} +7 -7
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +36 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +27 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +9 -0
- armodel/models/{m2/autosar_templates/common_structure → M2/AUTOSARTemplates/CommonStructure}/__init__.py +5 -2
- armodel/models/{m2/autosar_templates/generic_structure/abstract_structure.py → M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py} +25 -2
- armodel/models/{ar_package.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py} +113 -218
- 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 +55 -0
- armodel/models/{general_structure.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py} +37 -149
- armodel/models/{ar_object.py → M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py} +163 -70
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +1 -0
- 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 -2
- armodel/models/{m2/autosar_templates/sw_component_template/components → M2/AUTOSARTemplates/SWComponentTemplate/Components}/__init__.py +10 -8
- armodel/models/{m2/autosar_templates/sw_component_template/composition/instance_refs.py → M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/composition → M2/AUTOSARTemplates/SWComponentTemplate/Composition}/__init__.py +5 -5
- armodel/models/{m2/autosar_templates/sw_component_template/data_type/data_prototypes.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py} +25 -7
- armodel/models/{datatype.py → M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py} +16 -74
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +1 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +177 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +11 -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} +3 -3
- armodel/models/{per_instance_memory.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py} +5 -6
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py} +3 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +23 -0
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py} +2 -2
- armodel/models/{m2/autosar_templates/sw_component_template/swc_internal_behavior → M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior}/__init__.py +9 -10
- armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/__init__.py +12 -8
- armodel/models/{m2/autosar_templates/sw_component_template → M2/AUTOSARTemplates/SWComponentTemplate}/port_interface/instance_refs.py +2 -2
- armodel/models/{m2/autosar_templates/system_template/instance_refs.py → M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py} +2 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/__init__.py +4 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/data_mapping.py +2 -2
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/network_management.py +7 -3
- armodel/models/{m2/autosar_templates/system_template → M2/AUTOSARTemplates/SystemTemplate}/transport_protocols.py +1 -1
- armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/ecuc_description_template.py +10 -6
- armodel/models/M2/MSR/AsamHdo/AdminData.py +21 -0
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +77 -0
- armodel/models/{m2_msr.py → M2/MSR/AsamHdo/ComputationMethod.py} +44 -28
- armodel/models/{global_constraints.py → M2/MSR/AsamHdo/Constraints/GlobalConstraints.py} +7 -4
- armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +1 -0
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +63 -0
- armodel/models/{m2/msr/asam_hdo/units.py → M2/MSR/AsamHdo/Units.py} +6 -3
- armodel/models/M2/MSR/AsamHdo/__init__.py +1 -0
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +30 -0
- armodel/models/M2/MSR/CalibrationData/__init__.py +1 -0
- armodel/models/{m2/msr/data_dictionary/auxillary_objects.py → M2/MSR/DataDictionary/AuxillaryObjects.py} +4 -2
- 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 -9
- armodel/models/{record_layout.py → M2/MSR/DataDictionary/RecordLayout.py} +26 -25
- armodel/models/M2/MSR/DataDictionary/__init__.py +1 -0
- armodel/models/{annotation.py → M2/MSR/Documentation/Annotation.py} +8 -8
- armodel/models/{m2/msr/documentation/block_elements.py → M2/MSR/Documentation/BlockElements.py} +2 -2
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +17 -0
- armodel/models/{multilanguage_data.py → M2/MSR/Documentation/TextModel/MultilanguageData.py} +21 -30
- armodel/models/M2/MSR/Documentation/TextModel/__init__.py +2 -0
- armodel/models/M2/MSR/Documentation/__init__.py +3 -0
- armodel/models/M2/MSR/__init__.py +1 -0
- armodel/models/M2/__init__.py +1 -0
- armodel/models/__init__.py +6 -23
- armodel/models/fibex/can_communication.py +3 -2
- armodel/models/fibex/fibex_4_multiplatform.py +5 -3
- armodel/models/fibex/fibex_core/core_communication.py +9 -3
- armodel/models/fibex/fibex_core/core_topology.py +7 -3
- armodel/models/fibex/lin_communication.py +5 -1
- armodel/models/rpt_scenario.py +2 -2
- armodel/models/sw_component.py +19 -14
- armodel/models/timing.py +3 -3
- armodel/parser/abstract_arxml_parser.py +8 -4
- armodel/parser/arxml_parser.py +120 -86
- armodel/parser/connector_xlsx_parser.py +6 -2
- armodel/report/connector_xls_report.py +2 -1
- armodel/tests/test_armodel/models/test_ar_object.py +2 -1
- armodel/tests/test_armodel/models/test_ar_package.py +20 -8
- 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 +7 -3
- armodel/tests/test_armodel/models/test_datatype.py +22 -8
- 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 +16 -6
- armodel/tests/test_armodel/models/test_port_prototype.py +1 -1
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +3 -1
- 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 +100 -67
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/METADATA +366 -356
- armodel-1.6.3.dist-info/RECORD +148 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/WHEEL +1 -1
- armodel/lib/data_analyzer.py +0 -34
- 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/ecuc_parameter_def_template.py +0 -0
- 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/constants.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/implementation.py +0 -21
- armodel/models/m2/autosar_templates/generic_structure/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/data_type/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +0 -236
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- 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/system_template/__init__.py +0 -0
- armodel/models/system_template/network_management.py +0 -7
- armodel/models/system_template/transport_protocols.py +0 -7
- armodel/models/unit.py +0 -14
- armodel-1.6.1.dist-info/RECORD +0 -140
- /armodel/models/{m2 → M2/AUTOSARTemplates/SWComponentTemplate}/__init__.py +0 -0
- /armodel/models/{m2/autosar_templates → M2/AUTOSARTemplates}/__init__.py +0 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/LICENSE +0 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.1.dist-info → armodel-1.6.3.dist-info}/top_level.txt +0 -0
armodel/cli/arxml_dump_cli.py
CHANGED
|
@@ -2,46 +2,52 @@ import getopt
|
|
|
2
2
|
import sys
|
|
3
3
|
import logging
|
|
4
4
|
|
|
5
|
-
from ..models import
|
|
5
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswOverview import BswModuleDescription
|
|
6
|
+
|
|
7
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import PPortPrototype, PortPrototype, RPortPrototype
|
|
8
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Datatype.Datatypes import DataTypeMappingSet
|
|
9
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswInternalBehavior, BswModuleEntity
|
|
10
|
+
from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import VariableAccess
|
|
11
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
12
|
+
from ..models import AUTOSAR, SwComponentType
|
|
6
13
|
from ..models import SwcInternalBehavior, ImplementationDataType
|
|
7
|
-
from ..models import
|
|
8
|
-
from ..models import PortPrototype, RPortPrototype, PPortPrototype
|
|
14
|
+
from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
|
|
9
15
|
from ..models import SenderReceiverInterface, ClientServerInterface
|
|
10
16
|
from ..parser import ARXMLParser
|
|
11
17
|
|
|
12
18
|
def show_variable_access(indent:int, variable_access: VariableAccess):
|
|
13
|
-
if (variable_access.
|
|
14
|
-
accessed_variable_ref = variable_access.
|
|
15
|
-
if (accessed_variable_ref.
|
|
16
|
-
autosar_variable_in_impl_datatype = accessed_variable_ref.
|
|
17
|
-
print("%s: %s" % (" " * indent, autosar_variable_in_impl_datatype.
|
|
18
|
-
print("%s: %s" % (" " * indent, autosar_variable_in_impl_datatype.
|
|
19
|
+
if (variable_access.getAccessedVariableRef() != None):
|
|
20
|
+
accessed_variable_ref = variable_access.getAccessedVariableRef()
|
|
21
|
+
if (accessed_variable_ref.getAutosarVariableInImplDatatype() != None):
|
|
22
|
+
autosar_variable_in_impl_datatype = accessed_variable_ref.getAutosarVariableInImplDatatype()
|
|
23
|
+
print("%s: %s" % (" " * indent, autosar_variable_in_impl_datatype.getPortPrototypeRef().getValue()))
|
|
24
|
+
print("%s: %s" % (" " * indent, autosar_variable_in_impl_datatype.getTargetDataPrototypeRef().getValue()))
|
|
19
25
|
|
|
20
26
|
def show_port(indent:int, port_prototype: PortPrototype):
|
|
21
27
|
if (isinstance(port_prototype, RPortPrototype)):
|
|
22
|
-
print("%s-RPort: %s (%s)" % (" " * indent, port_prototype.short_name, port_prototype.
|
|
28
|
+
print("%s-RPort: %s (%s)" % (" " * indent, port_prototype.short_name, port_prototype.getRequiredInterfaceTRef().getValue()))
|
|
23
29
|
for client_com_spec in port_prototype.getClientComSpecs():
|
|
24
|
-
print("%s : %s (ClientComSpec)" % (" " * (indent + 2), client_com_spec.
|
|
30
|
+
print("%s : %s (ClientComSpec)" % (" " * (indent + 2), client_com_spec.getOperationRef().getValue()))
|
|
25
31
|
for com_spec in port_prototype.getNonqueuedReceiverComSpecs():
|
|
26
|
-
print("%s : %s (NonqueuedReceiverComSpec)" % (" " * (indent + 2), com_spec.
|
|
32
|
+
print("%s : %s (NonqueuedReceiverComSpec)" % (" " * (indent + 2), com_spec.getDataElementRef().getValue()))
|
|
27
33
|
elif (isinstance(port_prototype, PPortPrototype)):
|
|
28
|
-
print("%s-PPort: %s (%s)" % (" " * indent, port_prototype.short_name, port_prototype.
|
|
34
|
+
print("%s-PPort: %s (%s)" % (" " * indent, port_prototype.short_name, port_prototype.getProvidedInterfaceTRef().getValue()))
|
|
29
35
|
for com_spec in port_prototype.getNonqueuedSenderComSpecs():
|
|
30
|
-
print("%s : %s (NonqueuedSenderComSpec)" % (" " * (indent + 2), com_spec.
|
|
36
|
+
print("%s : %s (NonqueuedSenderComSpec)" % (" " * (indent + 2), com_spec.getDataElementRef().getValue()))
|
|
31
37
|
else:
|
|
32
38
|
raise ValueError("Unsupported Port prototype")
|
|
33
39
|
|
|
34
40
|
def show_type(indent: int, data_type: ImplementationDataType):
|
|
35
41
|
print("%s-Implementation Type: %s (%s)" % (" " * indent, data_type.short_name, data_type._parent.full_name))
|
|
36
|
-
print("%s : %s" % (" " * indent, data_type.
|
|
37
|
-
if (data_type.
|
|
38
|
-
if (data_type.
|
|
39
|
-
base_type_ref = data_type.
|
|
40
|
-
print("%s : %s (%s)" % (" " * indent, base_type_ref.
|
|
42
|
+
print("%s : %s" % (" " * indent, data_type.getCategory()))
|
|
43
|
+
if (data_type.getSwDataDefProps() != None):
|
|
44
|
+
if (data_type.getSwDataDefProps().getBaseTypeRef() != None):
|
|
45
|
+
base_type_ref = data_type.getSwDataDefProps().getBaseTypeRef()
|
|
46
|
+
print("%s : %s (%s)" % (" " * indent, base_type_ref.getValue(), base_type_ref.getDest()))
|
|
41
47
|
|
|
42
|
-
if (data_type.
|
|
43
|
-
implementation_data_type_ref = data_type.
|
|
44
|
-
print("%s : %s (%s)" % (" " * indent, implementation_data_type_ref.
|
|
48
|
+
if (data_type.getSwDataDefProps().getImplementationDataTypeRef() != None):
|
|
49
|
+
implementation_data_type_ref = data_type.getSwDataDefProps().getImplementationDataTypeRef()
|
|
50
|
+
print("%s : %s (%s)" % (" " * indent, implementation_data_type_ref.getValue(), implementation_data_type_ref.getDest()))
|
|
45
51
|
|
|
46
52
|
def show_data_type_mapping(indent: int, mapping_set: DataTypeMappingSet):
|
|
47
53
|
print("%s- Data Mapping Set <%s>:" % (" " * indent, mapping_set.short_name))
|
|
@@ -63,8 +69,8 @@ def show_behavior(indent:int, behavior: SwcInternalBehavior):
|
|
|
63
69
|
for server_call_point in runnable.getServerCallPoints():
|
|
64
70
|
print("%s-scp : %s" % (" " * (indent + 4), variable_access.short_name))
|
|
65
71
|
if (server_call_point.operation_iref != None):
|
|
66
|
-
print("%s: %s" % (" " * (indent + 9), server_call_point.
|
|
67
|
-
print("%s: %s" % (" " * (indent + 9), server_call_point.
|
|
72
|
+
print("%s: %s" % (" " * (indent + 9), server_call_point.getOperationIRef().getContextRPortRef().getValue()))
|
|
73
|
+
print("%s: %s" % (" " * (indent + 9), server_call_point.getOperationIRef().getTargetRequiredOperationRef().getValue()))
|
|
68
74
|
for event in behavior.getOperationInvokedEvents():
|
|
69
75
|
print(" - OperationInvokedEvent : %s" % event.short_name)
|
|
70
76
|
print(" : %s" % (event.start_on_event_ref.value))
|
|
@@ -84,7 +90,7 @@ def show_sw_component(indent: int, sw_component: SwComponentType):
|
|
|
84
90
|
def show_sender_receiver_interface(indent: int, sr_interface: SenderReceiverInterface):
|
|
85
91
|
print("%s%s" % (" " * indent, sr_interface.short_name))
|
|
86
92
|
for data_element in sr_interface.getDataElements():
|
|
87
|
-
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()))
|
|
88
94
|
|
|
89
95
|
def show_client_server_interface(indent: int, cs_interface: ClientServerInterface):
|
|
90
96
|
print("%s%s" % (" " * indent, cs_interface.short_name))
|
armodel/cli/arxml_format_cli.py
CHANGED
|
@@ -5,11 +5,8 @@ import sys
|
|
|
5
5
|
import os.path
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
from ..models.
|
|
8
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
9
9
|
from ..parser.arxml_parser import ARXMLParser
|
|
10
|
-
from ..parser.connector_xlsx_parser import ConnectorXlsReader
|
|
11
|
-
|
|
12
|
-
from ..lib import InputFileParser
|
|
13
10
|
from ..writer import ARXMLWriter
|
|
14
11
|
|
|
15
12
|
def main():
|
armodel/cli/swc_list_cli.py
CHANGED
armodel/lib/sw_component.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
|
|
3
3
|
from typing import List
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
6
|
+
from ..models import AUTOSAR, AtomicSwComponentType, CompositionSwComponentType
|
|
5
7
|
|
|
6
8
|
class SwComponentAnalyzer:
|
|
7
9
|
def __init__(self) -> None:
|
armodel/lib/system_signal.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from typing import List
|
|
3
3
|
|
|
4
|
-
from ..models.
|
|
4
|
+
from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
5
|
+
|
|
6
|
+
from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
|
|
5
7
|
from ..models.fibex.fibex_core.core_communication import SystemSignal
|
|
6
8
|
|
|
7
9
|
class SystemSignalAnalyzer:
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
from typing import Dict, List
|
|
2
|
+
|
|
3
|
+
from .SWComponentTemplate.Datatype.Datatypes import ApplicationDataType
|
|
4
|
+
|
|
5
|
+
from ..MSR.AsamHdo.BaseTypes import SwBaseType
|
|
6
|
+
|
|
7
|
+
from .GenericStructure.GeneralTemplateClasses.Identifiable import CollectableElement
|
|
8
|
+
from .GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
|
|
9
|
+
from .CommonStructure.ImplementationDataTypes import ImplementationDataType
|
|
10
|
+
from .GenericStructure.GeneralTemplateClasses.Identifiable import Referrable
|
|
11
|
+
from .SWComponentTemplate.Datatype.Datatypes import DataTypeMap
|
|
12
|
+
|
|
13
|
+
class AbstractAUTOSAR(CollectableElement):
|
|
14
|
+
def __init__(self):
|
|
15
|
+
super().__init__()
|
|
16
|
+
|
|
17
|
+
CollectableElement.__init__(self)
|
|
18
|
+
|
|
19
|
+
self.schema_location = ""
|
|
20
|
+
self._appl_impl_type_maps = {}
|
|
21
|
+
self._impl_appl_type_maps = {}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
self._ar_packages = {} # type: Dict[str, ARPackage]
|
|
25
|
+
self.short_name_mappings = {} # type: Dict[str, str]
|
|
26
|
+
|
|
27
|
+
def reload(self):
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def full_name(self):
|
|
32
|
+
return ""
|
|
33
|
+
|
|
34
|
+
def clear(self):
|
|
35
|
+
self._ar_packages = {}
|
|
36
|
+
self.elements = {}
|
|
37
|
+
|
|
38
|
+
def getElement(self, short_name: str) -> Referrable:
|
|
39
|
+
if (short_name in self._ar_packages):
|
|
40
|
+
return self._ar_packages[short_name]
|
|
41
|
+
return CollectableElement.getElement(self, short_name)
|
|
42
|
+
|
|
43
|
+
def getARPackages(self) -> List[ARPackage]:
|
|
44
|
+
#return list(filter(lambda e: isinstance(e, ARPackage), self.elements.values()))
|
|
45
|
+
return list(sorted(self._ar_packages.values(), key= lambda a: a.short_name))
|
|
46
|
+
|
|
47
|
+
def createARPackage(self, short_name: str) -> ARPackage:
|
|
48
|
+
if (short_name not in self._ar_packages):
|
|
49
|
+
ar_package = ARPackage(self, short_name)
|
|
50
|
+
self._ar_packages[short_name] = ar_package
|
|
51
|
+
return self._ar_packages[short_name]
|
|
52
|
+
|
|
53
|
+
def find(self, referred_name: str) -> Referrable:
|
|
54
|
+
short_name_list = referred_name.split("/")
|
|
55
|
+
element = AUTOSAR.getInstance()
|
|
56
|
+
for short_name in short_name_list:
|
|
57
|
+
if (short_name == ""):
|
|
58
|
+
continue
|
|
59
|
+
element = element.getElement(short_name)
|
|
60
|
+
if (element == None):
|
|
61
|
+
return element
|
|
62
|
+
# raise ValueError("The %s of reference <%s> does not exist." % (short_name, referred_name))
|
|
63
|
+
return element
|
|
64
|
+
|
|
65
|
+
def findByShortName(self, short_name: str) -> Referrable:
|
|
66
|
+
pass
|
|
67
|
+
|
|
68
|
+
def getDataType(self, data_type: ImplementationDataType) -> ImplementationDataType:
|
|
69
|
+
if (isinstance(data_type, ImplementationDataType) or isinstance(data_type, SwBaseType)):
|
|
70
|
+
if (data_type.category == ImplementationDataType.CATEGORY_TYPE_REFERENCE):
|
|
71
|
+
referred_type = self.find(data_type.swDataDefProps.implementationDataTypeRef.value)
|
|
72
|
+
return self.getDataType(referred_type)
|
|
73
|
+
if (data_type.category == ImplementationDataType.CATEGORY_DATA_REFERENCE):
|
|
74
|
+
if (data_type.swDataDefProps.swPointerTargetProps.target_category == "VALUE"):
|
|
75
|
+
referred_type = self.find(data_type.swDataDefProps.swPointerTargetProps.sw_data_def_props.baseTypeRef.value)
|
|
76
|
+
return self.getDataType(referred_type)
|
|
77
|
+
return data_type
|
|
78
|
+
else:
|
|
79
|
+
raise ValueError("%s is not ImplementationDataType." % data_type)
|
|
80
|
+
|
|
81
|
+
def addDataTypeMap(self, data_type_map: DataTypeMap):
|
|
82
|
+
if (data_type_map.application_data_type_ref is None) or (data_type_map.implementation_data_type_ref is None):
|
|
83
|
+
return
|
|
84
|
+
self._appl_impl_type_maps[data_type_map.application_data_type_ref.value] = data_type_map.implementation_data_type_ref.value
|
|
85
|
+
self._impl_appl_type_maps[data_type_map.implementation_data_type_ref.value] = data_type_map.application_data_type_ref.value
|
|
86
|
+
|
|
87
|
+
def convertToImplementationDataType(self, appl_data_type: str) -> ImplementationDataType:
|
|
88
|
+
if (appl_data_type not in self._appl_impl_type_maps.keys()):
|
|
89
|
+
raise IndexError("Invalid application data type <%s>" % appl_data_type)
|
|
90
|
+
|
|
91
|
+
return self.find(self._appl_impl_type_maps[appl_data_type])
|
|
92
|
+
|
|
93
|
+
def convertToApplicationDataType(self, impl_data_type: str) -> ApplicationDataType:
|
|
94
|
+
if (impl_data_type not in self._impl_appl_type_maps.keys()):
|
|
95
|
+
raise IndexError("Invalid Implementation data type <%s>" % impl_data_type)
|
|
96
|
+
|
|
97
|
+
return self.find(self._impl_appl_type_maps[impl_data_type])
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class AUTOSAR (AbstractAUTOSAR):
|
|
101
|
+
__instance = None
|
|
102
|
+
|
|
103
|
+
@staticmethod
|
|
104
|
+
def getInstance():
|
|
105
|
+
if (AUTOSAR.__instance == None):
|
|
106
|
+
AUTOSAR()
|
|
107
|
+
return AUTOSAR.__instance
|
|
108
|
+
|
|
109
|
+
def new(self):
|
|
110
|
+
self.clear()
|
|
111
|
+
|
|
112
|
+
def __init__(self):
|
|
113
|
+
if (AUTOSAR.__instance != None):
|
|
114
|
+
raise Exception("The AUTOSAR is singleton!")
|
|
115
|
+
|
|
116
|
+
AUTOSAR.__instance = self
|
|
117
|
+
|
|
118
|
+
super().__init__()
|
|
119
|
+
|
|
120
|
+
class AUTOSARDoc(AbstractAUTOSAR):
|
|
121
|
+
def __init__(self):
|
|
122
|
+
super().__init__()
|
|
123
|
+
|