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.
1. Developing and Testing
Pervasive Computing Applications:
A Tool-Based Methodology
Julien Bruneau
Supervisor: Charles Consel
Phoenix Research Group
INRIA Bordeaux
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
7. Actuators
Physical
environment
Application
! May impact people safety
ValidatingSensors
the application
behavior is necessary !!
4
8. Actuators
Physical
environment
Application
Sensors
Validation of the application behavior
• Verification
- Static analysis of the application code
5
9. Actuators
Physical
environment
Application
Sensors
Validation of the application behavior
• Verification Do not take into
account the
- Static analysis of the application code environment
5
10. Actuators
Physical
environment
Application
Sensors
Validation of the application behavior
• Verification
- Static analysis on the application
• Testing
- At deployment time
- Using simulation 6
11. Actuators
Physical
environment
Application
Sensors
Testing at deployment time: Simulation:
+ Accurate - May be inaccurate
- Time consuming + Fast
- Expensive + Inexpensive
- Not always possible 7
+ Simulation of any scenarios
30. Emulated Abstraction of the actions
Actuators provided by the actuators
Simulated
Physical
Environment
Application
Emulated
Sensors
Abstraction of the
information sensed
26 by the sensors
47. Emulated entities Simulated people Physical layout Physical properties
Simulation scenario
Emulated entities Physical layout
- Set of instances - Locations
- Location - Graphical representation
Simulated people Physical properties
- Properties - Evolution
- Behavior
42
48. actions
Simulated
Physical
Emulated
Environment
Entities
sources
Application
Evolution of the physical properties:
Defined with well-known Ordinary/Partial Differential Equations
43
49. Simulated environment
stimuli actions
Emulated
Entities
rces Application sources Approximated
physical model
lated Stimulus reads
ties Producers data
ons
Integration of a continuous model into our simulation model
Logs of
measurements
effects
+ Physically-accurate simulation
44
50. Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
Continuous model of the temperature in a building
The 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 only
additional 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, a
were neglected for simplicity but will be included at a l
46
52. pants of room i is denoted Occupants(i). We only
additional 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, a
were neglected for simplicity but will be included at a l
46
53. pants of room i is denoted Occupants(i). We only
additional 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, a
were neglected for simplicity but will be included at a l
47
54. pants of room i is denoted Occupants(i). We only
additional 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, a
were neglected for simplicity but will be included at a l
48
55. Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
Simulation 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 Heater
Regulator
Temperature
Sensor
temperature
reads periodically the
continuous model
50
57. DiaSim Acumen
Heater is OFF
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
51
58. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature T = 19.1
52
59. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
T = 19.1
52
60. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
19.1 Sensor
temperature
52
61. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature T = 18.8
53
62. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
T = 18.8
53
63. DiaSim Acumen
Heat
Heat Heater
Regulator
Temperature
18.8 Sensor
temperature
53
64. DiaSim Acumen
Heat.on()
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
53
65. DiaSim Acumen
Hi = 1
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
53
66. DiaSim Acumen
Heater is ON
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature T = 19.2
54
67. DiaSim Acumen
Heater is ON
Heat
Heat Heater
Regulator
Temperature
Sensor
temperature
T = 19.2
54
68. DiaSim Acumen
Heater is ON
Heat
Heat Heater
Regulator
Temperature
19.2 Sensor
temperature
54
69. ion with diasim
mulated environment
stimuli actions
Emulated
Entities
es Application sources Approximated
physical model
ated Stimulus reads
ies Producers data
ns
Logs of
measurements
effects
55
70. ion with diasim
mulated environment
stimuli actions
Emulated
Entities
es Application sources Approximated
physical model
ated Stimulus reads
ies Producers data
ns
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
sources
Application
Other means to simulate accurately the physical environment can be
achieved using the simulation programming framework
56
73. Emulated entities Simulated people Physical layout Physical properties
Simulation scenario
Integration in the
tool suite
• 2D graphical renderer
based on Siafu
• Rendering of the
physical properties
• Time-control
- Play
- Pause
- Slow down
- Speed up
58
75. Validation
Simulation 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. Validation
Simulation 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. Usability
Used 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. Usability
Used as a testing platform in our research group
Pantagruel
“A Visual, Open-Ended Approach to Prototyping Ubiquitous
Computing 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. Simulation
DiaSim: A Simulator for Pervasive Computing Applications
Software: Practice and Experience, 2012
Julien Bruneau and Charles Consel
DiaSim: A Parameterized Simulator for Pervasive Computing Applications
Mobiquitous, 2009
Julien Bruneau, Wilfried Jouve, and Charles Consel
Virtual Testing for Smart Buildings
International Conference on Intelligent Environments, 2012
Julien Bruneau, Charles Consel, Marcia O’Malley, Walid Taha, and Wail Masry Hannourah
Tool-based development methodology
Towards a Tool-based Development Methodology for Pervasive Computing Applications
IEEE Transactions on Software Engineering, 2011
Damien Cassou, Julien Bruneau, Charles Consel, and Emilie Balland
DiaSuite: A Tool Suite to Develop Sense/Compute/Control Applications
Science of Computer Programming, 2012
Benjamin Bertran, Julien Bruneau, Damien Cassou, Nicolas Loriant, Charles Consel, and Emilie Balland
Demonstrations and Posters
PerCom 2009 (demo), ICPS 2009 (demo), PerCom 2010 (demo),
Mobiquitous 2010 (poster), SPLASH 2010 (poster)
68
Notas del editor
\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