@startuml oclib abstract Ressource { +id: int } class Data { +id: int +name: string } class Processing { +id: int +name: string +container: string +command: int +environment: int } class Storage { +id: int +name: string +url: string +capacity: int } class Datacenter { +id: int +name: string } class Workflow { +id: int +name: string } class ResourceSet { +id: int +name: string +ressources: Ressource[] } class WorkflowSchedule { +id: int +start: date +end: date +cron : string } class Graph { +id: int Ressource[] ressources Link[] links } class Link { +id: int +source: Ressource +target: Ressource } class Calendar { +id: int +name: string +workflows: Workflow[] +owner: string } class UserWorkflows { +id: int +user: string +workflows: Workflow[] } class DatacenterWorkflows { +id: int +datacenter: Datacenter +workflows: Workflow[] } UserWorkflows "1" o-- "0..*" Workflow DatacenterWorkflows "1" o-- "0..*" Workflow Ressource <|-- Data Ressource <|-- Processing Ressource <|-- Storage Ressource <|-- Datacenter Ressource <|-- Workflow ResourceSet "1" o-- "0..*" Ressource Workflow "1" o-- "0..*" ResourceSet Workflow "1" o-- "0..*" WorkflowSchedule Workflow "1" o-- "0..*" Graph Graph "1" o-- "0..*" Ressource Graph "1" o-- "0..*" Link Calendar "1" o-- "0..*" Workflow @enduml