armodel 1.7.9__py3-none-any.whl → 1.8.1__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 (58) hide show
  1. armodel/cli/arxml_format_cli.py +1 -0
  2. armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -12
  3. armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +14 -14
  4. armodel/models/M2/AUTOSARTemplates/CommonStructure/FlatMap.py +2 -3
  5. armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +1 -1
  6. armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +36 -34
  7. armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +1 -1
  8. armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +4 -4
  9. armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -3
  10. armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +5 -0
  11. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +3 -3
  12. armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +3 -3
  13. armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +86 -9
  14. armodel/models/M2/AUTOSARTemplates/ECUCParameterDefTemplate.py +1249 -0
  15. armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +13 -10
  16. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +238 -225
  17. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ArObject.py +5 -4
  18. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +46 -25
  19. armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +38 -3
  20. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +18 -20
  21. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +23 -19
  22. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/EndToEndProtection.py +4 -4
  23. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/PortInterface/__init__.py +71 -27
  24. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +27 -17
  25. armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +172 -128
  26. armodel/models/M2/AUTOSARTemplates/SystemTemplate/DataMapping.py +11 -10
  27. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +11 -11
  28. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +16 -10
  29. armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +2 -2
  30. armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +6 -6
  31. armodel/models/M2/AUTOSARTemplates/SystemTemplate/RteEventToOsTaskMapping.py +35 -0
  32. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +25 -0
  33. armodel/models/M2/AUTOSARTemplates/SystemTemplate/SecureCommunication.py +83 -0
  34. armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +90 -38
  35. armodel/models/M2/MSR/AsamHdo/AdminData.py +101 -8
  36. armodel/models/__init__.py +2 -0
  37. armodel/models/utils/__init__.py +0 -0
  38. armodel/models/utils/uuid_mgr.py +23 -0
  39. armodel/parser/abstract_arxml_parser.py +13 -5
  40. armodel/parser/arxml_parser.py +412 -85
  41. armodel/tests/test_armodel/models/test_ECUCParameterDefTemplate.py +116 -0
  42. armodel/tests/test_armodel/models/test_Identifiable.py +85 -0
  43. armodel/tests/test_armodel/models/test_ar_object.py +85 -86
  44. armodel/tests/test_armodel/models/test_ar_package.py +70 -70
  45. armodel/tests/test_armodel/models/test_ar_ref.py +36 -36
  46. armodel/tests/test_armodel/models/test_common_structure.py +37 -35
  47. armodel/tests/test_armodel/models/test_datatype.py +140 -142
  48. armodel/tests/test_armodel/models/test_general_structure.py +19 -18
  49. armodel/tests/test_armodel/models/test_port_interface.py +2 -6
  50. armodel/tests/test_armodel/parser/test_arxml_parser.py +8 -8
  51. armodel/writer/abstract_arxml_writer.py +6 -2
  52. armodel/writer/arxml_writer.py +414 -57
  53. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/METADATA +31 -1
  54. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/RECORD +58 -51
  55. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/LICENSE +0 -0
  56. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/WHEEL +0 -0
  57. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/entry_points.txt +0 -0
  58. {armodel-1.7.9.dist-info → armodel-1.8.1.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,6 @@
1
1
  from typing import List
2
2
  from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import CryptoServiceNeeds, DiagnosticCommunicationManagerNeeds, DiagnosticEventInfoNeeds
3
+ from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DltUserNeeds
3
4
  from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DiagnosticEventNeeds, DiagnosticRoutineNeeds, DiagnosticValueNeeds
4
5
  from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import DtcStatusChangeNotificationNeeds, EcuStateMgrUserNeeds, NvBlockNeeds
5
6
  from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import RoleBasedDataAssignment, ServiceNeeds, ServiceDependency
@@ -49,79 +50,88 @@ class SwcServiceDependency(ServiceDependency):
49
50
  return self._assigned_ports
50
51
 
51
52
  def createNvBlockNeeds(self, short_name: str) -> NvBlockNeeds:
52
- if (short_name not in self.elements):
53
+ if (not self.IsElementExists(short_name)):
53
54
  needs = NvBlockNeeds(self, short_name)
54
55
  self.addElement(needs)
55
56
  return self.getElement(short_name)
56
57
 
57
58
  def createDiagnosticCommunicationManagerNeeds(self, short_name: str) -> DiagnosticCommunicationManagerNeeds:
58
- if (short_name not in self.elements):
59
+ if (not self.IsElementExists(short_name)):
59
60
  needs = DiagnosticCommunicationManagerNeeds(self, short_name)
60
61
  self.addElement(needs)
61
62
  return self.getElement(short_name)
62
63
 
63
64
  def createDiagnosticRoutineNeeds(self, short_name: str) -> DiagnosticRoutineNeeds:
64
- if (short_name not in self.elements):
65
+ if (not self.IsElementExists(short_name)):
65
66
  needs = DiagnosticRoutineNeeds(self, short_name)
66
67
  self.addElement(needs)
67
68
  return self.getElement(short_name)
68
69
 
69
70
  def createDiagnosticValueNeeds(self, short_name: str) -> DiagnosticValueNeeds:
70
- if (short_name not in self.elements):
71
+ if (not self.IsElementExists(short_name)):
71
72
  needs = DiagnosticValueNeeds(self, short_name)
72
73
  self.addElement(needs)
73
74
  return self.getElement(short_name)
74
75
 
75
76
  def createDiagnosticEventNeeds(self, short_name: str) -> DiagnosticEventNeeds:
76
- if (short_name not in self.elements):
77
+ if (not self.IsElementExists(short_name)):
77
78
  needs = DiagnosticEventNeeds(self, short_name)
78
79
  self.addElement(needs)
79
80
  return self.getElement(short_name)
80
81
 
81
82
  def createDiagnosticEventInfoNeeds(self, short_name: str) -> DiagnosticEventInfoNeeds:
82
- if (short_name not in self.elements):
83
+ if (not self.IsElementExists(short_name)):
83
84
  needs = DiagnosticEventInfoNeeds(self, short_name)
84
85
  self.addElement(needs)
85
86
  return self.getElement(short_name)
86
87
 
87
88
  def createCryptoServiceNeeds(self, short_name: str) -> CryptoServiceNeeds:
88
- if (short_name not in self.elements):
89
+ if (not self.IsElementExists(short_name)):
89
90
  needs = CryptoServiceNeeds(self, short_name)
90
91
  self.addElement(needs)
91
92
  return self.getElement(short_name)
92
93
 
93
94
  def createEcuStateMgrUserNeeds(self, short_name: str) -> EcuStateMgrUserNeeds:
94
- if (short_name not in self.elements):
95
+ if (not self.IsElementExists(short_name)):
95
96
  needs = EcuStateMgrUserNeeds(self, short_name)
96
97
  self.addElement(needs)
97
98
  return self.getElement(short_name)
98
99
 
99
100
  def createDtcStatusChangeNotificationNeeds(self, short_name: str) -> DtcStatusChangeNotificationNeeds:
100
- if (short_name not in self.elements):
101
+ if (not self.IsElementExists(short_name)):
101
102
  needs = DtcStatusChangeNotificationNeeds(self, short_name)
102
103
  self.addElement(needs)
103
104
  return self.getElement(short_name)
104
105
 
106
+ def createDltUserNeeds(self, short_name: str) -> DltUserNeeds:
107
+ if (not self.IsElementExists(short_name)):
108
+ needs = DltUserNeeds(self, short_name)
109
+ self.addElement(needs)
110
+ return self.getElement(short_name)
111
+
105
112
  def getNvBlockNeeds(self) -> List[NvBlockNeeds]:
106
- return sorted(filter(lambda c: isinstance(c, NvBlockNeeds), self.elements.values()), key=lambda e: e.short_name)
113
+ return sorted(filter(lambda c: isinstance(c, NvBlockNeeds), self.elements), key=lambda e: e.short_name)
107
114
 
108
115
  def getDiagnosticCommunicationManagerNeeds(self) -> List[DiagnosticCommunicationManagerNeeds]:
109
- return sorted(filter(lambda c: isinstance(c, DiagnosticCommunicationManagerNeeds), self.elements.values()), key=lambda e: e.short_name)
116
+ return sorted(filter(lambda c: isinstance(c, DiagnosticCommunicationManagerNeeds), self.elements), key=lambda e: e.short_name)
110
117
 
111
118
  def getDiagnosticRoutineNeeds(self) -> List[DiagnosticRoutineNeeds]:
112
- return sorted(filter(lambda c: isinstance(c, DiagnosticRoutineNeeds), self.elements.values()), key=lambda e: e.short_name)
119
+ return sorted(filter(lambda c: isinstance(c, DiagnosticRoutineNeeds), self.elements), key=lambda e: e.short_name)
113
120
 
114
121
  def getDiagnosticEventNeeds(self) -> List[DiagnosticEventNeeds]:
115
- return sorted(filter(lambda c: isinstance(c, DiagnosticEventNeeds), self.elements.values()), key=lambda e: e.short_name)
122
+ return sorted(filter(lambda c: isinstance(c, DiagnosticEventNeeds), self.elements), key=lambda e: e.short_name)
116
123
 
117
124
  def getCryptoServiceNeeds(self) -> List[CryptoServiceNeeds]:
118
- return sorted(filter(lambda c: isinstance(c, CryptoServiceNeeds), self.elements.values()), key=lambda e: e.short_name)
125
+ return sorted(filter(lambda c: isinstance(c, CryptoServiceNeeds), self.elements), key=lambda e: e.short_name)
119
126
 
120
127
  def getEcuStateMgrUserNeeds(self) -> List[EcuStateMgrUserNeeds]:
121
- return sorted(filter(lambda c: isinstance(c, EcuStateMgrUserNeeds), self.elements.values()), key=lambda e: e.short_name)
128
+ return sorted(filter(lambda c: isinstance(c, EcuStateMgrUserNeeds), self.elements), key=lambda e: e.short_name)
122
129
 
123
130
  def getDtcStatusChangeNotificationNeeds(self) -> List[DtcStatusChangeNotificationNeeds]:
124
- return sorted(filter(lambda c: isinstance(c, DtcStatusChangeNotificationNeeds), self.elements.values()), key=lambda e: e.short_name)
131
+ return sorted(filter(lambda c: isinstance(c, DtcStatusChangeNotificationNeeds), self.elements), key=lambda e: e.short_name)
132
+
133
+ def getDltUserNeeds(self) -> List[DltUserNeeds]:
134
+ return sorted(filter(lambda c: isinstance(c, DltUserNeeds), self.elements), key=lambda e: e.short_name)
125
135
 
126
136
  def getServiceNeeds(self) -> List[ServiceNeeds]:
127
- return sorted(filter(lambda c: isinstance(c, ServiceNeeds), self.elements.values()), key=lambda e: e.short_name)
137
+ return sorted(filter(lambda c: isinstance(c, ServiceNeeds), self.elements), key=lambda e: e.short_name)