This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
research:doforreal [2010/08/03 20:29] stijnm created |
research:doforreal [2010/08/04 15:01] alombide |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Distributed Objects for Real ==== | + | ====== Distributed Objects for Real ====== |
- | == Real Objects == | + | 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. |
- | The widespread adoption of RFID tags provides a unique opportunity to equip physical objects with a digital presence. | + | During these experiments, we have approached |
- | One problem of note involves the power requirements of an RFID reader. | + | ===== Volatile Data Clouds ===== |
+ | <note>The volatile data clouds model can be considered | ||
- | Anticipating | + | The //volatile data clouds// model considers RFID tags to be data containers whose presence or absence can be used to steer the application. |
- | Prototype implementations of both models have been developed | + | Since the collection is implicitly tied to the environment and changes frequently |
- | == Volatile Data Clouds == | + | Concretely, the collection of visible tags is modeled as a //reactive collection// |
- | The //volatile data clouds// model considers an RFID tag as data whose presence or absence | + | Another important aspect is efficiently detecting when interesting patterns occur in a reactive |
+ | occurrences, | ||
- | The implicit and automatic propagation of change is achieved by borrowing ideas from // | + | ===== Proxy Objects ===== |
- | When programing with reactive values that represent the collection of visible tags, the programming language needs to provide the following support. | + | < |
+ | The proxy objects model represents RFID-tagged physical objects as full-blown software objects, which introduces a natural mechanism | ||
+ | </ | ||
- | Furthermore, | + | While the //volatile data clouds// model considers RFID tags to be containers of data which is to be filtered and interpreted by the application, the //proxy objects// model conceived them as hosts for full-fledged objects, which encapsulate mutable state and provide their own methods. |
- | Most importantly, the programming language should provide support to detect interesting patterns as they occur in a reactive collection. | + | When interacting with these proxy objects, one has to deal with the ephemeral nature |
+ | the interaction with classic remote objects: | ||
- | == Tags 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: | ||
- | While the //volatile data clouds// model considers RFID tags as containers of data which is to be filtered and interpreted by the application, | + | Once a proxy object has been discovered, |
- | When treating tags as objects, | + | By aligning tagged objects with remote |
- | Once a tag object has been discovered, the application can start to interact with it. | + | A particularly interesting abstraction when developing mobile RFID-enabled applications are [[research: |
- | While messages are implicitly buffered during a temporary disconnection, | + | ===== Comparison ===== |
- | Within the tag object model, we have conducted initial experiments on how to use ad hoc // | + | Having implemented both models, we have found their virtues and limitations |
- | == Comparison == | + | 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, |
- | Having implemented both models, it remains unclear whether one of the models presented in this paper is to be preferred over the other. | + | The tag objects model on the other hand treats the contents of an RFID tag as a full-fledged object. |
- | + | ||
- | 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. | 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 == | + | ===== Further Reading |
* Distributed Objects for Real. Stijn Mostinckx, Andoni Lombide Carreton, Kevin Pinte, Wolfgang De Meuter. Technical report, 2010, Vrije Universiteit Brussel [[|pdf]] | * Distributed Objects for Real. Stijn Mostinckx, Andoni Lombide Carreton, Kevin Pinte, Wolfgang De Meuter. Technical report, 2010, Vrije Universiteit Brussel [[|pdf]] |