SlideShare a Scribd company logo
1 of 23
Download to read offline
Università degli Studi dell’Aquila




Henry Muccini
University of L’Aquila, Italy
(www.henrymuccini.com, @muccinihenry)
Dagstuhl Seminar 13022 "Engineering Resilient Systems: Models, Methods and Tools“,
January 2013
The “context” of this presentation…
Investigation of the peculiarities of mobile applications
and implications on testing [AST 2012]
The mobile market is growing…




                                               http://code.google.com/p/android/issues/list

 Henry Muccini, Antonio Di Francesco and Patrizio Esposito, Software Testing of Mobile Applications:
Challenges and Future Research Directions, in: 7th IEEE/ACM International Workshop on Automation of
                   Software Test (AST 2012) @ ICSE 2012, IEEE Digital Library, 2012
3
     and more…
    Architecting and Analysing Wireless Sensor Networks




 Krishna Doddapaneni, Enver Ever, Ivano Malavolta, Leonardo Mostarda and Henry Muccini, A Model-
driven Engineering Framework to Support an Architecture-Driven Development and Analysis of WSNs,
        in: Third Int. Workshop on SE for Sensor Network Applications (SESENA'12) @ ICSE 2012
4
    Peculiarities and Implications on testing
          Type of Mobile
           Application                                              Peculiarity                    Implications on Testing
                                                        Mobile Connectivity                          512 MB of RAM,
                                                                                               Reliability, performance, security,
                                                                                        64 GB of disk space, testing Ghz dual core
                                                                                               and functional and 1 through
                                                                                                             CPU
                                                                                               different networks
                                          Apps4Mobile
                                                        Limited Resources                      Performance and functional
                                                                                               monitoring
                                                        Autonomy                               Monitoring for energy consumption
                             MobileApps




                                                        User Interface                         GUI Testing
iPhone 4S:                                              Context Awareness                      Context-dependent functional and
200 hours autonomy in stand-by …drops to                                                       extra functional testing
       Mobile Applications




9 hours when Wi-Fi is enabled … drops to
                        Adaptation                                                             Adaptation correctness
6 hours when a 3G connection is active
                                                        New programming languages              1,800 different hw/sw
                                                                                               New white box and black-box
                                                                                               configurations analysis
                                                                                               testing, byte-code
New OS releases to increase O.S.s
                        New autonomy                                                           Compatibility and O.S. testing
                                                        Diversity of phones and O.S.s          Diversity coverage
                                                        Touch Screens                          Usability, and response to screen
                                                                                               touch
5
    Peculiarities and Implications on testing
         Type of Mobile
          Application                                               Peculiarity                Implications on Testing
                                                       Mobile Connectivity                 Reliability, performance, security,
                                                                                           and functional testing through
                                                                                           different networks
                                         Apps4Mobile                              Is the app going to work in any
                                                       Limited Resources          environment and under functional
                                                                                            Performance and any unpredictable
                                                                                            monitoring
                                                                                  scenarios?
                                                       Autonomy                            Monitoring for energy consumption
                            MobileApps




                                                       User Interface                      GUI Testing
                                                       Context Awareness                   Context-dependent functional and
                                                                                           extra functional testing
      Mobile Applications




                                                       Adaptation                          Adaptation correctness
                                                       New programming languages           New white box and black-box
                                                                                           testing, byte-code analysis
                                                       New O.S.s                           Compatibility and O.S. testing
                                                       Diversity of phones and O.S.s       Diversity coverage
                                                       Touch Screens                       Usability, and response to screen
                                                                                           touch
6




    CONTEXT-AWARE MOBILE APPLICATIONS
7
    Context-Aware Computing
    In context-aware computing, an application is aware of the
    computing environment in which it runs, and adapts/reacts
    according to its computing, user, physical, or time context
    [Schilit1994,Chen2000].

    Schilit (1994)
         •Computing context: e.g., the device connectivity, the
         available bandwith, the outside resources the device may
         interact with.
         •User context: the user’s feeling, his location, his prior
         actions.
         •Physical context: includes the environment luminosity,
         noice, temperature, pressure, etc.
8
    The context in this room
    Computing context:
       Connectivity in this building
       Connectivity of our devices

    User context:
       What happened this morning
       Mood
       Degree of happiness/tiredeness/…
       Deadlines

    Physical context:
       Luminosity
       Noice
       …
9
    Context-aware (mobile) applications
         FLYAQ                  Wii




    busOnAir
11
     Contextual Bugs: Interpretation-related

     Device
     movements
        input              output




                          Values must be “interpreted”
                          and associated to “contextual info”
12
     Our experimental framework
           Monitoring




         Capture                  Replay




                         Black-box / design-time
            Upgrade      White-box/ run-time
13
     Our experience
14
     Contextual Bugs: bad assumptions!




                            Bad assumption!!!
          7:00 am
15




     HOW THIS RELATES TO RESILIENCE?
16
     Computing/User/Physical context




                    Connectivity        To access
                                       contextual
                     (3G, WiFi,    resources (printers,
                        BT)              devices)


                                       To get
                      Sensors      contextual data
17




                 Connectivity
                  Resources
                    from
     Data from
                                Data from
      Sensors
                                 Sensors


                 Connectivity

                  Resources
                    from
18
                                        “The persistence of dependability
                                        when facing changes”




 Avizienis, Laprie, Randell, Landwehr
             [IEEE TDSC04]




                                                 Laprie [DSN04]
19
     [Strigini_Book]

      ability to recover to normality after a disturbance

     “ “resilience engineering” is about flexibility of people
     and organisations, not just in reacting to individual
     incidents and anomalous situations, but also in
     learning from them and thus developing an ability to
     react to the set of problems concretely occurring in
     operation, even if not anticipated by designers of the
     machinery or of the organisation”
20 Engineering Resilient Context-aware systems = keeping the c-a
         system persistently dependable when facing changes


                                     Resources:
                                      signal strenght
                                      type of network
                                      devices around me
                                     Data:
                                      luminosity
    mobility                          noice
    adaptivity by c-a                 feeling
    variability                        (since I move, or others move)

Strategies (for making c-a systems
     resilient) builds on these
22
     Resilience requirements
      The system availability shall not be less than 95% even
     when “nodes” will move towards networks with different
     speeds:
        I have to design my system so to continuously monitor the WiFi
        networks around me and select those that overall guarantee 95%.
        In case of no open network, I check with my 3G connectivity
      The system must guarantee that data xxx remains
     confidential even when operating through open networks;
      The system reliability/performance shall not go lower
     than yy even when zz nodes are down
23
     GM WOO
24
     Google Car
25
                 Context-aware systems are subject to both functional,
                 environmental, and technological changes and
                 disturbancies.


                 Context-aware systems input data on which we may
                 have made wrong assumptions


                 All traditional dependabiliy issues apply, plus new
                 related to the contextual (variable, unforeseenable,
                 uncertain) nature of resources, assumptions, and data

     “context-awareness could be an important mechanism for
     achieving resilience, while on the other hand that systems
     that are intensely context-aware are intrinsically more
     vulnerable to failure due to their high sensitivity to changes
     in their environment.” [David Rosenblum]

More Related Content

Viewers also liked

Adaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homesAdaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homes
ambitlick
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware Adaptation
Vivian Motti
 
5 context aware services
5 context aware services5 context aware services
5 context aware services
guest3cf4991
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
Preethi AKNR
 

Viewers also liked (20)

[2C3]Developing context-aware applications
[2C3]Developing context-aware applications[2C3]Developing context-aware applications
[2C3]Developing context-aware applications
 
[SOCRS2013]Differential Context Modeling in Collaborative Filtering
[SOCRS2013]Differential Context Modeling in Collaborative Filtering[SOCRS2013]Differential Context Modeling in Collaborative Filtering
[SOCRS2013]Differential Context Modeling in Collaborative Filtering
 
Thesis Presentation
Thesis PresentationThesis Presentation
Thesis Presentation
 
Adaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homesAdaptive middleware of context aware application in smart homes
Adaptive middleware of context aware application in smart homes
 
Context as a Service
Context as a ServiceContext as a Service
Context as a Service
 
A short & brief introduction on context and context aware computing
A short & brief introduction on context and context aware computingA short & brief introduction on context and context aware computing
A short & brief introduction on context and context aware computing
 
Context-Aware Recommender Systems for Mobile Devices
Context-Aware Recommender Systems for Mobile DevicesContext-Aware Recommender Systems for Mobile Devices
Context-Aware Recommender Systems for Mobile Devices
 
Context-aware Mobile Computing - a Literature Review
Context-aware Mobile Computing - a Literature ReviewContext-aware Mobile Computing - a Literature Review
Context-aware Mobile Computing - a Literature Review
 
UX for emerging technologies & context-aware computing
UX for emerging technologies & context-aware computingUX for emerging technologies & context-aware computing
UX for emerging technologies & context-aware computing
 
Design of Capability Delivery Adjustments @ASDENCA2016
Design of Capability Delivery Adjustments @ASDENCA2016Design of Capability Delivery Adjustments @ASDENCA2016
Design of Capability Delivery Adjustments @ASDENCA2016
 
Context Awareness in Mobile Computing
Context Awareness in Mobile ComputingContext Awareness in Mobile Computing
Context Awareness in Mobile Computing
 
Context-Aware Adaptation
Context-Aware AdaptationContext-Aware Adaptation
Context-Aware Adaptation
 
[UMAP2013]Tutorial on Context-Aware User Modeling for Recommendation by Bamsh...
[UMAP2013]Tutorial on Context-Aware User Modeling for Recommendation by Bamsh...[UMAP2013]Tutorial on Context-Aware User Modeling for Recommendation by Bamsh...
[UMAP2013]Tutorial on Context-Aware User Modeling for Recommendation by Bamsh...
 
Creating Context-Aware Applications
Creating Context-Aware ApplicationsCreating Context-Aware Applications
Creating Context-Aware Applications
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8
 
5 context aware services
5 context aware services5 context aware services
5 context aware services
 
Context-Aware Computing
Context-Aware ComputingContext-Aware Computing
Context-Aware Computing
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
 
Webcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware AppsWebcast: API-Centric Architecture for Building Context-Aware Apps
Webcast: API-Centric Architecture for Building Context-Aware Apps
 
Pervasive computing
Pervasive computingPervasive computing
Pervasive computing
 

Similar to Context awareness and Resilience Engineering

Mobile app optimization for Battery life, Usability and Data usage
Mobile app optimization for Battery life, Usability and Data usageMobile app optimization for Battery life, Usability and Data usage
Mobile app optimization for Battery life, Usability and Data usage
Moe Tanabian
 

Similar to Context awareness and Resilience Engineering (20)

Software Testing of Mobile Applications: Challenges and Future Research Direc...
Software Testing of Mobile Applications: Challenges and Future Research Direc...Software Testing of Mobile Applications: Challenges and Future Research Direc...
Software Testing of Mobile Applications: Challenges and Future Research Direc...
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testing
 
Apposite - Netropy WAN emualation
Apposite - Netropy WAN emualationApposite - Netropy WAN emualation
Apposite - Netropy WAN emualation
 
Mobile app optimization for Battery life, Usability and Data usage
Mobile app optimization for Battery life, Usability and Data usageMobile app optimization for Battery life, Usability and Data usage
Mobile app optimization for Battery life, Usability and Data usage
 
Mobile apps testing process
Mobile apps testing processMobile apps testing process
Mobile apps testing process
 
Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant Mobile porting and testing - Xoriant
Mobile porting and testing - Xoriant
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Regression Testing
Regression TestingRegression Testing
Regression Testing
 
Mobile Performance Testing - Best Practices
Mobile Performance Testing - Best PracticesMobile Performance Testing - Best Practices
Mobile Performance Testing - Best Practices
 
Timelytrendsin appdelivery
Timelytrendsin appdeliveryTimelytrendsin appdelivery
Timelytrendsin appdelivery
 
Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software
 
Collaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile SoftwareCollaborative lifecycle development for Mobile Software
Collaborative lifecycle development for Mobile Software
 
Optimizing mobile apps and websites
Optimizing mobile apps and websitesOptimizing mobile apps and websites
Optimizing mobile apps and websites
 
DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013DevOps for Mobile - DevOpsDays, NY, 2013
DevOps for Mobile - DevOpsDays, NY, 2013
 
Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0Ibm mobile strategy may2012 mark.cesario v1.0
Ibm mobile strategy may2012 mark.cesario v1.0
 
Mobile Application Security
Mobile Application SecurityMobile Application Security
Mobile Application Security
 
Mobile Showcase Moblin2
Mobile Showcase Moblin2Mobile Showcase Moblin2
Mobile Showcase Moblin2
 
Junos Space SDK
Junos Space SDKJunos Space SDK
Junos Space SDK
 
Mobile Testing for a Cloud Based Application Provider
Mobile Testing for a Cloud Based Application ProviderMobile Testing for a Cloud Based Application Provider
Mobile Testing for a Cloud Based Application Provider
 
E031202024029
E031202024029E031202024029
E031202024029
 

More from Henry Muccini

More from Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Recently uploaded (20)

How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 

Context awareness and Resilience Engineering

  • 1. Università degli Studi dell’Aquila Henry Muccini University of L’Aquila, Italy (www.henrymuccini.com, @muccinihenry) Dagstuhl Seminar 13022 "Engineering Resilient Systems: Models, Methods and Tools“, January 2013
  • 2. The “context” of this presentation… Investigation of the peculiarities of mobile applications and implications on testing [AST 2012] The mobile market is growing… http://code.google.com/p/android/issues/list Henry Muccini, Antonio Di Francesco and Patrizio Esposito, Software Testing of Mobile Applications: Challenges and Future Research Directions, in: 7th IEEE/ACM International Workshop on Automation of Software Test (AST 2012) @ ICSE 2012, IEEE Digital Library, 2012
  • 3. 3 and more… Architecting and Analysing Wireless Sensor Networks Krishna Doddapaneni, Enver Ever, Ivano Malavolta, Leonardo Mostarda and Henry Muccini, A Model- driven Engineering Framework to Support an Architecture-Driven Development and Analysis of WSNs, in: Third Int. Workshop on SE for Sensor Network Applications (SESENA'12) @ ICSE 2012
  • 4. 4 Peculiarities and Implications on testing Type of Mobile Application Peculiarity Implications on Testing Mobile Connectivity 512 MB of RAM, Reliability, performance, security, 64 GB of disk space, testing Ghz dual core and functional and 1 through CPU different networks Apps4Mobile Limited Resources Performance and functional monitoring Autonomy Monitoring for energy consumption MobileApps User Interface GUI Testing iPhone 4S: Context Awareness Context-dependent functional and 200 hours autonomy in stand-by …drops to extra functional testing Mobile Applications 9 hours when Wi-Fi is enabled … drops to Adaptation Adaptation correctness 6 hours when a 3G connection is active New programming languages 1,800 different hw/sw New white box and black-box configurations analysis testing, byte-code New OS releases to increase O.S.s New autonomy Compatibility and O.S. testing Diversity of phones and O.S.s Diversity coverage Touch Screens Usability, and response to screen touch
  • 5. 5 Peculiarities and Implications on testing Type of Mobile Application Peculiarity Implications on Testing Mobile Connectivity Reliability, performance, security, and functional testing through different networks Apps4Mobile Is the app going to work in any Limited Resources environment and under functional Performance and any unpredictable monitoring scenarios? Autonomy Monitoring for energy consumption MobileApps User Interface GUI Testing Context Awareness Context-dependent functional and extra functional testing Mobile Applications Adaptation Adaptation correctness New programming languages New white box and black-box testing, byte-code analysis New O.S.s Compatibility and O.S. testing Diversity of phones and O.S.s Diversity coverage Touch Screens Usability, and response to screen touch
  • 6. 6 CONTEXT-AWARE MOBILE APPLICATIONS
  • 7. 7 Context-Aware Computing In context-aware computing, an application is aware of the computing environment in which it runs, and adapts/reacts according to its computing, user, physical, or time context [Schilit1994,Chen2000]. Schilit (1994) •Computing context: e.g., the device connectivity, the available bandwith, the outside resources the device may interact with. •User context: the user’s feeling, his location, his prior actions. •Physical context: includes the environment luminosity, noice, temperature, pressure, etc.
  • 8. 8 The context in this room Computing context: Connectivity in this building Connectivity of our devices User context: What happened this morning Mood Degree of happiness/tiredeness/… Deadlines Physical context: Luminosity Noice …
  • 9. 9 Context-aware (mobile) applications FLYAQ Wii busOnAir
  • 10. 11 Contextual Bugs: Interpretation-related Device movements input output Values must be “interpreted” and associated to “contextual info”
  • 11. 12 Our experimental framework Monitoring Capture Replay Black-box / design-time Upgrade White-box/ run-time
  • 12. 13 Our experience
  • 13. 14 Contextual Bugs: bad assumptions! Bad assumption!!! 7:00 am
  • 14. 15 HOW THIS RELATES TO RESILIENCE?
  • 15. 16 Computing/User/Physical context Connectivity To access contextual (3G, WiFi, resources (printers, BT) devices) To get Sensors contextual data
  • 16. 17 Connectivity Resources from Data from Data from Sensors Sensors Connectivity Resources from
  • 17. 18 “The persistence of dependability when facing changes” Avizienis, Laprie, Randell, Landwehr [IEEE TDSC04] Laprie [DSN04]
  • 18. 19 [Strigini_Book] ability to recover to normality after a disturbance “ “resilience engineering” is about flexibility of people and organisations, not just in reacting to individual incidents and anomalous situations, but also in learning from them and thus developing an ability to react to the set of problems concretely occurring in operation, even if not anticipated by designers of the machinery or of the organisation”
  • 19. 20 Engineering Resilient Context-aware systems = keeping the c-a system persistently dependable when facing changes Resources: signal strenght type of network devices around me Data: luminosity mobility noice adaptivity by c-a feeling variability (since I move, or others move) Strategies (for making c-a systems resilient) builds on these
  • 20. 22 Resilience requirements The system availability shall not be less than 95% even when “nodes” will move towards networks with different speeds: I have to design my system so to continuously monitor the WiFi networks around me and select those that overall guarantee 95%. In case of no open network, I check with my 3G connectivity The system must guarantee that data xxx remains confidential even when operating through open networks; The system reliability/performance shall not go lower than yy even when zz nodes are down
  • 21. 23 GM WOO
  • 22. 24 Google Car
  • 23. 25 Context-aware systems are subject to both functional, environmental, and technological changes and disturbancies. Context-aware systems input data on which we may have made wrong assumptions All traditional dependabiliy issues apply, plus new related to the contextual (variable, unforeseenable, uncertain) nature of resources, assumptions, and data “context-awareness could be an important mechanism for achieving resilience, while on the other hand that systems that are intensely context-aware are intrinsically more vulnerable to failure due to their high sensitivity to changes in their environment.” [David Rosenblum]