SlideShare una empresa de Scribd logo
1 de 83
Developing and Testing
Pervasive Computing Applications:
   A Tool-Based Methodology

            Julien Bruneau

        Supervisor: Charles Consel
         Phoenix Research Group
            INRIA Bordeaux
In our everyday life:




                        2
In our everyday life:
• Growing number of
   networked entities




                        2
In our everyday life:
• Growing number of
   networked entities
• Growing importance
   of the digital world




     Digital world
                          2
In our everyday life:
• Growing number of
   networked entities
• Growing importance
   of the digital world

  Pervasive computing
  has become a reality




     Digital world
                          2
Actuators




                            Physical
                          environment



Application




               Sensors

                   3
Actuators




                                          Physical
                                        environment



Application



              !   May impact people safety

          ValidatingSensors
                     the application
           behavior is necessary !!
                             4
Actuators



                                                 Physical
                                               environment
 Application

                            Sensors

Validation of the application behavior
• Verification
   - Static analysis of the application code


                                5
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
Actuators



                                            Physical
                                          environment
 Application

                            Sensors

Validation of the application behavior
• Verification
   - Static analysis on the application
• Testing
   - At deployment time
   - Using simulation           6
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
Simulated
                  Environment
Application




              8
Easy introduction of new entities
                                   and simulated stimuli


                                     Simulated
                                    Environment



Application




              Area-specific simulator


                        9
Simulated
                                 Environment



Application



              Testing a wide range
                  of scenarios

                       10
Simulated
                   Environment




                       Real
Application        Environment




              11
Simulated
                              Environment




                                  Real
Application                   Environment




Transparent simulation

                         12
Simulated
                        Environment




                            Real
Application             Environment




                   Unitary testing of an entity
              13
Simulated
                            Environment




                                Real
 Application                Environment




Hybrid simulation

                         Incremental deployment
                    14
Requirements

• Area-specific simulator
• Testing a wide range of scenarios
• Transparent simulation
• Hybrid simulation

                     15
Existing Approaches
• Few existing approaches
 - Ubiwise, Tatus, Lancaster, PiCSE, UbiReal

• Limitations
 - Intrusive simulation
 - Area-insensitive approaches
                     16
Thesis

A design-driven development methodology
for a physically-accurate testing of pervasive
           computing applications




                     17
- Design-driven methodology

                                                            Developer



                                                           Application



                                                 Programming Framework



Designer                                 Simulation Framework     Integration Framework
            DiaSpec      DiaGen
           description




                           Tester
                                           Simulated entities            Real entities

                                                DiaSim
                                    18
- Design-driven methodology
- Transparent simulation
                                                              Developer



                                                             Application



                                                   Programming Framework



Designer                                   Simulation Framework     Integration Framework
            DiaSpec        DiaGen
           description




                             Tester
                                             Simulated entities            Real entities

                                                  DiaSim
                                      19
- Design-driven methodology
- Transparent simulation
                                                              Developer
- Hybrid simulation

                                                             Application



                                                   Programming Framework



Designer                                   Simulation Framework     Integration Framework
            DiaSpec        DiaGen
           description




                             Tester
                                             Simulated entities            Real entities

                                                  DiaSim
                                      20
- Design-driven methodology
- Transparent simulation
                                                              Developer
- Hybrid simulation
- Physically-accurate simulation
                                                             Application



                                                   Programming Framework



Designer                                   Simulation Framework     Integration Framework
             DiaSpec       DiaGen
            description




                             Tester
                                             Simulated entities            Real entities

                                                  DiaSim
                                      21
- Design-driven methodology
- Transparent simulation
                                                                   Developer
- Hybrid simulation
- Physically-accurate simulation
                                                                  Application
- Integration in the DiaSuite tool-suite


                                                        Programming Framework



Designer                                        Simulation Framework     Integration Framework
             DiaSpec        DiaGen
            description




                              Tester
                                                  Simulated entities            Real entities

                                                       DiaSim
                                           22
- 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 Framework



Designer                                        Simulation Framework     Integration Framework
             DiaSpec        DiaGen
            description




                              Tester
                                                  Simulated entities            Real entities

                                                       DiaSim
                                           23
Developer

      Design-driven methodology
                                                           Application



                                                 Programming Framework



Designer                                 Simulation Framework     Integration Framework
            DiaSpec      DiaGen
           description




                           Tester
                                           Simulated entities            Real entities

                                                DiaSim
                                    24
