Your SlideShare is downloading. ×
0
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Thesis defense
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Thesis defense

514

Published on

Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with …

Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, and encoding it into a program. Moreover, testing pervasive computing applications is problematic because it requires acquiring, testing and interfacing a variety of software and hardware entities. This process can rapidly become costly and time-consuming when the target environment involves many entities.
This thesis proposes a tool-based methodology for developing and testing pervasive computing applications. Our methodology first provides the DiaSpec design language that allows to define a taxonomy of area-specific building-blocks, abstracting over their heterogeneity. This language also includes a layer to define the architecture of an application. Our tool suite includes a compiler that takes DiaSpec design artifacts as input and generates a programming framework that supports the implementation and testing stages.
To address the testing phase, we propose an approach and a tool integrated in our tool-based methodology, namely DiaSim. Our approach uses the testing support generated by DiaSpec to transparently test applications in a simulated physical environment. The simulation of an application is rendered graphically in a 2D visualization tool.
We combined DiaSim with a domain-specific language for describing physical environment phenomena as differential equations, allowing a physically-accurate testing. DiaSim has been used to simulate various pervasive computing systems in different application areas. Our simulation approach has also been applied to an avionics system, which demonstrates the generality of our parameterized simulation approach.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
514
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Orchestration of networked entities\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Need to specify the impact of sensors and actuators on the physical environment\n
  • Need to specify the impact of sensors and actuators on the physical environment\n
  • Simulation impacted the DiaSpec design as we needed to add information about sensors and actuators\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Physical layout = graphical representations, locations/rooms and walls\n
  • Physical layout = graphical representations, locations/rooms and walls\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Developing and TestingPervasive Computing Applications: A Tool-Based Methodology Julien Bruneau Supervisor: Charles Consel Phoenix Research Group INRIA Bordeaux
    • 2. In our everyday life: 2
    • 3. In our everyday life:• Growing number of networked entities 2
    • 4. In our everyday life:• Growing number of networked entities• Growing importance of the digital world Digital world 2
    • 5. In our everyday life:• Growing number of networked entities• Growing importance of the digital world Pervasive computing has become a reality Digital world 2
    • 6. Actuators Physical environmentApplication Sensors 3
    • 7. Actuators Physical environmentApplication ! May impact people safety ValidatingSensors the application behavior is necessary !! 4
    • 8. Actuators Physical environment Application SensorsValidation of the application behavior• Verification - Static analysis of the application code 5
    • 9. Actuators Physical environment Application SensorsValidation of the application behavior• Verification Do not take into account the - Static analysis of the application code environment 5
    • 10. Actuators Physical environment Application SensorsValidation of the application behavior• Verification - Static analysis on the application• Testing - At deployment time - Using simulation 6
    • 11. Actuators Physical environmentApplication SensorsTesting at deployment time: Simulation: + Accurate - May be inaccurate - Time consuming + Fast - Expensive + Inexpensive - Not always possible 7 + Simulation of any scenarios
    • 12. Simulated EnvironmentApplication 8
    • 13. Easy introduction of new entities and simulated stimuli Simulated EnvironmentApplication Area-specific simulator 9
    • 14. Simulated EnvironmentApplication Testing a wide range of scenarios 10
    • 15. Simulated Environment RealApplication Environment 11
    • 16. Simulated Environment RealApplication EnvironmentTransparent simulation 12
    • 17. Simulated Environment RealApplication Environment Unitary testing of an entity 13
    • 18. Simulated Environment Real Application EnvironmentHybrid simulation Incremental deployment 14
    • 19. Requirements• Area-specific simulator• Testing a wide range of scenarios• Transparent simulation• Hybrid simulation 15
    • 20. Existing Approaches• Few existing approaches - Ubiwise, Tatus, Lancaster, PiCSE, UbiReal• Limitations - Intrusive simulation - Area-insensitive approaches 16
    • 21. ThesisA design-driven development methodologyfor a physically-accurate testing of pervasive computing applications 17
    • 22. - Design-driven methodology Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 18
    • 23. - Design-driven methodology- Transparent simulation Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 19
    • 24. - Design-driven methodology- Transparent simulation Developer- Hybrid simulation Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 20
    • 25. - Design-driven methodology- Transparent simulation Developer- Hybrid simulation- Physically-accurate simulation Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 21
    • 26. - Design-driven methodology- Transparent simulation Developer- Hybrid simulation- Physically-accurate simulation Application- Integration in the DiaSuite tool-suite Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 22
    • 27. - Design-driven methodology- Transparent simulation Developer- Hybrid simulation- Physically-accurate simulation Application- Integration in the DiaSuite tool-suite- Validation on a large-scale case study Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 23
    • 28. Developer Design-driven methodology Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 24
    • 29. Actuators Physical environmentApplication Sensors 25
    • 30. Emulated Abstraction of the actions Actuators provided by the actuators Simulated Physical EnvironmentApplication Emulated Sensors Abstraction of the information sensed 26 by the sensors
    • 31. Physical environment actions entities sourcesApplication 27
    • 32. Physical environment actions entities sourcesApplication device MotionDetector { attribute location as Location; Motion source motion as Boolean; Detector } [location] structure Location { motion name as String; floor as String; } 28
    • 33. Physical environment actions entities sourcesApplication device Heater { attribute location as Location; Heat action Heat; } Heater action Heat { [location] on(); off(); } 29
    • 34. Physical environment actions entities sourcesApplication 30
    • 35. Physicalcontroller environment actions entities sources context Application 31
    • 36. Heater [location] entities Heat (action) Heat Regulator controller Heat Regulation Room Occupancy context Average PresenceTemperature temperature motion scheduleTemperature Motion Calendar entities Sensor Detector (source) [location] [location] 32
    • 37. Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 33
    • 38. Developer Generation of a programming abstraction layer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 33
    • 39. Developer + Transparent simulation Application Programming Framework Abstraction LayerDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities + Hybrid simulation DiaSim 34
    • 40. public abstract class AbstractHeatRegulator {controller HeatRegulator { Generation [ ... ] context HeatRegulation; action Heat on Heater; public abstract void onHeatRegulation(} HeatRegulation regulation, Discover discover); } Implementation Heater [location] public class HeatRegulator extends AbstractHeatRegulator { Heat @Override public void onHeatRegulation(HeatRegulation regulation, Discover discover) { HeaterComposite heaters = discover.heatersWhere().location(regulation.getLocation()); Heat if (regulation.getType() == Regulation.START_HEATING) Regulator heaters.on(); else if (regulation.getType() == Regulation.STOP_HEATING) heaters.off(); } } Heat Regulation Developer 35
    • 41. public abstract class AbstractHeatRegulator {controller HeatRegulator { Generation [ ... ] context HeatRegulation; action Heat on Heater; public abstract void onHeatRegulation(} HeatRegulation regulation, Discover discover); } Implementation Heater [location] public class HeatRegulator extends AbstractHeatRegulator { Heat @Override public void onHeatRegulation(HeatRegulation regulation, Discover discover) { HeaterComposite heaters = discover.heatersWhere().location(regulation.getLocation()); Heat if (regulation.getType() == Regulation.START_HEATING) Regulator heaters.on(); else if (regulation.getType() == Regulation.STOP_HEATING) heaters.off(); } } Heat Regulation Developer 36 Real
    • 42. public abstract class AbstractHeatRegulator {controller HeatRegulator { Generation [ ... ] context HeatRegulation; action Heat on Heater; public abstract void onHeatRegulation(} HeatRegulation regulation, Discover discover); } Implementation Heater [location] public class HeatRegulator extends AbstractHeatRegulator { Heat @Override public void onHeatRegulation(HeatRegulation regulation, Discover discover) { HeaterComposite heaters = discover.heatersWhere().location(regulation.getLocation()); Heat if (regulation.getType() == Regulation.START_HEATING) Regulator heaters.on(); else if (regulation.getType() == Regulation.STOP_HEATING) heaters.off(); } } Heat Regulation Developer 37 Simulated
    • 43. public abstract class AbstractHeatRegulator {controller HeatRegulator { Generation [ ... ] context HeatRegulation; action Heat on Heater; public abstract void onHeatRegulation(} HeatRegulation regulation, Discover discover); } Implementation Heater [location] public class HeatRegulator extends AbstractHeatRegulator { Heat @Override public void onHeatRegulation(HeatRegulation regulation, Discover discover) { HeaterComposite heaters = discover.heatersWhere().location(regulation.getLocation()); Heat if (regulation.getType() == Regulation.START_HEATING) Regulator heaters.on(); else if (regulation.getType() == Regulation.STOP_HEATING) heaters.off(); } } Heat Regulation Developer 38 Hybrid
    • 44. Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Edition of simulation scenarios Tester Simulated entities Real entities DiaSim 39
    • 45. Emulated entities Simulated people Physical layout Physical properties Simulation scenarioEmulated entities Physical layout- Set of instances - Locations- Location - Graphical representationSimulated people Physical properties- Properties - Evolution- Behavior 40
    • 46. parameterizes DiaSpec description configures DiaGenSimulation Framework uses Emulated entities Simulated people Physical layout Simulation scenario 41
    • 47. Emulated entities Simulated people Physical layout Physical properties Simulation scenarioEmulated entities Physical layout- Set of instances - Locations- Location - Graphical representationSimulated people Physical properties- Properties - Evolution- Behavior 42
    • 48. actions Simulated Physical Emulated Environment Entities sourcesApplicationEvolution of the physical properties:Defined with well-known Ordinary/Partial Differential Equations 43
    • 49. Simulated environment stimuli actions Emulated Entitiesrces Application sources Approximated physical model lated Stimulus reads ties Producers dataons Integration of a continuous model into our simulation model Logs of measurements effects + Physically-accurate simulation 44
    • 50. Heat Heat Heater Regulator Temperature Sensor temperatureContinuous model of the temperature in a buildingThe temperature of a room is influenced by: - Heat transfer with neighbor areas - HVAC systems - Occupants 45
    • 51. pants of room i is denoted Occupants(i). We onlyadditional parameter to incorporate this aspect of buil Temperature Model j (W), H Heat dissipation of occupant number j Thus, the final equation can be expressed as: dTi 1 X Tk - Ti = dt Ci Rik k2Neighbors(i) 1 + ⇤ (Bh(i) ⇤ Pi - Bc(i) ⇤ Qi ) Ci 1 X + ⇤ Hj Ci j2Occupants(i) Other heat sources, such as equipment, appliances, awere neglected for simplicity but will be included at a l 46
    • 52. pants of room i is denoted Occupants(i). We onlyadditional parameter to incorporate this aspect of buil Temperature Model j (W), H Heat dissipation of occupant number j Thus, the final equation can be expressed as: dTi 1 X Tk - Ti = dt Ci Rik k2Neighbors(i) 1 + ⇤ (Bh(i) ⇤ Pi - Bc(i) ⇤ Qi ) Ci 1 X + ⇤ Hj Ci j2Occupants(i) Heat transfer with neighbor areas Other heat sources, such as equipment, appliances, awere neglected for simplicity but will be included at a l 46
    • 53. pants of room i is denoted Occupants(i). We onlyadditional parameter to incorporate this aspect of buil Temperature Model j (W), H Heat dissipation of occupant number j Thus, the final equation can be expressed as: dTi 1 X Tk - Ti = dt Ci Rik k2Neighbors(i) 1 + ⇤ (Bh(i) ⇤ Pi - Bc(i) ⇤ Qi ) Ci 1 X + ⇤ Hj Ci j2Occupants(i) HVAC Other heat sources, such as equipment, appliances, awere neglected for simplicity but will be included at a l 47
    • 54. pants of room i is denoted Occupants(i). We onlyadditional parameter to incorporate this aspect of buil Temperature Model j (W), H Heat dissipation of occupant number j Thus, the final equation can be expressed as: dTi 1 X Tk - Ti = dt Ci Rik k2Neighbors(i) 1 + ⇤ (Bh(i) ⇤ Pi - Bc(i) ⇤ Qi ) Ci 1 X + ⇤ Hj Ci j2Occupants(i) Occupants Other heat sources, such as equipment, appliances, awere neglected for simplicity but will be included at a l 48
    • 55. Heat Heat HeaterRegulator Temperature Sensor temperatureSimulation of the continuous model using Acumen - DSL for simulating continuous and discrete systems - Collaborative work with Prof. Walid Taha 49
    • 56. DiaSim Acumen updates variables in the continuous model Heat Heat HeaterRegulator Temperature Sensor temperature reads periodically the continuous model 50
    • 57. DiaSim Acumen Heater is OFF Heat Heat HeaterRegulator Temperature Sensor temperature 51
    • 58. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.1 52
    • 59. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.1 52
    • 60. DiaSim Acumen Heat Heat HeaterRegulator Temperature19.1 Sensor temperature 52
    • 61. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 18.8 53
    • 62. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 18.8 53
    • 63. DiaSim Acumen Heat Heat HeaterRegulator Temperature18.8 Sensor temperature 53
    • 64. DiaSim Acumen Heat.on() Heat Heat HeaterRegulator Temperature Sensor temperature 53
    • 65. DiaSim Acumen Hi = 1 Heat Heat HeaterRegulator Temperature Sensor temperature 53
    • 66. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.2 54
    • 67. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.2 54
    • 68. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature19.2 Sensor temperature 54
    • 69. ion with diasimmulated environment stimuli actions Emulated Entitieses Application sources Approximated physical modelated Stimulus readsies Producers datans Logs of measurements effects 55
    • 70. ion with diasimmulated environment stimuli actions Emulated Entitieses Application sources Approximated physical modelated Stimulus readsies Producers datans Other means to simulate accurately the physical environment can be Logs of achieved using the simulation programming framework measurements effects 55
    • 71. Simulated values read from a log database actions Emulated Entities sourcesApplicationOther means to simulate accurately the physical environment can beachieved using the simulation programming framework 56
    • 72. Emulated entities Simulated people Physical layout Physical properties Simulation scenario 57
    • 73. Emulated entities Simulated people Physical layout Physical properties Simulation scenarioIntegration in thetool suite• 2D graphical renderer based on Siafu• Rendering of the physical properties• Time-control - Play - Pause - Slow down - Speed up 58
    • 74. Developer Validation of our simulation approach Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 59
    • 75. ValidationSimulation of a school building • 110 simulated entities • 200 simulated people • 6 pervasive computing applications - Newscast - Anti-intrusion - Access control - Light management - Fire management - Heat regulation 60
    • 76. ValidationSimulation of a school building • 110 simulated entities • 200 simulated people • 6 pervasive computing applications ➡ Executed on a 3-year old laptop ✓ Scalability ✓ Performance 61
    • 77. Usability• Used as part of labs • In Bordeaux and Grenoble • Students with modest knowledge in Software Engineering 62
    • 78. UsabilityUsed as a testing platform in our research group DiaSuite “A Tool Suite to Prototype Pervasive Computing Applications”, Damien Cassou, Julien Bruneau and Charles Consel, PERCOM 2010, Demo 63
    • 79. UsabilityUsed as a testing platform in our research group Pantagruel“A Visual, Open-Ended Approach to Prototyping UbiquitousComputing Applications”,Zoe Drey and Charles Consel, PERCOM 2010, Demo 64
    • 80. Conclusion✓ Area-specific simulator - Parameterized by a high-level description of the entities✓ Transparent and hybrid simulation - Generation of a programming abstraction layer✓ Testing a wide range of scenarios - Generation of a simulation support - Physically-accurate simulation - Hybrid environment support 65
    • 81. Perspectives• Validation of our simulation approach - Comparison with a valid simulator (e.g., EnergyPlus) - Comparison with a real deployment• Simulation of the non-functional extensions of DiaSpec - Prevention of access conflicts to resources (DAIS 2011) - Error handling (OOPSLA 2010) - Performance (FASE 2011) 66
    • 82. Perspectives• Enhancing the system monitoring - Specification of interesting simulation events - Interfacing a 3D simulator (e.g., Blender)• Complementing our simulation approach - Simulation of human behavior (e.g., Golaem) - Network simulation (e.g., ns2, Tossim) 67
    • 83. SimulationDiaSim: A Simulator for Pervasive Computing ApplicationsSoftware: Practice and Experience, 2012Julien Bruneau and Charles ConselDiaSim: A Parameterized Simulator for Pervasive Computing ApplicationsMobiquitous, 2009Julien Bruneau, Wilfried Jouve, and Charles ConselVirtual Testing for Smart BuildingsInternational Conference on Intelligent Environments, 2012Julien Bruneau, Charles Consel, Marcia O’Malley, Walid Taha, and Wail Masry HannourahTool-based development methodologyTowards a Tool-based Development Methodology for Pervasive Computing ApplicationsIEEE Transactions on Software Engineering, 2011Damien Cassou, Julien Bruneau, Charles Consel, and Emilie BallandDiaSuite: A Tool Suite to Develop Sense/Compute/Control ApplicationsScience of Computer Programming, 2012Benjamin Bertran, Julien Bruneau, Damien Cassou, Nicolas Loriant, Charles Consel, and Emilie BallandDemonstrations and PostersPerCom 2009 (demo), ICPS 2009 (demo), PerCom 2010 (demo),Mobiquitous 2010 (poster), SPLASH 2010 (poster) 68

    ×