| @startuml |
| |
| skinparam class { |
| BorderColor black |
| FontColor #50237f |
| BackgroundColor #f5f5f5 |
| ArrowColor black |
| } |
| |
| skinparam stereotype { |
| CBackgroundColor white |
| EBackgroundColor white |
| } |
| |
| class MeasurementPayload { |
| content-spec : String |
| device : Device |
| measurements : Measurements |
| part[0..1] : Part |
| } |
| |
| class Device { |
| deviceID : String |
| metaData[0..1] : <String, String> |
| operationalStatus[0..1] : String |
| } |
| |
| class Part { |
| code[0..1] : String |
| metaData[0..1] : <String, String> |
| partID[0..1] : String |
| partTypeID[0..1] : String |
| result[0..1] : Result |
| } |
| |
| class Measurement { |
| code[0..1] : String |
| limits[0..1] : LimitsList |
| result[0..1] : Result |
| series : Series |
| ts : Date |
| } |
| |
| class Limits { |
| lowerError[0..1] : Float |
| lowerWarn[0..1] : Float |
| target[0..1] : Float |
| upperError[0..1] : Float, |
| upperWarn[0..1] : Float |
| } |
| |
| class Series { |
| $_time : [Integer] |
| <values>[1..*] : [Float] |
| } |
| |
| enum Result { |
| OK |
| NOK |
| UNKNOWN |
| } |
| |
| MeasurementPayload -- Device |
| MeasurementPayload -- Part |
| MeasurementPayload "1" o-- "1..*" Measurement : Measurements |
| |
| Measurement -- Series |
| Measurement "1" *-- "0..1" Limits : LimitsList |
| |
| @enduml |