Context awareness and Resilience Engineering


Published on

This presentation outlines the role played by context-awareness when engineering a resilient system.

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Context awareness and Resilience Engineering

  1. 1. Università degli Studi dell’AquilaHenry MucciniUniversity of L’Aquila, Italy(, @muccinihenry)Dagstuhl Seminar 13022 "Engineering Resilient Systems: Models, Methods and Tools“,January 2013
  2. 2. The “context” of this presentation…Investigation of the peculiarities of mobile applicationsand implications on testing [AST 2012]The mobile market is growing… 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. 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 (SESENA12) @ ICSE 2012
  4. 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 TestingiPhone 4S: Context Awareness Context-dependent functional and200 hours autonomy in stand-by …drops to extra functional testing Mobile Applications9 hours when Wi-Fi is enabled … drops to Adaptation Adaptation correctness6 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-codeNew 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. 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
  7. 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. 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. 9 Context-aware (mobile) applications FLYAQ Wii busOnAir
  10. 10. 11 Contextual Bugs: Interpretation-related Device movements input output Values must be “interpreted” and associated to “contextual info”
  11. 11. 12 Our experimental framework Monitoring Capture Replay Black-box / design-time Upgrade White-box/ run-time
  12. 12. 13 Our experience
  13. 13. 14 Contextual Bugs: bad assumptions! Bad assumption!!! 7:00 am
  15. 15. 16 Computing/User/Physical context Connectivity To access contextual (3G, WiFi, resources (printers, BT) devices) To get Sensors contextual data
  16. 16. 17 Connectivity Resources from Data from Data from Sensors Sensors Connectivity Resources from
  17. 17. 18 “The persistence of dependability when facing changes” Avizienis, Laprie, Randell, Landwehr [IEEE TDSC04] Laprie [DSN04]
  18. 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. 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. 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. 21. 23 GM WOO
  22. 22. 24 Google Car
  23. 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]
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.