oc-lib/doc/model.puml

181 lines
2.8 KiB
Plaintext
Raw Normal View History

2024-07-04 16:08:59 +02:00
@startuml oclib
2024-08-07 18:50:25 +02:00
abstract Resource{
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-05 17:41:40 +02:00
+name: string
+icon: string
+description: string
+graphic: GraphicElement
2024-12-16 12:17:20 +01:00
+element: DataResource/ProcessingResource/StorageResource/Workflow/ComputeResource
2024-07-04 16:08:59 +02:00
}
2024-07-19 10:54:58 +02:00
class DataResource {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
}
2024-07-19 10:54:58 +02:00
class ProcessingResource {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
+container: string
+command: int
2024-07-05 17:41:40 +02:00
+environment: int
2024-07-04 16:08:59 +02:00
}
2024-07-19 10:54:58 +02:00
class StorageResource {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
+url: string
+capacity: int
}
2024-12-16 12:17:20 +01:00
class ComputeResource {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
}
class Workflow {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
}
class ResourceSet {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
+ressources: Ressource[]
}
class WorkflowSchedule {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+start: date
+end: date
+cron : string
}
class Graph {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-08-07 18:50:25 +02:00
+ressources: map[GraphicElement.UUID]Resource
2024-07-05 17:41:40 +02:00
+links: Link[]
2024-07-04 16:08:59 +02:00
}
class Link {
2024-07-16 10:56:36 +02:00
+UUID: int
+source: GraphicElement.UUID
+target: GraphicElement.UUID
2024-07-11 16:52:26 +02:00
+graphic: GraphicLink
2024-07-05 17:41:40 +02:00
}
class GraphicLink {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-05 17:41:40 +02:00
+startXY: coord
+endXY: coord
+style: string
}
class GraphicElement {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-05 17:41:40 +02:00
+style: string
+xy: coord
2024-07-04 16:08:59 +02:00
}
class Calendar {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+name: string
+workflows: Workflow[]
+owner: string
}
class UserWorkflows {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-04 16:08:59 +02:00
+user: string
+workflows: Workflow[]
}
class DatacenterWorkflows {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-12-16 12:17:20 +01:00
+compute: ComputeResource
2024-07-04 16:08:59 +02:00
+workflows: Workflow[]
}
2024-07-05 17:41:40 +02:00
class Graph {
2024-07-16 10:56:36 +02:00
+UUID: int
2024-07-05 17:41:40 +02:00
+graph: Graph
+workflows: Workflow[]
}
2024-08-07 18:50:25 +02:00
class Workspace {
+UUID: int
+name: string
+resources: ResourceSet[]
+peers: Peer[]
}
class Peer {
+UUID: int
+name: string
+url: string
}
class SharedWorkspace {
+UUID: int
+name: string
+version: string
+description: string
+attributes: map[string]string
+workspaces: Workspace[]
+workflows: Workflow[]
+peers: Peer[]
}
class RuleSet {
+UUID: int
+name: string
+description: string
+rules: Rule[]
}
class Rule {
+UUID: int
+name: string
+description: string
+condition: string
+action: string
}
SharedWorkspace "1" o-- "0..*" Workspace
SharedWorkspace "1" o-- "0..*" Peer
Workspace "1" o-- "0..*" ResourceSet
Peer -- Resource
RuleSet "1" o-- "0..*" Rule
SharedWorkspace -- RuleSet
2024-07-05 17:41:40 +02:00
2024-07-04 16:08:59 +02:00
UserWorkflows "1" o-- "0..*" Workflow
DatacenterWorkflows "1" o-- "0..*" Workflow
2024-08-07 18:50:25 +02:00
Resource<|-- DataResource
Resource<|-- ProcessingResource
Resource<|-- StorageResource
2024-12-16 12:17:20 +01:00
Resource<|-- ComputeResource
2024-08-07 18:50:25 +02:00
Resource<|-- Workflow
2024-07-04 16:08:59 +02:00
ResourceSet "1" o-- "0..*" Ressource
Workflow "1" o-- "0..*" ResourceSet
2024-07-16 10:56:36 +02:00
Workflow "1" o-- "0..1" WorkflowSchedule
2024-07-04 16:08:59 +02:00
Workflow "1" o-- "0..*" Graph
2024-07-11 16:52:26 +02:00
Graph "1" o-- "0..*" Resources
2024-07-04 16:08:59 +02:00
Graph "1" o-- "0..*" Link
2024-08-07 18:50:25 +02:00
Resource--o GraphicElement
2024-07-05 17:41:40 +02:00
Link -- GraphicLink
2024-07-04 16:08:59 +02:00
Calendar "1" o-- "0..*" Workflow
2024-07-11 16:52:26 +02:00
2024-07-04 16:08:59 +02:00
@enduml