Testing context-aware middleware-centric programs: a data flow approach and an RFID-based experimentation