Successfully reported this slideshow.

Thesis defense

752 views

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 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
  • Be the first to comment

  • Be the first to like this

Thesis defense

  1. 1. Developing and TestingPervasive Computing Applications: A Tool-Based Methodology Julien Bruneau Supervisor: Charles Consel Phoenix Research Group INRIA Bordeaux
  2. 2. In our everyday life: 2
  3. 3. In our everyday life:• Growing number of networked entities 2
  4. 4. In our everyday life:• Growing number of networked entities• Growing importance of the digital world Digital world 2
  5. 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. 6. Actuators Physical environmentApplication Sensors 3
  7. 7. Actuators Physical environmentApplication ! May impact people safety ValidatingSensors the application behavior is necessary !! 4
  8. 8. Actuators Physical environment Application SensorsValidation of the application behavior• Verification - Static analysis of the application code 5
  9. 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. 10. Actuators Physical environment Application SensorsValidation of the application behavior• Verification - Static analysis on the application• Testing - At deployment time - Using simulation 6
  11. 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. 12. Simulated EnvironmentApplication 8
  13. 13. Easy introduction of new entities and simulated stimuli Simulated EnvironmentApplication Area-specific simulator 9
  14. 14. Simulated EnvironmentApplication Testing a wide range of scenarios 10
  15. 15. Simulated Environment RealApplication Environment 11
  16. 16. Simulated Environment RealApplication EnvironmentTransparent simulation 12
  17. 17. Simulated Environment RealApplication Environment Unitary testing of an entity 13
  18. 18. Simulated Environment Real Application EnvironmentHybrid simulation Incremental deployment 14
  19. 19. Requirements• Area-specific simulator• Testing a wide range of scenarios• Transparent simulation• Hybrid simulation 15
  20. 20. Existing Approaches• Few existing approaches - Ubiwise, Tatus, Lancaster, PiCSE, UbiReal• Limitations - Intrusive simulation - Area-insensitive approaches 16
  21. 21. ThesisA design-driven development methodologyfor a physically-accurate testing of pervasive computing applications 17
  22. 22. - Design-driven methodology Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 18
  23. 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. 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. 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. 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. 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. 28. Developer Design-driven methodology Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 24
  29. 29. Actuators Physical environmentApplication Sensors 25
  30. 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. 31. Physical environment actions entities sourcesApplication 27
  32. 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. 33. Physical environment actions entities sourcesApplication device Heater { attribute location as Location; Heat action Heat; } Heater action Heat { [location] on(); off(); } 29
  34. 34. Physical environment actions entities sourcesApplication 30
  35. 35. Physicalcontroller environment actions entities sources context Application 31
  36. 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. 37. Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 33
  38. 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. 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. 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. 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. 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. 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. 44. Developer Application Programming FrameworkDesigner Simulation Framework Integration Framework DiaSpec DiaGen description Edition of simulation scenarios Tester Simulated entities Real entities DiaSim 39
  45. 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. 46. parameterizes DiaSpec description configures DiaGenSimulation Framework uses Emulated entities Simulated people Physical layout Simulation scenario 41
  47. 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. 48. actions Simulated Physical Emulated Environment Entities sourcesApplicationEvolution of the physical properties:Defined with well-known Ordinary/Partial Differential Equations 43
  49. 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. 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. 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. 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. 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. 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. 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. 56. DiaSim Acumen updates variables in the continuous model Heat Heat HeaterRegulator Temperature Sensor temperature reads periodically the continuous model 50
  57. 57. DiaSim Acumen Heater is OFF Heat Heat HeaterRegulator Temperature Sensor temperature 51
  58. 58. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.1 52
  59. 59. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.1 52
  60. 60. DiaSim Acumen Heat Heat HeaterRegulator Temperature19.1 Sensor temperature 52
  61. 61. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 18.8 53
  62. 62. DiaSim Acumen Heat Heat HeaterRegulator Temperature Sensor temperature T = 18.8 53
  63. 63. DiaSim Acumen Heat Heat HeaterRegulator Temperature18.8 Sensor temperature 53
  64. 64. DiaSim Acumen Heat.on() Heat Heat HeaterRegulator Temperature Sensor temperature 53
  65. 65. DiaSim Acumen Hi = 1 Heat Heat HeaterRegulator Temperature Sensor temperature 53
  66. 66. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.2 54
  67. 67. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature Sensor temperature T = 19.2 54
  68. 68. DiaSim Acumen Heater is ON Heat Heat HeaterRegulator Temperature19.2 Sensor temperature 54
  69. 69. ion with diasimmulated environment stimuli actions Emulated Entitieses Application sources Approximated physical modelated Stimulus readsies Producers datans Logs of measurements effects 55
  70. 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. 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. 72. Emulated entities Simulated people Physical layout Physical properties Simulation scenario 57
  73. 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. 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. 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. 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. 77. Usability• Used as part of labs • In Bordeaux and Grenoble • Students with modest knowledge in Software Engineering 62
  78. 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. 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. 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. 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. 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. 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

×