Actuators




                            Physical
                          environment



Application



               Sensors


                   25
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
Physical
                              environment
               actions

              entities
              sources
Application




                         27
Physical
                                                     environment
                     actions

                    entities
                    sources
Application




                          device MotionDetector {
                            attribute location as Location;
        Motion              source motion as Boolean;
       Detector           }
       [location]
                          structure Location {
        motion              name as String;
                            floor as String;
                          }




                               28
Physical
                                                       environment
                       actions

                      entities
                      sources
Application




                            device Heater {
                              attribute location as Location;
           Heat               action Heat;
                            }
         Heater
                            action Heat {
         [location]           on();
                              off();
                            }




                                 29
Physical
                              environment
               actions

              entities
              sources
Application




                         30
Physical
controller                     environment
                actions

               entities
               sources
 context


 Application


                          31
Heater
                 [location]                    entities
                   Heat                        (action)


                  Heat
                Regulator                      controller



                  Heat
                Regulation



                                     Room
                                   Occupancy    context

  Average
                Presence
Temperature




  temperature     motion            schedule
Temperature      Motion            Calendar
                                                entities
   Sensor       Detector                       (source)
  [location]    [location]
                              32
Developer



                                                           Application



                                                 Programming Framework



Designer                                 Simulation Framework     Integration Framework
            DiaSpec      DiaGen
           description




                           Tester
                                           Simulated entities            Real entities

                                                DiaSim
                                    33
Developer
    Generation of a programming
         abstraction layer
                                                           Application



                                                 Programming Framework



Designer                                 Simulation Framework     Integration Framework
            DiaSpec      DiaGen
           description




                           Tester
                                           Simulated entities            Real entities

                                                DiaSim
                                    33
Developer



   +       Transparent simulation                            Application



                                                   Programming Framework
                                                        Abstraction
                                                          Layer
Designer                                   Simulation Framework     Integration Framework
              DiaSpec      DiaGen
             description




                             Tester
                                             Simulated entities            Real entities
   +       Hybrid simulation
                                                  DiaSim
                                      34
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
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
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
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
Developer



                                                            Application



                                                  Programming Framework



Designer                                  Simulation Framework     Integration Framework
            DiaSpec       DiaGen
           description




  Edition of simulation
        scenarios
                            Tester
                                            Simulated entities            Real entities

                                                 DiaSim
                                     39
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
                                        40
parameterizes




      DiaSpec
     description




                                                   configures
      DiaGen




Simulation Framework   uses
                              Emulated entities      Simulated people   Physical layout

                                                  Simulation scenario

                                          41
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
actions
                                              Simulated
                                               Physical
                        Emulated
                                             Environment
                         Entities
                          sources
Application




Evolution of the physical properties:
Defined with well-known Ordinary/Partial Differential Equations



                               43
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
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
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
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
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
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
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
DiaSim                            Acumen

                               updates variables in the
                                  continuous model
                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature


                                reads periodically the
                                  continuous model

                          50
DiaSim                   Acumen


                                 Heater is OFF
                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature




                          51
DiaSim                   Acumen



                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature      T = 19.1




                          52
DiaSim                   Acumen



                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature
                    T = 19.1




                          52
DiaSim                   Acumen



                   Heat


  Heat            Heater
Regulator

                Temperature
19.1              Sensor

                temperature




                           52
DiaSim                   Acumen



                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature     T = 18.8




                          53
DiaSim                     Acumen



                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature
                      T = 18.8




                          53
DiaSim                   Acumen



                   Heat


  Heat            Heater
Regulator

                Temperature
18.8              Sensor

                temperature




                           53
DiaSim                       Acumen


               Heat.on()
                      Heat


  Heat               Heater
Regulator

                   Temperature
                     Sensor

                   temperature




                              53
DiaSim                     Acumen


                               Hi = 1
                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature




                          53
DiaSim                   Acumen


                                    Heater is ON
                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature      T = 19.2




                          54
DiaSim                        Acumen


                                      Heater is ON
                  Heat


  Heat           Heater
Regulator

               Temperature
                 Sensor

               temperature
                         T = 19.2




                           54
DiaSim                   Acumen


                                  Heater is ON
                   Heat


  Heat            Heater
Regulator

                Temperature
