Managing Trade-offs in Adaptable Software Architectures

Managing Trade-Offs in Adaptable Software Architectures explores the latest research on adapting large complex systems to changing requirements. To be able to adapt a system, engineers must evaluate different quality attributes, including trade-offs to balance functional and quality requirements to...

Full description

Bibliographic Details
Format: eBook
Language:English
Published: Elsevier Science 2016
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 12054nmm a2200349 u 4500
001 EB001932965
003 EBX01000000000000001095867
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 0128028556 
020 |a 9780128028919 
020 |a 0128028912 
050 4 |a QA76.754 
245 0 0 |a Managing Trade-offs in Adaptable Software Architectures 
260 |b Elsevier Science  |c 2016 
300 |a 1 online resource 
505 0 |a 3.3.3.1. RQ2.a: What Are the Options for These Uncertainty Dimensions? -- 3.3.4. RQ3: What Sources of Uncertainties Are Addressed by These Approaches? -- 3.3.5. RQ4: How Are the Current Approaches Classified According to the Proposed Uncertainty Classification Framework? -- 3.4. Discussion -- 3.4.1. Analysis of Derived Sources of Uncertainty Based on Uncertainty Dimensions -- 3.4.1.1. Environment uncertainty -- 3.4.1.2. Goals uncertainty -- 3.4.1.3. Adaptation functions uncertainty -- 3.4.1.4. Model uncertainty -- 3.4.2. Main Findings and Implications for Researchers -- 3.4.2.1. Model uncertainty is investigated in both design and runtime -- 3.4.2.2. Uncertainty is often explored at scenario level regardless of emerging time -- 3.4.2.3. Uncertainty starting to get acknowledged in both design and runtime -- 3.4.2.4. Current approaches mainly focus on tackling uncertainty due to variability through approaches in both design and... -- 3.4.2.5. Most commonly addressed source of uncertainty is dynamicity of environment -- 3.4.2.6. Future goal changes is the second most important uncertainty source -- 3.4.3. Limitations of the Review and Threats to Validity -- 3.4.3.1. Bias -- 3.4.3.2. Domain of study -- 3.5. Conclusion and Future Work -- Appendix -- References -- Chapter 4: An Architecture Viewpoint for Modeling Dynamically Configurable Software Systems -- 4.1. Introduction -- 4.2. Architecture Viewpoints -- 4.3. Case Study: DDSCM Systems -- 4.4. Metamodel for Runtime Adaptability Viewpoint -- 4.5. Runtime Adaptability Viewpoint -- 4.5.1. Method for Applying the Adaptability Viewpoint -- 4.6. Case Study-Adaptability View of the SCM Software Architecture -- 4.7. Related Work -- 4.7.1. Quality Concerns in Software Architecture Modeling -- 4.7.2. Architectural Approaches for Runtime Adaptability -- 4.8. Conclusion -- References 
505 0 |a 2.4.2.2. Nonfunctional requirements as self-adaptation goals -- 2.4.3. Self-Adaptation Fundamental Properties -- 2.4.4. Sensors and Effectors -- 2.4.5. Uncertainty and Dynamic Context -- 2.5. Reference Models for Architecting Self-Adaptive Software -- 2.5.1. The Feedback Loop Model of Control Theory -- 2.5.2. The MAPE-K Model -- 2.5.3. Kramer and Magees Self-Management Reference Model -- 2.5.4. The DYNAMICO Reference Model -- 2.5.4.1. The control objectives feedback loop (CO-FL) -- 2.5.4.2. The adaptation feedback loop (A-FL) -- 2.5.4.3. The context monitoring feedback loop (M-FL) -- 2.5.5. The Autonomic Computing Reference Architecture (ACRA) -- 2.6. Major Architectural Challenges in Self-Adaptation -- 2.7. Summary -- References -- Chapter 3: A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Re... -- 3.1. Introduction -- 3.1.1. Background -- 3.1.1.1. Self-adaptive systems -- 3.1.1.2. Architecture-based self-adaptation -- 3.1.1.3. Architecture-based self-adaptive systems with multiple quality requirements -- 3.1.1.4. Uncertainty in architecture-based self-adaptive systems -- 3.1.2. Related Work -- 3.2. Study Design -- 3.2.1. Research Questions -- 3.2.2. Search Strategy -- 3.2.2.1. Search scope and automatic search -- 3.2.2.2. Overview of search process -- 3.2.2.3. Refining the search results -- 3.2.2.3.1. Inclusion criteria -- 3.2.2.3.2. Exclusion criteria -- 3.2.3. Data Extraction -- 3.2.4. Data Items -- 3.2.5. Quality Assessment of Selected Papers -- 3.3. Results -- 3.3.1. Quality of Selected Papers -- 3.3.2. RQ1: What Are the Current Architecture-Based Approaches Tackling Uncertainty in Self-Adaptive Systems With Multipl... -- 3.3.3. RQ2: What Are the Different Uncertainty Dimensions Which Are Explored by These Approaches? 
505 0 |a Chapter 5: Adaptive Security for Software Systems -- 5.1. Introduction -- 5.2. Motivation -- 5.3. Security Engineering State-of-the-Art -- 5.3.1. Design-Time Security Engineering -- 5.3.1.1. Early-stage security engineering -- 5.3.1.2. Later-stage security engineering -- 5.3.2. Security Retrofitting -- 5.3.3. Adaptive Application Security -- 5.4. Runtime Security Adaptation -- 5.4.1. Supporting Manual Adaptation Using MDSE@R -- 5.4.2. Automated Adaptation Using Vulnerability Analysis and Mitigation -- 5.4.2.1. OCL-based vulnerability analyzer -- 5.4.2.2. Vulnerability mitigation -- 5.4.2.3. Vulnerability mitigation component -- 5.5. Usage Example -- 5.5.1. Task 1-Model Galactic System Description-One-Time Task -- 5.5.2. Task 2-Model Swinburne Security Needs -- 5.5.3. Task 3-System-Security Weaving -- 5.5.4. Task 4-Galactic Security Testing -- 5.5.5. Task 5-Galactic Continuous Vulnerability Analysis and Mitigation -- 5.6. Discussion -- 5.7. Chapter Summary -- Appendix -- Platform Implementation -- MDSE@R: Model-Driven Security Engineering at Runtime -- Vulnerability Analysis and Mitigation -- References -- Part II: Analyzing and Evaluating Trade-Offs in Self-Adaptive Software Architectures -- Chapter 6: Automated Inference Techniques to Assist With the Construction of Self-Adaptive Software -- 6.1. Introduction -- 6.2. Motivating Application -- 6.3. Shortcomings With the State-of-the-Art -- 6.3.1. Goal Management -- 6.3.2. Change Management -- 6.4. Overview of Inference-Based Techniques -- 6.5. Learning-Based Approach for Goal Management -- 6.5.1. Learning Cycle -- 6.5.2. Adaptation Cycle -- 6.5.3. Experimental Results -- 6.5.4. Noteworthy Research Challenges and Risks -- 6.5.4.1. Extraneous and confounding variables -- 6.5.4.2. Overhead of monitoring and learning -- 6.5.4.3. Adaptation in the presence of uncertainty 
505 0 |a Includes bibliographical references and index 
505 0 |a 6.5.4.4. Structure of learned model -- 6.6. Mining-Based Approach for Change Management -- 6.6.1. Mining for Runtime Dependencies -- 6.6.2. Using the Mined Dependencies -- 6.6.3. Experimental Results -- 6.6.4. Noteworthy Research Challenges and Risks -- 6.6.4.1. Long-living transactions and high workload -- 6.6.4.2. Overhead of mining and updating predictions -- 6.6.4.3. Transaction coverage and other forms of mining -- 6.7. Related Work -- 6.8. Conclusion -- References -- Chapter 7: Evaluating Trade-Offs of Human Involvement in Self-Adaptive Systems -- 7.1. Introduction -- 7.2. Motivating Scenario -- 7.2.1. System Objectives -- 7.2.2. Adaptation Mechanisms -- 7.3. Related Work -- 7.4. Analyzing Trade-Offs in Self-Adaptation -- 7.4.1. Adaptation Model -- 7.4.1.1. Tactic -- 7.4.1.2. Strategy -- 7.4.1.3. Utility profile -- 7.4.2. Adaptation Strategy Selection -- 7.5. Analyzing Trade-Offs of Involving Humans in Adaptation -- 7.5.1. Human Model -- 7.5.1.1. Opportunity -- 7.5.1.2. Willingness -- 7.5.1.3. Capability -- 7.5.2. Integrating Human and Adaptation Models -- 7.5.2.1. Tactics -- 7.5.2.2. Strategies -- 7.6. Reasoning About Human-in-the-Loop Adaptation -- 7.6.1. Model Checking Stochastic Multiplayer Games -- 7.6.2. Formal Model -- 7.6.2.1. Player definition -- 7.6.2.2. Environment -- 7.6.2.3. Human model -- 7.6.2.4. System -- 7.6.2.5. Adaptation logic -- 7.6.2.6. Utility profile -- 7.6.3. Analysis -- 7.6.3.1. Strategy utility -- 7.6.3.2. Strategy selection -- 7.7. Conclusion -- References -- Chapter 8: Principled Eliciting and Evaluation of Trade-Offs When Designing Self-Adaptive Systems Architectures -- 8.1. Introduction -- 8.2. Requirements for Automated Architecture Design and Analysis -- 8.3. The DuSE Approach for Automated Architecture Design and Analysis -- 8.3.1. The Rationale -- 8.3.2. The Approach -- 8.3.3. Tool Support 
505 0 |a Front Cover -- Managing Trade-offs in Adaptable Software Architectures -- Copyright -- Contents -- Contributors -- About the Editors -- Foreword by David Garlan -- Foreword by Nenad Medvidovic Behold the Golden Age of Software Architecture -- References -- Foreword by Paris Avgeriou -- Foreword by Rogério de Lemos -- Preface -- Introduction -- Part I: Concepts and Models for Self-Adaptive Software Architectures -- Part II: Analyzing and Evaluating Trade-offs in Self-Adaptive Software Architectures -- Part III: Managing Trade-offs in Self-Adaptive Software Architectures -- Part IV: Quality Assurance in Self-Adaptive Software Architectures -- Chapter 1: Managing Trade-Offs in Adaptable Software Architectures -- 1.1. Introduction -- 1.2. Background -- 1.3. Trade-Offs in Adaptive Systems Design -- 1.4. Runtime Trade-Offs in Self-Adaptive Systems -- 1.5. Challenges and the Road Ahead -- 1.5.1. How to Architect for Adaptability? -- 1.5.2. Adaptability in Modern Systems -- 1.5.2.1. Cloud computing -- 1.5.2.2. Service-based adaptation to QoS -- 1.5.2.3. Cyber-physical systems -- References -- Part I: Concepts and Models for Self-Adaptive Software Architectures -- Chapter 2: Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges -- 2.1. Introduction -- 2.2. Motivation: A Web-Mashup Application -- 2.3. Adaptation vs. Self-Adaptation -- 2.3.1. Basic Definitions -- 2.3.2. Architecting Software for Adaptation and Self-Adaptation -- 2.3.2.1. Architecting for adaptation -- 2.3.2.2. Architecting for self-adaptation -- 2.3.2.3. Implications of self-adaptation -- 2.4. Foundational Concepts for Architecting Self-Adaptive Software -- 2.4.1. Fundamental Dimensions of Self-Adaptive Software -- 2.4.2. Self-Adaptation Goals -- 2.4.2.1. Self-properties as self-adaptation goals 
653 |a Software architecture / http://id.loc.gov/authorities/subjects/sh2004001071 
653 |a Architecture logicielle 
653 |a Software architecture / fast / (OCoLC)fst01200416 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
776 |z 9780128028919 
856 4 0 |u https://learning.oreilly.com/library/view/~/9780128028919/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.1/2 
520 |a Managing Trade-Offs in Adaptable Software Architectures explores the latest research on adapting large complex systems to changing requirements. To be able to adapt a system, engineers must evaluate different quality attributes, including trade-offs to balance functional and quality requirements to maintain a well-functioning system throughout the lifetime of the system. This comprehensive resource brings together research focusing on how to manage trade-offs and architect adaptive systems in different business contexts. It presents state-of-the-art techniques, methodologies, tools, best practices, and guidelines for developing adaptive systems, and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to, how to architect a system for adaptability, software architecture for self-adaptive systems, understanding and balancing the trade-offs involved, architectural patterns for self-adaptive systems, how quality attributes are exhibited by the architecture of the system, how to connect the quality of a software architecture to system architecture or other system considerations, and more. Explains software architectural processes and metrics supporting highly adaptive and complex engineering Covers validation, verification, security, and quality assurance in system design Discusses domain-specific software engineering issues for cloud-based, mobile, context-sensitive, cyber-physical, ultra-large-scale/internet-scale systems, mash-up, and autonomic systems Includes practical case studies of complex, adaptive, and context-critical systems