Parallel Patterns for Adaptive Data Stream Processing