Towards Adaptive Flow Programming for the IoT: The Fluidware Approach