@startuml abstract class Person { +name } abstract class Employee { +ssn } class Tap { } enum VipRole { DEAN RESEARCHER RESEARCH_ASSISTANT } class Vip { +VipRole role } class Student { } Person <|-- Employee Employee <|-- Tap Employee <|-- Vip Person <|-- Student abstract class Org { +name } class Institute { } class Faculty { +address } Org <|-- Institute Org <|-- Faculty Institute <|-- Faculty @enduml