I would like to present our approach to ease development of pervasive computing applications through generation
pervasive computing systems involve everyday objects and activities in highly dynamic environments. All objects are networked and must be able to communicate. This paradigm is also called ubiquitous computing or ambient intelligence.
But, as with each technology, it introduces its own challenges
from the description: abstract middleware guide implementation ensure conformance support graphical simulation
detailed overview with the outline of the rest of talk
a context aggregates date from devices and interprets it to make it application-specific. For example, a Fire context... a controller uses data from one or multiple contexts and take the decision to activate the devices.
the detail of the generated methods are in the paper. underlined methods and classes are abstract
the detail of the generated methods are in the paper. underlined methods and classes are abstract
A Generative Programming Approach to Developing Pervasive Computing Systems - Presentation Transcript
A Generative Programming
Approach to Developing Pervasive
Computing Systems
Damien Cassou, Benjamin Bertran, Nicolas Loriant and Charles Consel
GPCE'09
2 Architecture
controller FireController {
context FireState;
action Activation on Alarm;
action OnOff on Sprinkler;
}
21
3 Generated programming
framework
●
generated from the description
●
dedicated to the application
in a
GPL!
22
3 Generated programming
framework
●
guides the implementation
●
abstracts the distributed back-end
●
provides high level support
in a
GPL!
23
3 Generated programming
framework
...
24
3 Generated programming
framework
●
interfaces
●
proxies
●
composites
●
support
➢
discovery
➢
RPC
●
and more
25
4 Application development
guided by the description
through the generated framework
26
4 Application development
controller FireController {
context FireState;
action OnOff on Sprinkler;
…
} architecture
framework
class MyFireCtrl extends FireController {
@Override
void fireStateChanged(boolean fire, Location loc) {
if (fire) {
discover(sprinklersWhere()…).on();
…
}
device discovery remote procedure call
…
} query language
}
user code
27
5 Generated simulation support
28
5 Generated simulation support
Editor
29
5 Generated simulation support
Runtime platform
no additional code!
30
Conclusion & Future work
●
From a small description of a ●
Non-functional properties
pervasive computing system ●
security
●
a generated programming ●
fault tolerance
framework
●
Further leveraging on existing
– to guide the development approaches/tools
– to ensure conformance
●
unit testing
●
a support for graphical
●
refactoring
simulation
●
Generalizing our approach to
●
a middleware abstraction
other domains
layer
31
0 comments
Post a comment