Cargando…

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

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Elsevier Science 2016.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000M 4500
001 OR_ocn968119963
003 OCoLC
005 20231017213018.0
006 m o d
007 cr |||||||||||
008 160812s2016 xx o 000 0 eng d
040 |a FEM  |b eng  |e pn  |c FEM  |d OCLCQ  |d YDX  |d UMI  |d TOH  |d STF  |d COO  |d DEBBG  |d NAM  |d LVT  |d OCLCO 
019 |a 958413203  |a 958459768  |a 958479124  |a 969052191 
020 |a 9780128028919  |q (electronic bk.) 
020 |a 0128028912 
020 |a 0128028556 
020 |a 9780128028551 
029 1 |a AU@  |b 000059028796 
029 1 |a DEBBG  |b BV043969878 
029 1 |a DEBSZ  |b 485804085 
029 1 |a GBVCP  |b 882758446 
035 |a (OCoLC)968119963  |z (OCoLC)958413203  |z (OCoLC)958459768  |z (OCoLC)958479124  |z (OCoLC)969052191 
037 |a CL0500000783  |b Safari Books Online 
050 4 |a QA76.754  |b .M36 2017 
082 0 4 |a 005.1/2  |2 23 
049 |a UAMI 
245 0 0 |a Managing Trade-offs in Adaptable Software Architectures. 
260 |b Elsevier Science  |c 2016. 
300 |a 1 online resource 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |2 rda 
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. 
588 0 |a Vendor-supplied metadata. 
504 |a Includes bibliographical references and index. 
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. 
505 8 |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 8 |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 8 |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 8 |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. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Software architecture. 
650 6 |a Architecture logicielle. 
650 7 |a Software architecture.  |2 fast  |0 (OCoLC)fst01200416 
655 4 |a Programming; Software Development & Engineering. 
776 0 8 |i Print version:  |t Managing trade-offs in adaptable software architectures.  |d Amsterdam, [Netherlands] : Elsevier, c2017  |h xxxvi, 394 pages  |z 9780128028551 
856 4 0 |u https://learning.oreilly.com/library/view/~/9780128028919/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a YBP Library Services  |b YANK  |n 13124475 
994 |a 92  |b IZTAP