blob: bafca769b5d01feb33fdc415796016fbf0cf705f [file] [log] [blame]
@startuml
skinparam class {
BorderColor black
FontColor #50237f
BackgroundColor #f5f5f5
ArrowColor black
}
skinparam stereotype{
CBackgroundColor white
EBackgroundColor white
}
class ProcessPayload{
content-spec[1] : String
}
class Device {
deviceID[1] : String
metaData[0..1] : Map<String, String>
operationalStatus[0..1] : String
}
class Part {
code[0..1] : String
metaData[0..1] : Map<String, String>
partID[0..1] : String
partTypeID[0..1] : String
result[0..1] : Result
type[0..1] : PartType
}
class Process {
externalProcessId[0..1] : String
metaData[0..1] : Map<String, String>
result[0..1] : Result
shutoffPhase[0..1] : String
shutoffValue[0..*] : Map<String, ShutoffValue>
ts[1] : Date
}
class Measurement {
code[0..1] : String
limits[0..1] : Map<String, Limits>
name[0..1] : String
phase[0..1] ; String
result[0..1] : Result
ts[1] : Date
}
class Program {
id[1] : String
lastChangeDate[0..1] : String
name[0..1] : String
}
class ShutoffValue {
lowerError[0..1] : Float
lowerWarn[0..1] : Float
target[0..1] : Float
ts[0..1] : Date
upperError[0..1] : Float
upperWarn[0..1] : Float
value[1] : Float
}
class Series {
$_time[0..1] : List<Integer>
<values>[0..*] : List<Float>
}
abstract class Limits {
}
class LimitsSingle {
lowerError[0..1] : Float
lowerWarn[0..1] : Float
target[0..1] : Float
upperError[0..1] : Float
upperWarn[0..1] : Float
}
class LimitsList {
lowerError[0..1] : List<Float>
lowerWarn[0..1] : List<Float>
target[0..1] : List<Float>
upperError[0..1] : List<Float>
upperWarn[0..1] : List<Float>
}
class SpecialValue {
$_time[0..1] : Integer
name[0..1] : String
value[1] : Map<String, Float>
}
enum PartType {
SINGLE
BATCH
}
enum Result {
OK
NOK
UNKNOWN
}
ProcessPayload "1" *-- "1" Device : device
ProcessPayload "1" *-- "0..1" Part : part
ProcessPayload "1" *-- "1" Process : process
ProcessPayload "1" *-- "1..*" Measurement : measurements
Process "1" *-- "0..1" Program : program
Process "1" *-- "0..*" ShutoffValue
Measurement "1" *-- "1" Series : series
Measurement "1" *-- "0..1" Limits
Measurement "1" *-- "0..1" SpecialValue : specialValues
Limits <|-- LimitsSingle
Limits <|-- LimitsList
@enduml