armodel 1.7.6__py3-none-any.whl → 1.7.7__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/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +41 -2
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +47 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +17 -7
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +9 -3
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +17 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +53 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +41 -16
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +10 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +26 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +19 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/DoIp.py +29 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/ECUResourceMapping.py +44 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetTopology.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +483 -54
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +9 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/NetworkManagement.py +245 -130
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/SWmapping.py +27 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +592 -17
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +20 -10
- armodel/models/M2/MSR/AsamHdo/AdminData.py +1 -2
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +3 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +35 -8
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +0 -3
- armodel/models/__init__.py +4 -0
- armodel/parser/abstract_arxml_parser.py +3 -0
- armodel/parser/arxml_parser.py +614 -123
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -3
- armodel/tests/test_armodel/models/test_datatype.py +1 -1
- armodel/tests/test_armodel/parser/test_bsw_module_descriiption.py +218 -0
- armodel/tests/test_armodel/parser/test_sw_components.py +22 -1
- armodel/writer/abstract_arxml_writer.py +7 -6
- armodel/writer/arxml_writer.py +694 -139
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/METADATA +41 -3
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/RECORD +41 -37
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/LICENSE +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/WHEEL +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/entry_points.txt +0 -0
- {armodel-1.7.6.dist-info → armodel-1.7.7.dist-info}/top_level.txt +0 -0
|
@@ -6,7 +6,7 @@ from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBe
|
|
|
6
6
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype
|
|
7
7
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
|
|
8
8
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PerInstanceMemory import PerInstanceMemory
|
|
9
|
-
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
|
|
9
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import AsynchronousServerCallReturnsEvent, BackgroundEvent, DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, ModeSwitchedAckEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
|
|
10
10
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import SwcServiceDependency
|
|
11
11
|
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, Boolean, RefType, ARBoolean
|
|
12
12
|
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
|
|
@@ -338,6 +338,18 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
338
338
|
event = SwcServiceDependency(self, short_name)
|
|
339
339
|
self.elements[short_name] = event
|
|
340
340
|
return self.elements[short_name]
|
|
341
|
+
|
|
342
|
+
def createModeSwitchedAckEvent(self, short_name: str) -> ModeSwitchedAckEvent:
|
|
343
|
+
if (short_name not in self.elements):
|
|
344
|
+
event = ModeSwitchedAckEvent(self, short_name)
|
|
345
|
+
self.addElement(event)
|
|
346
|
+
return self.getElement(short_name)
|
|
347
|
+
|
|
348
|
+
def createBackgroundEvent(self, short_name: str) -> BackgroundEvent:
|
|
349
|
+
if (short_name not in self.elements):
|
|
350
|
+
event = BackgroundEvent(self, short_name)
|
|
351
|
+
self.addElement(event)
|
|
352
|
+
return self.getElement(short_name)
|
|
341
353
|
|
|
342
354
|
def getRteEvents(self) -> List[RTEEvent]:
|
|
343
355
|
return sorted(filter(lambda c: isinstance(c, RTEEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
@@ -359,6 +371,12 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
359
371
|
|
|
360
372
|
def getInternalTriggerOccurredEvents(self) -> List[InternalTriggerOccurredEvent]:
|
|
361
373
|
return sorted(filter(lambda c: isinstance(c, InternalTriggerOccurredEvent), self.elements.values()), key= lambda e: e.short_name)
|
|
374
|
+
|
|
375
|
+
def getModeSwitchedAckEvents(self) -> List[ModeSwitchedAckEvent]:
|
|
376
|
+
return sorted(filter(lambda c: isinstance(c, ModeSwitchedAckEvent), self.elements.values()), key= lambda e: e.short_name)
|
|
377
|
+
|
|
378
|
+
def getBackgroundEvents(self) -> List[BackgroundEvent]:
|
|
379
|
+
return sorted(filter(lambda c: isinstance(c, BackgroundEvent), self.elements.values()), key= lambda e: e.short_name)
|
|
362
380
|
|
|
363
381
|
def getSwcServiceDependencies(self) -> List[SwcServiceDependency]:
|
|
364
382
|
return sorted(filter(lambda c: isinstance(c, SwcServiceDependency), self.elements.values()), key= lambda e: e.short_name)
|
|
@@ -367,10 +385,6 @@ class SwcInternalBehavior(InternalBehavior):
|
|
|
367
385
|
if (not isinstance(self.elements[short_name], RTEEvent)):
|
|
368
386
|
raise ValueError("Invalid Event Type <%s> of <%s>" % type(self.elements[short_name]), short_name)
|
|
369
387
|
return self.elements[short_name]
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
388
|
|
|
375
389
|
def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
|
|
376
390
|
if (short_name not in self.elements):
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
|
|
3
|
+
from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from .....models.M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
5
|
+
|
|
6
|
+
class AbstractDoIpLogicAddressProps(Identifiable, metaclass = ABCMeta):
|
|
7
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
8
|
+
if type(self) == AbstractDoIpLogicAddressProps:
|
|
9
|
+
raise NotImplementedError("AbstractDoIpLogicAddressProps is an abstract class.")
|
|
10
|
+
|
|
11
|
+
super().__init__(parent, short_name)
|
|
12
|
+
|
|
13
|
+
class DoIpLogicTargetAddressProps(AbstractDoIpLogicAddressProps):
|
|
14
|
+
def __init__(self, parent, short_name):
|
|
15
|
+
super().__init__(parent, short_name)
|
|
16
|
+
|
|
17
|
+
class DoIpLogicTesterAddressProps(AbstractDoIpLogicAddressProps):
|
|
18
|
+
def __init__(self, parent, short_name):
|
|
19
|
+
super().__init__(parent, short_name)
|
|
20
|
+
|
|
21
|
+
self.doIpTesterRoutingActivationRef = None # type: RefType
|
|
22
|
+
|
|
23
|
+
def getDoIpTesterRoutingActivationRef(self):
|
|
24
|
+
return self.doIpTesterRoutingActivationRef
|
|
25
|
+
|
|
26
|
+
def setDoIpTesterRoutingActivationRef(self, value):
|
|
27
|
+
if value is not None:
|
|
28
|
+
self.doIpTesterRoutingActivationRef = value
|
|
29
|
+
return self
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Identifiable
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
4
|
+
|
|
5
|
+
class ECUMapping(Identifiable):
|
|
6
|
+
def __init__(self, parent, short_name):
|
|
7
|
+
super().__init__(parent, short_name)
|
|
8
|
+
|
|
9
|
+
self.commControllerMappings = [] # type: List[CommunicationControllerMapping]
|
|
10
|
+
self.ecuRef = None # type: RefType
|
|
11
|
+
self.ecuInstanceRef = None # type: RefType
|
|
12
|
+
self.hwPortMappings =[] # type: List[HwPortMapping]
|
|
13
|
+
|
|
14
|
+
def getCommControllerMappings(self):
|
|
15
|
+
return self.commControllerMappings
|
|
16
|
+
|
|
17
|
+
def setCommControllerMappings(self, value):
|
|
18
|
+
if value is not None:
|
|
19
|
+
self.commControllerMappings = value
|
|
20
|
+
return self
|
|
21
|
+
|
|
22
|
+
def getEcuRef(self):
|
|
23
|
+
return self.ecuRef
|
|
24
|
+
|
|
25
|
+
def setEcuRef(self, value):
|
|
26
|
+
if value is not None:
|
|
27
|
+
self.ecuRef = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getEcuInstanceRef(self):
|
|
31
|
+
return self.ecuInstanceRef
|
|
32
|
+
|
|
33
|
+
def setEcuInstanceRef(self, value):
|
|
34
|
+
if value is not None:
|
|
35
|
+
self.ecuInstanceRef = value
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
def getHwPortMappings(self):
|
|
39
|
+
return self.hwPortMappings
|
|
40
|
+
|
|
41
|
+
def setHwPortMappings(self, value):
|
|
42
|
+
if value is not None:
|
|
43
|
+
self.hwPortMappings = value
|
|
44
|
+
return self
|
|
@@ -507,6 +507,7 @@ class EthernetCommunicationConnector(CommunicationConnector):
|
|
|
507
507
|
self.ethIpPropsRef = None # type: RefType
|
|
508
508
|
self.maximumTransmissionUnit = None # type: PositiveInteger
|
|
509
509
|
self.neighborCacheSize = None # type: PositiveInteger
|
|
510
|
+
self.networkEndpointRefs = [] # type: List[RefType] ## 4.3.1 Version
|
|
510
511
|
self.pathMtuEnabled = None # type: Boolean
|
|
511
512
|
self.pathMtuTimeout = None # type: TimeValue
|
|
512
513
|
|
|
@@ -530,6 +531,14 @@ class EthernetCommunicationConnector(CommunicationConnector):
|
|
|
530
531
|
def setNeighborCacheSize(self, value):
|
|
531
532
|
self.neighborCacheSize = value
|
|
532
533
|
return self
|
|
534
|
+
|
|
535
|
+
def getNetworkEndpointRefs(self):
|
|
536
|
+
return self.networkEndpointRefs
|
|
537
|
+
|
|
538
|
+
def addNetworkEndpointRef(self, value):
|
|
539
|
+
if value is not None:
|
|
540
|
+
self.networkEndpointRefs.append(value)
|
|
541
|
+
return self
|
|
533
542
|
|
|
534
543
|
def getPathMtuEnabled(self):
|
|
535
544
|
return self.pathMtuEnabled
|