Researcher and teaching assistant.
It is my vision that our future environments will be pervaded with RFID tags. These are small, wireless chips that can be attached to any physical object and that can contain custom data. Technology: RFID tags are small chips that can be attached to any physical object. Using a reader, one can wirelessly read and change digital information on the memory of the tags or even obtain sensor data from them. Observed trends:
- RFID tags are extremely cheap (a few cents) which makes tagging everything possible.
- RFID hardware becomes cheaper and smaller and is being integrated in mobile devices, such as Android smartphones.
Vision: Our environment will become a spatial database. Users will use mobile devices to interact with the digital information stored on RFID tags and dispersed through our everyday surroundings. We call applications running on mobile devices that realize this vision Mobile RFID-Enabled Applications (MoREnA's). Problem: Programming MoREnA's is difficult due to the lack of tailored software abstractions that deal with the peculiarities of interacting with RFID tags, such as: latency, frequent I/O errors, extreme volatility of connection, mobility, ... My research... ... centers around providing adequate software and programming language abstractions to program MoREnA's. My most important contributions include:
- The introduction of the thing concept which upholds the illusion for the programmer of interacting with software objects using message sending instead of reading and writing raw bits and bytes from a tag's memory.
- A reactive collection framework, ambient clouds, which targets maintaining, querying and combining collections of "ephemeral" information. I.e., data of which the availability is extremely limited and fluctuating due to mobility or volatile connectivity of devices (e.g., digital information on RFID tags).
- Radio-Frequency Identification (RFID)
- Mobile RFID-Enabled Applications (MoREnA's)
- Reactive Programming
- Programming Languages
- Ambient-Oriented Programming