armodel 1.6.3__py3-none-any.whl → 1.7.0__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 (133) hide show
  1. armodel/cli/arxml_dump_cli.py +7 -7
  2. armodel/cli/arxml_format_cli.py +14 -12
  3. armodel/cli/connector2xlsx_cli.py +2 -3
  4. armodel/cli/connector_update_cli.py +1 -4
  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 +2 -2
  9. armodel/lib/system_signal.py +1 -3
  10. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +5 -10
  11. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +9 -11
  12. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +51 -12
  13. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +3 -3
  14. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +5 -6
  15. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -1
  16. armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +86 -0
  17. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +186 -29
  18. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +7 -10
  19. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +21 -11
  20. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +3 -3
  21. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +3 -6
  22. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -5
  23. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +10 -6
  24. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +3 -4
  25. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +2 -5
  26. armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -1
  27. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
  28. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
  29. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
  30. armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +2 -2
  31. armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +4 -6
  32. armodel/models/M2/AUTOSARTemplates/{ecuc_description_template.py → ECUCDescriptionTemplate.py} +6 -11
  33. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +3 -6
  34. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +42 -36
  35. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +2 -5
  36. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +11 -16
  37. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +87 -4
  38. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +0 -1
  39. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +21 -8
  40. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +2 -4
  41. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +114 -12
  42. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +2 -5
  43. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +4 -62
  44. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +6 -8
  45. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +7 -7
  46. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +0 -1
  47. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface/instance_refs.py → PortInterface/InstanceRefs.py} +2 -2
  48. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface → PortInterface}/__init__.py +10 -10
  49. armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
  50. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +29 -6
  51. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +6 -6
  52. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +2 -2
  53. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +3 -3
  54. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +28 -4
  55. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +3 -3
  56. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
  57. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
  58. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +3 -4
  59. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +37 -3
  60. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +2 -4
  61. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +166 -10
  62. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{data_mapping.py → DataMapping.py} +2 -3
  63. armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -4
  64. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +173 -0
  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} +4 -5
  68. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__init__.py +0 -0
  69. armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -6
  70. armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +6 -14
  71. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +388 -0
  72. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +223 -0
  73. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +177 -0
  74. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/__init__.py +0 -0
  75. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__init__.py +0 -0
  76. armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +39 -2
  77. armodel/models/M2/AUTOSARTemplates/SystemTemplate/{network_management.py → NetworkManagement.py} +5 -10
  78. armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
  79. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +86 -17
  80. armodel/models/M2/MSR/AsamHdo/AdminData.py +2 -5
  81. armodel/models/M2/MSR/AsamHdo/BaseTypes.py +3 -3
  82. armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +5 -6
  83. armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +3 -4
  84. armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +0 -1
  85. armodel/models/M2/MSR/AsamHdo/SpecialData.py +1 -4
  86. armodel/models/M2/MSR/AsamHdo/Units.py +3 -6
  87. armodel/models/M2/MSR/AsamHdo/__init__.py +0 -1
  88. armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +3 -7
  89. armodel/models/M2/MSR/CalibrationData/__init__.py +0 -1
  90. armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +3 -6
  91. armodel/models/M2/MSR/DataDictionary/Axis.py +3 -3
  92. armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +3 -3
  93. armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +5 -6
  94. armodel/models/M2/MSR/DataDictionary/RecordLayout.py +4 -4
  95. armodel/models/M2/MSR/DataDictionary/__init__.py +0 -1
  96. armodel/models/M2/MSR/Documentation/Annotation.py +4 -6
  97. armodel/models/M2/MSR/Documentation/BlockElements.py +2 -2
  98. armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +1 -2
  99. armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +3 -6
  100. armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -2
  101. armodel/models/M2/MSR/Documentation/__init__.py +1 -1
  102. armodel/models/M2/MSR/__init__.py +1 -1
  103. armodel/models/M2/__init__.py +0 -1
  104. armodel/models/__init__.py +57 -3
  105. armodel/parser/abstract_arxml_parser.py +50 -16
  106. armodel/parser/arxml_parser.py +285 -112
  107. armodel/parser/file_parser.py +2 -1
  108. armodel/report/connector_xls_report.py +2 -1
  109. armodel/tests/test_armodel/models/test_ar_object.py +0 -2
  110. armodel/tests/test_armodel/models/test_ar_package.py +4 -4
  111. armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
  112. armodel/tests/test_armodel/models/test_datatype.py +7 -7
  113. armodel/tests/test_armodel/models/test_port_interface.py +6 -6
  114. armodel/tests/test_armodel/parser/test_parse_bswmd.py +12 -12
  115. armodel/tests/test_armodel/parser/test_sw_components.py +1 -23
  116. armodel/tests/test_armodel/parser/test_system.py +3 -3
  117. armodel/writer/abstract_arxml_writer.py +10 -1
  118. armodel/writer/arxml_writer.py +249 -80
  119. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/METADATA +385 -366
  120. armodel-1.7.0.dist-info/RECORD +160 -0
  121. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/WHEEL +1 -1
  122. armodel/models/M2/AUTOSARTemplates/SystemTemplate/transport_protocols.py +0 -7
  123. armodel/models/fibex/fibex_core/core_topology.py +0 -184
  124. armodel/models/sw_component.py +0 -390
  125. armodel/models/timing.py +0 -91
  126. armodel-1.6.3.dist-info/RECORD +0 -148
  127. /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
  128. /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
  129. /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
  130. /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
  131. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/LICENSE +0 -0
  132. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/entry_points.txt +0 -0
  133. {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/top_level.txt +0 -0
@@ -2,17 +2,17 @@ import getopt
2
2
  import sys
3
3
  import logging
4
4
 
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
5
8
  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
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
10
13
  from ..models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import VariableAccess
11
14
  from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
12
- from ..models import AUTOSAR, SwComponentType
13
- from ..models import SwcInternalBehavior, ImplementationDataType
14
15
  from ..models.M2.AUTOSARTemplates.BswModuleTemplate.BswInterfaces import BswModuleEntry
15
- from ..models import SenderReceiverInterface, ClientServerInterface
16
16
  from ..parser import ARXMLParser
17
17
 
18
18
  def show_variable_access(indent:int, variable_access: VariableAccess):
@@ -38,7 +38,7 @@ def show_port(indent:int, port_prototype: PortPrototype):
38
38
  raise ValueError("Unsupported Port prototype")
39
39
 
40
40
  def show_type(indent: int, data_type: ImplementationDataType):
41
- print("%s-Implementation Type: %s (%s)" % (" " * indent, data_type.short_name, data_type._parent.full_name))
41
+ print("%s-Implementation Type: %s (%s)" % (" " * indent, data_type.short_name, data_type.parent.full_name))
42
42
  print("%s : %s" % (" " * indent, data_type.getCategory()))
43
43
  if (data_type.getSwDataDefProps() != None):
44
44
  if (data_type.getSwDataDefProps().getBaseTypeRef() != None):
@@ -4,22 +4,11 @@ import logging
4
4
  import sys
5
5
  import os.path
6
6
 
7
-
8
7
  from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
9
8
  from ..parser.arxml_parser import ARXMLParser
10
9
  from ..writer import ARXMLWriter
11
10
 
12
- def main():
13
- version = pkg_resources.require("armodel")[0].version
14
-
15
- ap = argparse.ArgumentParser()
16
- ap.add_argument("-v", "--verbose", required= False, help= "Print debug information", action= "store_true")
17
- ap.add_argument("-w", "--warning", required= False, help= "Skip the error and report it as warning message", action= "store_true")
18
- ap.add_argument("INPUT", help = "The path of AUTOSAR ARXML file")
19
- ap.add_argument("OUTPUT", help = "The path of output ARXML file")
20
-
21
- args = ap.parse_args()
22
-
11
+ def perform_format(args):
23
12
  logger = logging.getLogger()
24
13
 
25
14
  formatter = logging.Formatter('[%(levelname)s] : %(message)s')
@@ -65,5 +54,18 @@ def main():
65
54
  logger.error(e)
66
55
  raise e
67
56
 
57
+ def main():
58
+ version = pkg_resources.require("armodel")[0].version
59
+
60
+ ap = argparse.ArgumentParser()
61
+ ap.add_argument("-v", "--verbose", required= False, help= "Print debug information", action= "store_true")
62
+ ap.add_argument("-w", "--warning", required= False, help= "Skip the error and report it as warning message", action= "store_true")
63
+ ap.add_argument("INPUT", help = "The path of AUTOSAR ARXML file")
64
+ ap.add_argument("OUTPUT", help = "The path of output ARXML file")
65
+
66
+ args = ap.parse_args()
67
+
68
+ perform_format(args)
69
+
68
70
  if __name__ == "__main__":
69
71
  main()
@@ -4,9 +4,8 @@ import logging
4
4
  import sys
5
5
  import os.path
6
6
 
7
- from armodel import AUTOSAR
8
- from armodel.parser import ARXMLParser
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
-
7
+ from ..writer.arxml_writer import ARXMLWriter
8
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 armodel import AUTOSAR
8
- from armodel.parser import ARXMLParser
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():
@@ -4,9 +4,8 @@ import logging
4
4
  import sys
5
5
  import os.path
6
6
 
7
- from armodel import AUTOSAR
8
- from armodel.parser import ARXMLParser
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():
@@ -4,8 +4,8 @@ import logging
4
4
  import sys
5
5
  import os.path
6
6
 
7
- from armodel import AUTOSAR
8
- from armodel.parser import ARXMLParser
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():
@@ -1,9 +1,9 @@
1
1
  import logging
2
2
 
3
3
  from typing import List
4
-
4
+ from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
5
+ from ..models.M2.AUTOSARTemplates.SWComponentTemplate.Components import AtomicSwComponentType, CompositionSwComponentType
5
6
  from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
6
- from ..models import AUTOSAR, AtomicSwComponentType, CompositionSwComponentType
7
7
 
8
8
  class SwComponentAnalyzer:
9
9
  def __init__(self) -> None:
@@ -1,10 +1,8 @@
1
1
  import logging
2
2
  from typing import List
3
-
3
+ from ..models.M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import SystemSignal
4
4
  from ..models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ARPackage import ARPackage
5
-
6
5
  from ..models.M2.AUTOSARTemplates.AutosarTopLevelStructure import AUTOSAR
7
- from ..models.fibex.fibex_core.core_communication import SystemSignal
8
6
 
9
7
  class SystemSignalAnalyzer:
10
8
  def __init__(self) -> None:
@@ -1,14 +1,9 @@
1
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
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
12
7
 
13
8
  class AbstractAUTOSAR(CollectableElement):
14
9
  def __init__(self):
@@ -1,16 +1,14 @@
1
- from armodel.models.M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
2
- from ..CommonStructure.SwcInternalBehavior.ModeDeclarationGroup import IncludedModeDeclarationGroupSet
3
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
4
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARFloat, ARNumerical
5
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
6
- from ..CommonStructure.InternalBehavior import ReentrancyLevelEnum
7
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import TimeValue
8
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
9
- from ..CommonStructure.InternalBehavior import ExecutableEntity
10
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Referrable
1
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
2
+ from ....M2.AUTOSARTemplates.SWComponentTemplate.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
11
10
  from abc import ABCMeta
12
11
  from typing import List
13
- from armodel.models.M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
14
12
 
15
13
  class BswModuleCallPoint(Referrable):
16
14
  def __init__(self, parent: ARObject, short_name: str):
@@ -1,21 +1,60 @@
1
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType
3
- from ..CommonStructure.Implementation import Implementation
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
4
  from typing import List
5
5
 
6
6
  class BswImplementation(Implementation):
7
7
  def __init__(self, parent: ARObject, short_name: str) -> None:
8
8
  super().__init__(parent, short_name)
9
9
 
10
- self.ar_release_version = None # type: ARLiteral
11
- self.behavior_ref = None # type: RefType
12
- self.preconfiguredConfigurationRef = [] # type: List[RefType]
13
- self.recommendedConfigurationRef = [] # type: List[RefType]
14
- self.vendorApiInfix = None # type: str
15
- self._vendorSpecificModuleDefRef = [] # type: List[RefType]
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
16
 
17
- def addVendorSpecificModuleDefRef(self, ref: RefType):
18
- self._vendorSpecificModuleDefRef.append(ref)
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
19
51
 
20
52
  def getVendorSpecificModuleDefRefs(self):
21
- return self._vendorSpecificModuleDefRef
53
+ return self.vendorSpecificModuleDefRefs
54
+
55
+ def addVendorSpecificModuleDefRef(self, value):
56
+ self.vendorSpecificModuleDefRefs.append(value)
57
+ return self
58
+
59
+
60
+
@@ -1,6 +1,6 @@
1
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
3
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARLiteral, ARNumerical
1
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARBoolean, ARLiteral, ARNumerical
4
4
 
5
5
  class BswModuleEntry(ARElement):
6
6
  def __init__(self, parent: ARObject, short_name: str):
@@ -1,11 +1,10 @@
1
- from ..BswModuleTemplate.BswBehavior import BswInternalBehavior
2
- from ..CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype
3
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
5
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARPositiveInteger, RefType
1
+ from ....M2.AUTOSARTemplates.BswModuleTemplate.BswBehavior import BswInternalBehavior
2
+ from ....M2.AUTOSARTemplates.CommonStructure.ModeDeclaration import ModeDeclarationGroupPrototype
3
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARPositiveInteger, RefType
6
6
  from typing import Dict, List
7
7
 
8
-
9
8
  class BswModuleDescription(ARElement):
10
9
  '''
11
10
  Root element for the description of a single BSW module or BSW cluster. In case it
@@ -1 +1,4 @@
1
- from . import *
1
+ from .BswBehavior import *
2
+ from .BswImplementation import *
3
+ from .BswInterfaces import *
4
+ from .BswOverview import *
@@ -0,0 +1,86 @@
1
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import AREnum, PositiveInteger, UnlimitedInteger
2
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+
4
+
5
+ class DataFilterTypeEnum(AREnum):
6
+
7
+ maskedNewDiffersMaskedOld = "maskedNewDiffersMaskedOld"
8
+ maskedNewDiffersX = "maskedNewDiffersX"
9
+ maskedNewEqualsX = "maskedNewEqualsX"
10
+ never = "never"
11
+ newIsOutside = "newIsOutside"
12
+ newIsWithin = "newIsWithin"
13
+ oneEveryN = "oneEveryN"
14
+
15
+ def __init__(self):
16
+ super().__init__((
17
+ self.maskedNewDiffersMaskedOld,
18
+ self.maskedNewDiffersX,
19
+ self.maskedNewEqualsX,
20
+ self.never,
21
+ self.newIsOutside,
22
+ self.newIsWithin,
23
+ self.oneEveryN
24
+ ))
25
+
26
+
27
+ class DataFilter(ARObject):
28
+ def __init__(self):
29
+ super().__init__()
30
+
31
+ self.dataFilterType = None # type: DataFilterTypeEnum
32
+ self.mask = None # type: UnlimitedInteger
33
+ self.max = None # type: UnlimitedInteger
34
+ self.min = None # type: UnlimitedInteger
35
+ self.offset = None # type: PositiveInteger
36
+ self.period = None # type: PositiveInteger
37
+ self.x = None # type: UnlimitedInteger
38
+
39
+ def getDataFilterType(self):
40
+ return self.dataFilterType
41
+
42
+ def setDataFilterType(self, value):
43
+ self.dataFilterType = value
44
+ return self
45
+
46
+ def getMask(self):
47
+ return self.mask
48
+
49
+ def setMask(self, value):
50
+ self.mask = value
51
+ return self
52
+
53
+ def getMax(self):
54
+ return self.max
55
+
56
+ def setMax(self, value):
57
+ self.max = value
58
+ return self
59
+
60
+ def getMin(self):
61
+ return self.min
62
+
63
+ def setMin(self, value):
64
+ self.min = value
65
+ return self
66
+
67
+ def getOffset(self):
68
+ return self.offset
69
+
70
+ def setOffset(self, value):
71
+ self.offset = value
72
+ return self
73
+
74
+ def getPeriod(self):
75
+ return self.period
76
+
77
+ def setPeriod(self, value):
78
+ self.period = value
79
+ return self
80
+
81
+ def getX(self):
82
+ return self.x
83
+
84
+ def setX(self, value):
85
+ self.x = value
86
+ return self
@@ -1,10 +1,10 @@
1
1
  from abc import ABCMeta
2
2
  from typing import List
3
- from .ResourceConsumption import ResourceConsumption
4
- from ..GenericStructure.GeneralTemplateClasses.EngineeringObject import AutosarEngineeringObject
5
- from ..GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, PackageableElement, Referrable
6
- from ..GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARNumerical, RefType, ARLiteral
7
- from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
3
+ from ....M2.AUTOSARTemplates.CommonStructure import ResourceConsumption
4
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.EngineeringObject import AutosarEngineeringObject
5
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable, PackageableElement, Referrable
6
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, ARLiteral, String
7
+ from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
8
8
 
9
9
 
10
10
  class ImplementationProps(Referrable, metaclass = ABCMeta):
@@ -40,42 +40,199 @@ class Code(Identifiable):
40
40
  else:
41
41
  return list(filter(lambda a: a.getCategory().getText() == category, self._artifactDescriptors))
42
42
 
43
+ class Compiler(Identifiable):
44
+ def __init__(self, parent: ARObject, short_name: str):
45
+ super().__init__(parent, short_name)
46
+
47
+ self.name = None # type: String
48
+ self.options = None # type: String
49
+ self.vendor = None # type: String
50
+ self.version = None # type: String
51
+
52
+ def getName(self):
53
+ return self.name
54
+
55
+ def setName(self, value):
56
+ self.name = value
57
+ return self
58
+
59
+ def getOptions(self):
60
+ return self.options
61
+
62
+ def setOptions(self, value):
63
+ self.options = value
64
+ return self
65
+
66
+ def getVendor(self):
67
+ return self.vendor
68
+
69
+ def setVendor(self, value):
70
+ self.vendor = value
71
+ return self
72
+
73
+ def getVersion(self):
74
+ return self.version
75
+
76
+ def setVersion(self, value):
77
+ self.version = value
78
+ return self
79
+
80
+ class DependencyOnArtifact(Identifiable):
81
+ def __init__(self, parent: ARObject, short_name: str):
82
+ super().__init__(parent, short_name)
83
+
84
+ # type: AutosarEngineeringObject
85
+ self.artifactDescriptor = None
86
+ self.usage = None # type: DependencyUsageEnum
43
87
 
44
- class Implementation(PackageableElement, metaclass=ABCMeta):
45
- def __init__(self, parent: ARObject, short_name: str) -> None:
88
+ def getArtifactDescriptor(self):
89
+ return self.artifactDescriptor
90
+
91
+ def setArtifactDescriptor(self, value):
92
+ self.artifactDescriptor = value
93
+ return self
94
+
95
+ def getUsage(self):
96
+ return self.usage
97
+
98
+ def setUsage(self, value):
99
+ self.usage = value
100
+ return self
101
+
102
+
103
+ class Implementation(PackageableElement, metaclass = ABCMeta):
104
+ def __init__(self, parent: ARObject, short_name: str):
46
105
  if type(self) == Implementation:
47
106
  raise NotImplementedError("Implementation is an abstract class.")
48
107
 
49
108
  super().__init__(parent, short_name)
50
109
 
51
- self.build_action_manifest_ref = None # type: RefType
52
- self.compilers = None
53
- self.generated_artifacts = None
54
- self.hw_element_refs = [] # type: List[RefType]
55
- self.linker = []
56
- self.mc_support = None
57
- self.programming_language = None # type: ARLiteral
58
- self.required_artifacts = []
59
- self.required_generator_tools = []
60
- self.resource_consumption = None # type: ResourceConsumption
61
- self.sw_version = "" # type: ARLiteral
62
- self.swc_bsw_mapping_ref = None # type: RefType
63
- self.used_code_generator = None # type: ARLiteral
64
- self.vendor_id = 0 # type: ARNumerical
110
+ self.buildActionManifestRef = None # type: RefType
111
+ self.codeDescriptors = [] # type: List[Code]
112
+ self.compilers = [] # type: List[Compiler]
113
+ self.generatedArtifacts = [] # type: List[DependencyOnArtifact]
114
+ self.hwElementRefs = [] # type: List[RefType]
115
+ self.linkers = [] # type: List[Linker]
116
+ self.mcSupport = None
117
+ self.programmingLanguage = None # type: ProgramminglanguageEnum
118
+ self.requiredArtifacts = [] # type: List[DependencyOnArtifact]
119
+ self.requiredGeneratorTools = [] # type: List[DependencyOnArtifact]
120
+ self.resourceConsumption = None # type: ResourceConsumption
121
+ self.swcBswMappingRef = None # type: RefType
122
+ self.swVersion = [] # type: RevisionLabelString
123
+ self.usedCodeGenerator = None # type: String
124
+ self.vendorId = 0 # type: PositiveInteger
125
+
126
+ def getBuildActionManifestRef(self):
127
+ return self.buildActionManifestRef
128
+
129
+ def setBuildActionManifestRef(self, value):
130
+ self.buildActionManifestRef = value
131
+ return self
132
+
133
+ def getCodeDescriptors(self)-> List[Code]:
134
+ return list(filter(lambda a : isinstance(a, Code), self.elements.values()))
65
135
 
66
136
  def createCodeDescriptor(self, short_name: str) -> Code:
67
137
  if (short_name not in self.elements):
68
- sw_component = Code(self, short_name)
69
- self.elements[short_name] = sw_component
70
- return self.elements[short_name]
138
+ code_descriptor = Code(self, short_name)
139
+ self.addElement(code_descriptor)
140
+ self.codeDescriptors.append(code_descriptor)
141
+ return self.getElement(short_name)
71
142
 
72
- def getCodeDescriptors(self)-> List[Code]:
73
- return list(filter(lambda a : isinstance(a, Code), self.elements.values()))
143
+ def getCompilers(self):
144
+ return self.compilers
145
+
146
+ def setCompilers(self, value):
147
+ self.compilers = value
148
+ return self
149
+
150
+ def getGeneratedArtifacts(self):
151
+ return self.generatedArtifacts
152
+
153
+ def setGeneratedArtifacts(self, value):
154
+ self.generatedArtifacts = value
155
+ return self
156
+
157
+ def getHwElementRefs(self):
158
+ return self.hwElementRefs
159
+
160
+ def setHwElementRefs(self, value):
161
+ self.hwElementRefs = value
162
+ return self
163
+
164
+ def getLinkers(self):
165
+ return self.linkers
166
+
167
+ def setLinkers(self, value):
168
+ self.linkers = value
169
+ return self
170
+
171
+ def getMcSupport(self):
172
+ return self.mcSupport
173
+
174
+ def setMcSupport(self, value):
175
+ self.mcSupport = value
176
+ return self
177
+
178
+ def getProgrammingLanguage(self):
179
+ return self.programmingLanguage
180
+
181
+ def setProgrammingLanguage(self, value):
182
+ self.programmingLanguage = value
183
+ return self
184
+
185
+ def getRequiredArtifacts(self):
186
+ return self.requiredArtifacts
187
+
188
+ def setRequiredArtifacts(self, value):
189
+ self.requiredArtifacts = value
190
+ return self
191
+
192
+ def getRequiredGeneratorTools(self):
193
+ return self.requiredGeneratorTools
194
+
195
+ def setRequiredGeneratorTools(self, value):
196
+ self.requiredGeneratorTools = value
197
+ return self
198
+
199
+ def getResourceConsumption(self):
200
+ return self.resourceConsumption
74
201
 
75
202
  def setResourceConsumption(self, consumption: ResourceConsumption):
76
203
  self.elements[consumption.short_name] = consumption
77
- self.resource_consumption = consumption
204
+ self.resourceConsumption = consumption
205
+ return self
206
+
207
+ def getSwcBswMappingRef(self):
208
+ return self.swcBswMappingRef
209
+
210
+ def setSwcBswMappingRef(self, value):
211
+ self.swcBswMappingRef = value
212
+ return self
213
+
214
+ def getSwVersion(self):
215
+ return self.swVersion
216
+
217
+ def setSwVersion(self, value):
218
+ self.swVersion = value
78
219
  return self
79
220
 
80
- def getResourceConsumption(self) -> ResourceConsumption:
81
- return self.resource_consumption
221
+ def getUsedCodeGenerator(self):
222
+ return self.usedCodeGenerator
223
+
224
+ def setUsedCodeGenerator(self, value):
225
+ self.usedCodeGenerator = value
226
+ return self
227
+
228
+ def getVendorId(self):
229
+ return self.vendorId
230
+
231
+ def setVendorId(self, value):
232
+ self.vendorId = value
233
+ return self
234
+
235
+
236
+
237
+
238
+