research:doforreal
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
research:doforreal [2010/08/03 20:29] – created stijnm | research:doforreal [2010/08/04 17:34] (current) – shortened tvcutsem | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Distributed Objects for Real ==== | + | ====== Distributed Objects for Real ====== |
- | == Real Objects == | + | Over the past year, the Software Languages Lab has been experimenting with new programming language abstractions for mobile RFID-enabled applications. We approached the development of such applications from two opposing perspectives, |
- | The widespread adoption | + | ===== Volatile Data Clouds ===== |
+ | < | ||
- | One problem of note involves the power requirements of an RFID reader. | + | The //volatile data clouds// model considers |
- | Anticipating | + | Since the collection |
- | Prototype implementations of both models have been developed in AmbientTalk, an actor-based domain-specific language built on top of J2ME. In this position paper, the models are explained as independently as possible | + | Concretely, the collection |
- | == Volatile Data Clouds == | + | Another important aspect is efficiently detecting when interesting patterns occur in a reactive tag collection. |
+ | occurrences, | ||
- | The //volatile data clouds// model considers an RFID tag as data whose presence or absence can be used to steer the application. | + | ===== Proxy Objects ===== |
- | The implicit and automatic propagation of change is achieved by borrowing ideas from // | + | < |
+ | The proxy objects model represents RFID-tagged physical objects as full-blown software objects, which introduces a natural mechanism | ||
+ | </ | ||
- | When programing with reactive values that represent | + | 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. |
- | Furthermore, such collections should provide //memoized iteration// constructs (e.g. '' | + | When interacting with these proxy objects, one has to deal with the ephemeral nature |
+ | the interaction with classic remote objects: | ||
- | Most importantly, the programming language should provide support | + | First of all, mobile RFID-enabled applications need a means to detect |
+ | mechanism | ||
- | == Tags Objects == | + | 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. |
- | While the //volatile data clouds// model considers RFID tags as containers of data which is to be filtered | + | By aligning tagged objects with remote objects, one can develop mobile RFID-enabled applications without having to learn about a new concept. |
- | When treating tags as objects, it is important to deal with the ephemeral nature of the connection between the mobile | + | A particularly interesting abstraction when developing |
- | Once a tag 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. | + | ===== Comparison ===== |
- | While messages are implicitly buffered during a temporary disconnection, it is important | + | Having implemented both models, we have found their virtues and limitations to be largely complementary. |
- | Within the tag object | + | The volatile data clouds |
- | == Comparison == | + | The tag objects model on the other hand treats the contents of an RFID tag as a full-fledged object. |
- | + | ||
- | Having implemented both models, it remains unclear whether one of the models presented in this paper is to be preferred over the other. | + | |
- | + | ||
- | 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]] |
research/doforreal.1280860177.txt.gz · Last modified: 2010/08/03 20:48 (external edit)