Device_controller_class_diag_multiinheritance_OLD.pu 1.99 KB

/'
UML class Diagram : can be displayed with PlantUML (plugin for Eclipse or for PyCharm)

PlantUML:
- How to install : https://projects.irap.omp.eu/projects/pyros/wiki/Project_Development#PlantUML
- Eclipse plugin : http://plantuml.com/eclipse
- class diagrams : http://plantuml.com/class-diagram
- sequence diagrams : http://plantuml.com/sequence-diagram
- state diagrams : http://plantuml.com/state-diagram
- Use Case diagrams : http://plantuml.com/use-case-diagram
- OLD Activity diagrams : http://plantuml.com/activity-diagram-legacy
- NEW Activity diagrams : http://plantuml.com/activity-diagram-beta
- Pre-processing (include...) : http://plantuml.com/preprocessing
- GANTT diagrams : http://plantuml.com/gantt-diagram
- REAL WORLD EXAMPLES !!! : https://real-world-plantuml.com/
- For Python:
    - https://github.com/SamuelMarks/python-plantuml
    - https://pythonhosted.org/plantuml/

UML diagrams theory : https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/index.html
'/


@startuml

title 
__**DeviceController and ClientChannel classes diagram (multi-inheritance)**__
<i>(TelescopeGemini heritates both from DeviceController and ClientChannel)</i>

end title


/' Abstract Devices Controllers '/
DeviceControllerAbstract <|-- PLCControllerAbstract
DeviceControllerAbstract <|-- CameraControllerAbstract
DeviceControllerAbstract <|-- TelescopeControllerAbstract

/' Concrete Devices Controllers '/

TelescopeControllerAbstract <|-- TelescopeControllerMeade
TelescopeControllerAbstract <|-- TelescopeControllerGemini
ClientSocket <|-- TelescopeControllerGemini
TelescopeControllerAbstract <|-- TelescopeControllerColibri

PLCControllerAbstract <|-- PLCControllerAK
PLCControllerAbstract <|-- PLCControllerColibri

CameraControllerAbstract <|-- CameraControllerVIS_AK
CameraControllerAbstract <|-- CameraControllerCAGIRE
CameraControllerAbstract <|-- CameraControllerDDRAGO

/' Channels '/
ClientChannel <|-- ClientSocket
ClientChannel <|-- ClientSerial
ClientChannel <|-- ClientUSB

@enduml