19.2              Sensor

                temperature




                           54
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
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
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
Emulated entities   Simulated people        Physical layout   Physical properties

                            Simulation scenario




                                       57
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
Developer
     Validation of our
   simulation approach                                     Application



                                                 Programming Framework



Designer                                 Simulation Framework     Integration Framework
            DiaSpec      DiaGen
           description




                           Tester
                                           Simulated entities            Real entities

                                                DiaSim
                                    59
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
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
Usability

• Used as part of labs
  • In Bordeaux and Grenoble
  • Students with modest knowledge in
    Software Engineering



                     62
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
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
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
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
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
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

Más contenido relacionado

Destacado

MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENA
MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENAMATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENA
MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENAAline Vasconcelos
 
Evolving trends of public relations
Evolving trends of public relationsEvolving trends of public relations
Evolving trends of public relationsNikita Mahipal
 
Propaganda de smart machine 02 02-2016
Propaganda de smart machine 02 02-2016Propaganda de smart machine 02 02-2016
Propaganda de smart machine 02 02-2016Aline Vasconcelos
 
Trabajo en equipo, liderazgo a coaching
Trabajo en equipo, liderazgo a coachingTrabajo en equipo, liderazgo a coaching
Trabajo en equipo, liderazgo a coachingRosario Ojeda
 
Diego Andrés Guartatanga Suárez
Diego Andrés Guartatanga SuárezDiego Andrés Guartatanga Suárez
Diego Andrés Guartatanga SuárezDiegoguartatanga
 
Diego andrés guartatanga suárez
Diego andrés guartatanga suárezDiego andrés guartatanga suárez
Diego andrés guartatanga suárezDiegoguartatanga
 

Destacado (9)

MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENA
MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENAMATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENA
MATRÍCULAS ABERTAS NA SMART MACHINE EM CONSELHEIRO PENA
 
Evolving trends of public relations
Evolving trends of public relationsEvolving trends of public relations
Evolving trends of public relations
 
Propaganda de smart machine 02 02-2016
Propaganda de smart machine 02 02-2016Propaganda de smart machine 02 02-2016
Propaganda de smart machine 02 02-2016
 
Trabajo en equipo, liderazgo a coaching
Trabajo en equipo, liderazgo a coachingTrabajo en equipo, liderazgo a coaching
Trabajo en equipo, liderazgo a coaching
 
Como josé
Como joséComo josé
Como josé
 
Como zaqueu
Como zaqueuComo zaqueu
Como zaqueu
 
biblias abertas
biblias abertasbiblias abertas
biblias abertas
 
Diego Andrés Guartatanga Suárez
Diego Andrés Guartatanga SuárezDiego Andrés Guartatanga Suárez
Diego Andrés Guartatanga Suárez
 
Diego andrés guartatanga suárez
Diego andrés guartatanga suárezDiego andrés guartatanga suárez
Diego andrés guartatanga suárez
 

Similar a Thesis defense

Michael.aguilar
Michael.aguilarMichael.aguilar
Michael.aguilarNASAPMC
 
Architecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsArchitecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsDamien Cassou
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009guest19a937
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution DetailsPropix Technologies
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testingVikrant Chauhan
 
A platform for the decision support studio
A platform for the decision support studioA platform for the decision support studio
A platform for the decision support studiojhjsmits
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648Eing Ong
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 
Fortify On Demand and ShadowLabs
Fortify On Demand and ShadowLabsFortify On Demand and ShadowLabs
Fortify On Demand and ShadowLabsjasonhaddix
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btechIIITA
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John bRoopa Nadkarni
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12Sanjeev Sharma
 
Leveraging process models across the asset lifecycle t fiske arc
Leveraging process models across the asset lifecycle t fiske arcLeveraging process models across the asset lifecycle t fiske arc
Leveraging process models across the asset lifecycle t fiske arcARC Advisory Group
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...MOCA Platform
 
Detection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature ConfinementDetection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature ConfinementAndrzej Olszak
 
Cdesc dlp 105_ef_ilt
Cdesc dlp 105_ef_iltCdesc dlp 105_ef_ilt
Cdesc dlp 105_ef_iltvncsrabelo
 

Similar a Thesis defense (20)

Michael.aguilar
Michael.aguilarMichael.aguilar
Michael.aguilar
 
Architecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control ApplicationsArchitecture-Driven Programming for Sense/Compute/Control Applications
Architecture-Driven Programming for Sense/Compute/Control Applications
 
Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009Christ Vriens@Agile Community Event - March 19th, 2009
Christ Vriens@Agile Community Event - March 19th, 2009
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
Improve Android System Component Performance
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
 
A platform for the decision support studio
A platform for the decision support studioA platform for the decision support studio
A platform for the decision support studio
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
Lesson2 software process_contd2
Lesson2 software process_contd2Lesson2 software process_contd2
Lesson2 software process_contd2
 
Fortify On Demand and ShadowLabs
Fortify On Demand and ShadowLabsFortify On Demand and ShadowLabs
Fortify On Demand and ShadowLabs
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
 
Application security vision - John b
Application security vision - John bApplication security vision - John b
Application security vision - John b
 
Dev ops for cross platform mobile modeveast 12
Dev ops for cross platform mobile   modeveast 12Dev ops for cross platform mobile   modeveast 12
Dev ops for cross platform mobile modeveast 12
 
Parking Lot App
Parking Lot AppParking Lot App
Parking Lot App
 
Leveraging process models across the asset lifecycle t fiske arc
Leveraging process models across the asset lifecycle t fiske arcLeveraging process models across the asset lifecycle t fiske arc
Leveraging process models across the asset lifecycle t fiske arc
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...
 
Detection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature ConfinementDetection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature Confinement
 
Cdesc dlp 105_ef_ilt
Cdesc dlp 105_ef_iltCdesc dlp 105_ef_ilt
Cdesc dlp 105_ef_ilt
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Thesis defense

  • 1. Developing and Testing Pervasive 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 environment Application Sensors 3
  • 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
  • 12. Simulated Environment Application 8
  • 13. Easy introduction of new entities and simulated stimuli Simulated Environment Application Area-specific simulator 9
  • 14. Simulated Environment Application Testing a wide range of scenarios 10
  • 15. Simulated Environment Real Application Environment 11
  • 16. Simulated Environment Real Application Environment Transparent simulation 12
  • 17. Simulated Environment Real Application Environment Unitary testing of an entity 13
  • 18. Simulated Environment Real Application Environment Hybrid 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. Thesis A design-driven development methodology for a physically-accurate testing of pervasive computing applications 17
  • 22. - Design-driven methodology Developer Application Programming Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 18
  • 23. - Design-driven methodology - Transparent simulation Developer Application Programming Framework Designer 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 Framework Designer 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 Framework Designer 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 Framework Designer 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 Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 23
  • 28. Developer Design-driven methodology Application Programming Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 24
  • 29. Actuators Physical environment Application Sensors 25
  • 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
  • 31. Physical environment actions entities sources Application 27
  • 32. Physical environment actions entities sources Application 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 sources Application device Heater { attribute location as Location; Heat action Heat; } Heater action Heat { [location] on(); off(); } 29
  • 34. Physical environment actions entities sources Application 30
  • 35. Physical controller environment actions entities sources context Application 31
  • 36. Heater [location] entities Heat (action) Heat Regulator controller Heat Regulation Room Occupancy context Average Presence Temperature temperature motion schedule Temperature Motion Calendar entities Sensor Detector (source) [location] [location] 32
  • 37. Developer Application Programming Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 33
  • 38. Developer Generation of a programming abstraction layer Application Programming Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 33
  • 39. Developer + Transparent simulation Application Programming Framework Abstraction Layer Designer 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 Framework Designer 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 scenario Emulated entities Physical layout - Set of instances - Locations - Location - Graphical representation Simulated people Physical properties - Properties - Evolution - Behavior 40
  • 46. parameterizes DiaSpec description configures DiaGen Simulation Framework uses Emulated entities Simulated people Physical layout Simulation scenario 41
  • 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
  • 72. Emulated entities Simulated people Physical layout Physical properties Simulation scenario 57
  • 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
  • 74. Developer Validation of our simulation approach Application Programming Framework Designer Simulation Framework Integration Framework DiaSpec DiaGen description Tester Simulated entities Real entities DiaSim 59
  • 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

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. Orchestration of networked entities\n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. Need to specify the impact of sensors and actuators on the physical environment\n
  47. Need to specify the impact of sensors and actuators on the physical environment\n
  48. Simulation impacted the DiaSpec design as we needed to add information about sensors and actuators\n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. Physical layout = graphical representations, locations/rooms and walls\n
  66. Physical layout = graphical representations, locations/rooms and walls\n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n