oc-lib/doc/model.puml
2024-07-11 16:52:26 +02:00

137 lines
1.9 KiB
Plaintext

@startuml oclib
abstract Ressource {
+id: int
+name: string
+icon: string
+description: string
+graphic: GraphicElement
+element: Data/Processing/Storage/Workflow/Datacenter
}
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
+ressources: map[GraphicElement.ID]Ressource
+links: Link[]
}
class Link {
+id: int
+source: GraphicElement.ID
+target: GraphicElement.ID
+graphic: GraphicLink
}
class GraphicLink {
+id: int
+startXY: coord
+endXY: coord
+style: string
}
class GraphicElement {
+id: int
+style: string
+xy: coord
}
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[]
}
class Graph {
+id: int
+graph: Graph
+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..*" Resources
Graph "1" o-- "0..*" Link
Ressource --o GraphicElement
Link -- GraphicLink
Calendar "1" o-- "0..*" Workflow
@enduml