This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
research:doforreal [2010/08/04 12:29] stijnm small |
research:doforreal [2010/08/04 17:34] tvcutsem shortened |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Distributed Objects for Real ====== | ||
- | In the past few years, researchers at the Software Languages Lab have performed a number of experiments to discover how to facilitate the development of so-called __Mo__bile | ||
- | __R__FID-__ena__bled (Morena) applications. | ||
- | |||
- | Over the past year, we have developed two opposing programming models to represent RFID tags in an application. | ||
- | |||
- | == 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. | ||
- | |||
- | When programing with reactive values that represent the collection of visible tags, the programming language needs to provide the following support. | ||
- | |||
- | Furthermore, | ||
- | |||
- | Most importantly, | ||
- | |||
- | == Tags Objects == | ||
- | |||
- | While the //volatile data clouds// model considers RFID tags as containers of data which is to be filtered and interpreted by the application, | ||
- | |||
- | When treating tags as objects, it is important to deal with the ephemeral nature of the connection between the mobile application and any particular tag. A first problem to be tackled is how applications detect new tags as they come into range. | ||
- | |||
- | 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. | ||
- | |||
- | While messages are implicitly buffered during a temporary disconnection, | ||
- | |||
- | Within the tag object model, we have conducted initial experiments on how to use ad hoc // | ||
- | |||
- | == Comparison == | ||
- | |||
- | 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. | ||
- | |||
- | == Further Reading == | ||
- | |||
- | * Distributed Objects for Real. Stijn Mostinckx, Andoni Lombide Carreton, Kevin Pinte, Wolfgang De Meuter. Technical report, 2010, Vrije Universiteit Brussel [[|pdf]] |