socially-driven software adaptation

Download Socially-Driven Software Adaptation

Post on 22-Nov-2014

76 views

Category:

Software

1 download

Embed Size (px)

DESCRIPTION

Malik Almaliki, Funmilade Faniyi, Rami Bahsoon, Keith Phalp, Raian Ali. Requirements-driven Social Adaptation: Expert Survey. The 20th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ 2014), Essen, Germany. April 2014. Self-adaptation empowers software systems with the capability to meet stakeholders’ requirements in a dynamic environment. Such systems autonomously monitor changes and events which drive adaptation decisions at runtime. Social Adaptation is a recent kind of requirements-driven adaptation which enables users to give a runtime feedback on the success and quality of a system’s configurations in reaching their requirements. The system analyses users’ feedback, infers their collective judgement and then uses it to shape its adaptation decisions. However, there is still a lack of engineering mechanisms to guarantee a correct conduction of Social Adaptation. These slides report on a two-phase Expert Survey to identify core benefits, domain areas and challenges for Social Adaptation.We provide practitioners and researchers in adaptive systems engineering with insights on this emerging role of users, or the crowd.

TRANSCRIPT

  • 1. www.bournemouth.ac.uk Requirements-Driven Social Adaptation: Expert Survey Malik Al Maliki1 , Funmilade Faniyi2 , Rami Bahsoon2 , Keith Phalp1 and Raian Ali1 1 Bournemouth University, UK 2 University of Birmingham, UK REFSQ, Essen, Germany, 7-10 April, 2014malmaliki@bournemouth.ac.uk
  • 2. www.bournemouth.ac.uk 2 Outline Problem Aim of study Study Design Expert Survey (Phase 1) Expert Survey (Phase 2) Findings and Challenges for RE Conclusions
  • 3. www.bournemouth.ac.uk 3 Introduction malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 4. www.bournemouth.ac.uk 4 Self-Adaptive Software Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible. (Laddaga 1997) Why do we need adaptivity in software? Adapt to internal and external changes. Maximize operation in different conditions. Reduce the cost and time of manual adaptation. Keep the satisfaction of requirements. malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 5. www.bournemouth.ac.uk 5 Towards Social Adaptation Self-adaptation is highly dependent on feedback that is provided by the system itself. Feedback is on current state( e.g. faults and errors, available resources, etc) and its environment (attacks, availability of external services, etc) Automated feedback is the driver for triggering and taking autonomous adaptation actions. There are other adaptation drivers which are not observable by automated means. How to get that? malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 6. www.bournemouth.ac.uk 6 Social Adaptation the system autonomous ability to analyse users feedback and choose upon an alternative behaviour which is collectively shown to be the best for meeting requirements in a context (Ali et al. 2012) A social driver for adaptation: users judgments on the quality and validity of the different ways through which a system can reach their requirements Socially-driven adaptation Giving users a voice in tailoring adaptation actions Maximize users satisfactions. malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 7. www.bournemouth.ac.uk 7 Problem malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 8. www.bournemouth.ac.uk 8 Engineering Social Adaptation Lack of knowledge about the core benefits, domain areas and challenges of Social Adaptation. Lack of engineering practice for enabling Social Adaptation. For example: how to engineer the acquisition of users feedback malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 9. www.bournemouth.ac.uk 9 Aim of the Study malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 10. www.bournemouth.ac.uk 10 Aim of the study The aim is to poll experts opinion on: 1. The benefits and drawback of Social Adaptation, 2. Application areas for Social Adaptation 3. The role of users feedback in steering software adaptation, and 4. The engineering of software-based feedback acquisition malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 11. www.bournemouth.ac.uk 11 Study Design malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 12. www.bournemouth.ac.uk 12 Study design Two-phase Expert Survey. High response rate: 29 out of 35 experts in phase 1 and 26 out of 34 experts in phase 2. Experts from Requirement Engineering and Adaptive Systems research community (with additional focus on at least one different related domain such as HCI and Social Computing). Online questionnaires were used as a data collection method. Survey questions were deduced from two talks and a brainstorming sessions on Requirements-driven Social Adaptation (12 researchers) The survey script contained 25 questions discussing and investigating the objectives of our study. malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 13. www.bournemouth.ac.uk 13 Expert Survey (Phase 1) malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 14. www.bournemouth.ac.uk 14 Overview of the first-phase survey Introduction to the survey malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014 A snapshot of the first survey
  • 15. www.bournemouth.ac.uk 15 Findings: Expert Survey (phase1) malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 16. www.bournemouth.ac.uk 16 Findings: Expert Survey Social Adaptation Highly valuable for both developers and users. Benefits of Social Adaptation for developers Rich understanding and knowledge of the SA system and its users. Reducing the upfront effort in design phase. Benefits of Social Adaptation for software developers malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 17. www.bournemouth.ac.uk 17 Findings: Expert Survey Benefits of Social Adaptation for users User satisfaction Transparency Confidence in the software system Benefits of Social Adaptation for software clients malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 18. www.bournemouth.ac.uk 18 Findings: Expert Survey Application Domains for Social Adaptation Mobility intensive systems: mobile apps such as driving navigation systems. Large-scale systems: such as SaaS clouds. Real time management systems: for example, evacuation scenarios or congestion management at train stations or airports. Highly interactive systems such as social networking applications. Prototyping tools. malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 19. www.bournemouth.ac.uk 19 Findings: Expert Survey Areas outside the scope of Social Adaptation are: Critical systems such as Life-critical software used in hospitals. Security and Privacy sensitive applications. Non- or less-interactive systems under the control of centralised authorities. For example, space mission vehicles. malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 20. www.bournemouth.ac.uk 20 Findings: Expert Survey What would influence the quality of collected users feedback The quality of collected feedback can be affected by the following factors: Time of asking for feedback. User interface. Language used. Quality of users. Users mood. The percentage of experts who indicate the quality of collected feedback can be affected by the way it is collected malmaliki@bournemouth.ac.uk REFSQ, Essen, Germany, 7-10 April, 2014
  • 21. www.bournemouth.ac.uk 21 Findings: Expert Survey Adaptation drivers for feedback acquisition: User experience: e.g. usage frequency and level of expertise with software. Context of use including the time, location, the computing device being used, the type of users, the current task the user is doing, etc. Configurable adaptation : involves users providing the system with the way they wish to provide feedback and how often they wish to do so. malmalik

Recommended

View more >