@startuml interface Fan { {abstract} void PWM(int percent) {abstract} int RPM() } interface Sensor { {abstract} int value() {abstract} string name() } class PwmControl { +void pwm(int percent) +int pwm() + void enableManualControl() + void reset() - System Paths - Initial Values } Fan <|-- HwmonFan Sensor <|-- HwmonSensor Sensor <|-- NvidiaSensor HwmonFan - Sensor HwmonFan -- PwmControl @enduml