┌───────────┐ ┌─────────┐ ┌──────┐ ┌──────┐ │FrameStream│ │DataPoint│ │Stream│ │Stream│ ├───────────┤ ├─────────┤ ├──────┤ ├──────┤ └───────────┘ └─────────┘ └──────┘ └──────┘ | | | | | | ┌──────┐ ┌───────────────────┐ ┌───────────────────────┐ ┌───────────────────────┐ ┌───────────┐ │Stream│ │PointToFrameAdapter│ │AbstractStreamDecorator│ │AbstractStreamDecorator│ │FrameStream│ ├──────┤ ├───────────────────┤ ├───────────────────────┤ ├───────────────────────┤ ├───────────┤ └──────┘ └───────────────────┘ └───────────────────────┘ └───────────────────────┘ └───────────┘ ┌───────────────────────┐ ┌───────────┐ ┌────────────────────────────┐ │AbstractStreamDecorator│ │PointStream│ │AbstractFrameStreamDecorator│ ├───────────────────────┤ ├───────────┤ ├────────────────────────────┤ └───────────────────────┘ └───────────┘ └────────────────────────────┘ | ┌────────────────────────────┐ ┌────────────┐ ┌─────────┐ ┌─────────┐ │AbstractPointStreamDecorator│ │StreamClient│ │Resampler│ │Processor│ ├────────────────────────────┤ ├────────────┤ ├─────────┤ ├─────────┤ └────────────────────────────┘ └────────────┘ └─────────┘ └─────────┘ | | ┌────────┐ ┌──────┐ │FailOver│ │Sensor│ ├────────┤ ├──────┤ └────────┘ └──────┘