A Generative Programming Approach to Developing Pervasive Computing Systems
Upcoming SlideShare
Loading in...5
×
 

A Generative Programming Approach to Developing Pervasive Computing Systems

on

  • 2,699 views

Presentation of the DiaSpec approach to GPCE 2009 in Denver.

Presentation of the DiaSpec approach to GPCE 2009 in Denver.

Statistics

Views

Total Views
2,699
Views on SlideShare
2,392
Embed Views
307

Actions

Likes
1
Downloads
37
Comments
1

4 Embeds 307

https://diaspec.bordeaux.inria.fr 300
http://www.slideshare.net 5
https://diagen.bordeaux.inria.fr 1
http://www.slashdocs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Great work.
    Thanks for sharing.

    http://www.e-rachat-credits.fr/
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 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
  • Pervasive Computing Systems 2
  • 3
  • Pervasive Computing ● heterogeneity ● lack of structuring ● dynamicity ● multiple expertise ● testing  hardware/software  functionalities  interfaces 4
  • Pervasive Computing ● heterogeneity ● lack of structuring ● dynamicity ● multiple expertise  implicit interactions ● testing  no global reasoning  multi-roles components 5
  • Pervasive Computing ● heterogeneity ● lack of structuring ● dynamicity ● multiple expertise  incremental deployment ● testing  mobility  entity malfunction 6
  • Pervasive Computing ● heterogeneity ● lack of structuring ● dynamicity ● multiple expertise  hardware ● testing  network protocols  middleware  user needs 7
  • Pervasive Computing ● heterogeneity ● lack of structuring ● dynamicity ● multiple expertise  time consuming ● testing  cost ineffective  limited situations 8
  • Pervasive Computing ● heterogeneity ● Existing approaches ● lack of structuring ● general purpose ● dynamicity ● multiple expertise ● partial ● testing 9
  • Our approach 10
  • Our approach 11
  • Fire management scenario 12
  • 13
  • 1 Taxonomy DSL to describe a hierarchy of devices ● attributes ● data gathered ● actions supported 14
  • 1 Taxonomy device SmokeDetector (Location loc){ source Smoke; } struct Smoke { boolean isDetected; } 15
  • 1 Taxonomy device Sprinkler (Location loc) { action OnOff; } action OnOff { on(); off(); } 16
  • 17
  • 2 Architecture DSL to instantiate a common pervasive computing architectural pattern 18
  • 2 Architecture 19
  • 2 Architecture context SmokeDetected: boolean { source Smoke from SmokeDetector; } context FireState: boolean { context SmokeDetected; context AverageTemperature; } 20
  • 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