Modeling Communication Topology

Back to Intro

So far, we have only considered failure of devices but now how they are connected. We only had

Figure 1: All functions optional to model function availability
Figure 2: All device nodes (DN) are made optional to model the possibility of failure

Now, we are adding a communication topology:

Figure 3: All connectors are made optional because they are not needed when a device fails

The camera and both lidars are connected directly to both vision processors using discrete connectors. The radar and all processors are connected via Ethernet.

In our model, the functional analysis remains the same but we add a communication topology to the hardware architecture and extend the deployment of functional connectors to hardware connectors.

AutoPilot : System
AP_FAA : FAA
AP_HA : HardwareArchitecture
AP_DN : DeviceNodeClassification
visionProcessor1 : ECU ?
visionProcessor2 : ECU ?
algorithmProcessor1 : ECU ?
algorithmProcessor2 : ECU ?
frontDriverLidarSensor : DeviceNode ?
frontPassengerLidarSensor : DeviceNode ?
frontRadarSensor : DeviceNode ?
frontCameraSensor : DeviceNode ?
Module Downloads: | [.cfr] | [.html] |


next Modeling communication topology

Back to Modeling FAA Re-configurations

Back to Intro

abstract FAA : FunctionalAnalysis
frontDriverLidar : FunctionalDevice ?
[ degradation = 1 ]
[ one output ]
frontPassengerLidar : FunctionalDevice ?
[ degradation = 1 ]
[ one output ]
lidarProcessing : AnalysisFunction ?
[ degradation = if # input = 2 then 1 else 2 ]
[ some input && one output ]
pointCloudClustering : AnalysisFunction ?
[ degradation = 1 ]
[ some input && one output ]
frontRadar : FunctionalDevice ?
[ degradation = 1 ]
[ one output ]
frontCamera : FunctionalDevice ?
[ degradation = 1 ]
[ one output ]
dynamicObjectDetection : AnalysisFunction ?
[ some input && one output ]
trajectoryPlanningAP : AnalysisFunction ?
[ degradation = 1 ]
[ some input && one output ]
speedControl : AnalysisFunction ?
[ degradation = 1 ]
[ some input ]
// Function Connectors
frontPassengerLidarVal : FunctionConnector ?
[ no frontRadar => frontCamera ]// Replacement constraints

The reference model remains unchanged.

abstract System
abstract FeatureModel
abstract Architecture
abstract FunctionalAnalysis
abstract HardwareArchitecture
abstract DeviceNodeClassification
abstract CommTopology
abstract PowerTopology
abstract Deployment
abstract Feature
abstract FunctionalAnalysisComponent
deployedTo -> DeviceNode
xor implementation
software
input -> FunctionConnector *
[ this.receiver = parent ]// connectors for which this function is the receiver
output -> FunctionConnector *
[ this.sender = parent ]// connectors for which this function is the sender
degradation -> integer
[ this >= 1 && this <= 3 ]
resultingDegradation -> integer = max input.sender.resultingDegradation.dref, degradation.dref
// level 4 implies that the function is not available
abstract AnalysisFunction : FunctionalAnalysisComponent
abstract FunctionalDevice : FunctionalAnalysisComponent
abstract FunctionConnector
deployedTo -> HardwareDataConnector ?
[ this.parent in this.deployedFrom ]
[ sender.deployedTo.dref, receiver.deployedTo.dref in deployedTo.endpoint.dref ]
[ sender.deployedTo.dref = receiver.deployedTo.dref <=> no this.deployedTo ]
enum DeviceNodeType = SmartDeviceNode | EEDeviceNode | PowerDeviceNode
abstract DeviceNode
abstract HardwareConnector
abstract PowerConnector : HardwareConnector
source -> DeviceNode
sink -> DeviceNode
abstract LoadPowerConnector : PowerConnector
abstract DevicePowerConnector : PowerConnector
abstract HardwareDataConnector : HardwareConnector
endpoint -> DeviceNode 2..*
deployedFrom -> FunctionConnector 1..*
[ this.deployedTo = this.parent ]
abstract DiscreteDataConnector : HardwareDataConnector
abstract AnalogDataConnector : HardwareDataConnector
abstract BusConnector : HardwareDataConnector
[ all e : endpoint | e.type = SmartDeviceNode ]
xor type
LowSpeedCAN
HighSpeedCAN
LIN
FlexRay
abstract LogicalBusBridge : HardwareDataConnector
bus -> BusConnector 2..2
[ all e : this.endpoint | e.type = SmartDeviceNode ]
abstract ECU : DeviceNode
// Automotive Concepts