This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
research:doforreal [2010/08/04 15:01] alombide |
research:doforreal [2010/08/04 17:34] tvcutsem shortened |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Distributed Objects for Real ====== | ||
- | Over the past year, a number of researchers at the Software Languages Lab have been involved in experiments designed to uncover new programming abstractions to facilitate the development of mobile RFID-enabled applications. | ||
- | |||
- | During these experiments, | ||
- | |||
- | ===== Volatile Data Clouds ===== | ||
- | < | ||
- | |||
- | The //volatile data clouds// model considers RFID tags to be data containers whose presence or absence can be used to steer the application. | ||
- | |||
- | Since the collection is implicitly tied to the environment and changes frequently in response to events emitted by the RFID reader, //change// is at the very heart of the model. | ||
- | |||
- | Concretely, the collection of visible tags is modeled as a //reactive collection// | ||
- | |||
- | Another important aspect is efficiently detecting when interesting patterns occur in a reactive tag collection. | ||
- | occurrences, | ||
- | |||
- | ===== Proxy Objects ===== | ||
- | |||
- | < | ||
- | The proxy objects model represents RFID-tagged physical objects as full-blown software objects, which introduces a natural mechanism to deal with **mutable tag data**. | ||
- | </ | ||
- | |||
- | While the //volatile data clouds// model considers RFID tags to be containers of data which is to be filtered and interpreted by the application, | ||
- | |||
- | When interacting with these proxy objects, one has to deal with the ephemeral nature of the connection between the mobile RFID-enabled application and any particular tag denoted by a proxy object. | ||
- | the interaction with classic remote objects: | ||
- | |||
- | First of all, mobile RFID-enabled applications need a means to detect when a particular tagged object has come into range. | ||
- | mechanism to achieve this is to use the default [[at: | ||
- | |||
- | Once a proxy object has been discovered, the application can start to interact with it. However, if either the user of the application or the tagged object is roaming, it is extremely likely that the tag will (temporarily) go out of range. | ||
- | |||
- | By aligning tagged objects with remote objects, one can develop mobile RFID-enabled applications without having to learn about a new concept. | ||
- | |||
- | A particularly interesting abstraction when developing mobile RFID-enabled applications are [[research: | ||
- | |||
- | ===== Comparison ===== | ||
- | |||
- | Having implemented both models, we have found their virtues and limitations to be largely complementary. | ||
- | |||
- | The volatile data clouds model treats RFID tags as simple containers of data and aims at providing applications with expressive means to represent a collection of nearby tags which is constantly in flux. Consequently, | ||
- | |||
- | The tag objects model on the other hand treats the contents of an RFID tag as a full-fledged object. | ||
- | |||
- | In all likelihood, a programming model that fully leverages the advantages of a world teeming with tagged objects will incorporate elements of both models presented here. | ||
- | |||
- | ===== Further Reading ===== | ||
- | |||
- | * Distributed Objects for Real. Stijn Mostinckx, Andoni Lombide Carreton, Kevin Pinte, Wolfgang De Meuter. Technical report, 2010, Vrije Universiteit Brussel [[|pdf]] |