
Managing Trade-offs in Adaptable Software Architectures
Description
Key Features
- 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
Readership
Researchers, practitioners, and graduate students of software engineering and software quality assurance; working software designers and IT managers
Table of Contents
- About the Editors
- Foreword by David Garlan
- Foreword by Nenad Medvidovic Behold the Golden Age of Software Architecture
- 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
- Abstract
- 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
- Part I: Concepts and Models for Self-Adaptive Software Architectures
- Chapter 2: Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges
- Abstract
- 2.1 Introduction
- 2.2 Motivation: A Web-Mashup Application
- 2.3 Adaptation vs. Self-Adaptation
- 2.4 Foundational Concepts for Architecting Self-Adaptive Software
- 2.5 Reference Models for Architecting Self-Adaptive Software
- 2.6 Major Architectural Challenges in Self-Adaptation
- 2.7 Summary
- Chapter 3: A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Requirements
- Abstract
- 3.1 Introduction
- 3.2 Study Design
- 3.3 Results
- 3.4 Discussion
- 3.5 Conclusion and Future Work
- Chapter 4: An Architecture Viewpoint for Modeling Dynamically Configurable Software Systems
- Abstract
- 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.6 Case Study—Adaptability View of the SCM Software Architecture
- 4.7 Related Work
- 4.8 Conclusion
- Chapter 5: Adaptive Security for Software Systems
- Abstract
- 5.1 Introduction
- 5.2 Motivation
- 5.3 Security Engineering State-of-the-Art
- 5.4 Runtime Security Adaptation
- 5.5 Usage Example
- 5.6 Discussion
- 5.7 Chapter Summary
- Appendix
- Chapter 2: Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges
- 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
- Abstract
- Acknowledgments
- 6.1 Introduction
- 6.2 Motivating Application
- 6.3 Shortcomings With the State-of-the-Art
- 6.4 Overview of Inference-Based Techniques
- 6.5 Learning-Based Approach for Goal Management
- 6.6 Mining-Based Approach for Change Management
- 6.7 Related Work
- 6.8 Conclusion
- Chapter 7: Evaluating Trade-Offs of Human Involvement in Self-Adaptive Systems
- Abstract
- Acknowledgments
- 7.1 Introduction
- 7.2 Motivating Scenario
- 7.3 Related Work
- 7.4 Analyzing Trade-Offs in Self-Adaptation
- 7.5 Analyzing Trade-Offs of Involving Humans in Adaptation
- 7.6 Reasoning About Human-in-the-Loop Adaptation
- 7.7 Conclusion
- Chapter 8: Principled Eliciting and Evaluation of Trade-Offs When Designing Self-Adaptive Systems Architectures
- Abstract
- 8.1 Introduction
- 8.2 Requirements for Automated Architecture Design and Analysis
- 8.3 The DuSE Approach for Automated Architecture Design and Analysis
- 8.4 Automating the Design and Analysis of Self-Adaptive Systems Architectures
- 8.5 Evaluation
- 8.6 Conclusions and Future Work
- Chapter 9: Analyzing the Architectures of Software-Intensive Ecosystems
- Abstract
- 9.1 Introduction
- 9.2 The Metropolis Model and Core-Periphery Structures
- 9.3 The Challenge to Architecture Analysis
- 9.4 Extending Architectural Analysis
- 9.5 An Example Analysis
- 9.6 Conclusions/Future Research
- Chapter 10: Architectural Perspective for Design and Analysis of Scalable Software as a Service Architectures
- Abstract
- 10.1 Introduction
- 10.2 Software as a Service Architecture
- 10.3 Software Architecture Perspective
- 10.4 Case Study
- 10.5 Software Architecture Perspective for Scalability
- 10.6 Related Work
- 10.7 Conclusion
- Chapter 6: Automated Inference Techniques to Assist With the Construction of Self-Adaptive Software
- Part III: Managing Trade-Offs in Self-Adaptive Software Architectures
- Chapter 11: Managing Trade-offs in Self-Adaptive Software Architectures: A Systematic Mapping Study
- Abstract
- 11.1 Introduction
- 11.2 Background
- 11.3 Systematic Mapping Protocol
- 11.4 Systematic Mapping Process
- 11.5 Results and Discussions
- 11.6 Related Surveys
- 11.7 Challenges and Research Directions
- 11.8 Conclusions and Future Work
- Appendix A Primary Studies
- Appendix B Classification and Data Extraction of Primary Studies
- Chapter 12: The Many Facets of Mediation: A Requirements-Driven Approach for Trading Off Mediation Solutions
- Abstract
- Acknowledgments
- 12.1 Introduction
- 12.2 The Different Perspectives on Mediation
- 12.3 The Software Architecture Perspective: Mediators as Connectors
- 12.4 The Middleware Perspective: Mediators as Middleware
- 12.5 The Formal Methods Perspective: Mediators as Controllers
- 12.6 The Semantic Web Perspective: Mediators as Translators
- 12.7 Mediator Synthesis as a Service
- 12.8 Requirements and Mediation
- 12.9 Summary
- Chapter 11: Managing Trade-offs in Self-Adaptive Software Architectures: A Systematic Mapping Study
- Part IV: Quality Assurance in Self-Adaptive Software Architectures
- Chapter 13: An Overview on Quality Evaluation of Self-Adaptive Systems
- Abstract
- 13.1 Introduction
- 13.2 Evaluation of Self-Adaptive Systems
- 13.3 Evaluation Based on Quality Attributes
- 13.4 Evaluation Based on Software Metrics
- 13.5 Trade-offs in Evaluation of Self-Adaptive Systems
- 13.6 Conclusions and Further Work
- Chapter 14: Identifying and Handling Uncertainties in the Feedback Control Loop
- Abstract
- 14.1 Introduction
- 14.2 Motivation
- 14.3 Methodology
- 14.4 Case Study: Identification of Uncertainties
- 14.5 Related Work
- 14.6 Conclusions
- Chapter 13: An Overview on Quality Evaluation of Self-Adaptive Systems
- Glossary
- Author Index
- Subject Index
Product details
- No. of pages: 430
- Language: English
- Copyright: © Morgan Kaufmann 2016
- Published: August 11, 2016
- Imprint: Morgan Kaufmann
- Paperback ISBN: 9780128028551
- eBook ISBN: 9780128028919
About the Editors
Ivan Mistrik
Ivan Mistrik is a computer scientist who is interested in system and software engineering (SE/SWE) and in system and software architecture (SA/SWA), in particular: life cycle system/software engineering, requirements engineering, relating software requirements and architectures, knowledge management in software development, rationale-based software development, aligning enterprise/system/software architectures, and collaborative system/software engineering. He has more than forty years’ experience in the field of computer systems engineering as an information systems developer, R&D leader, SE/SA research analyst, educator in computer sciences, and ICT management consultant.
In the past 40 years, he has been primarily working at various R&D institutions and has done consulting on a variety of large international projects sponsored by ESA, EU, NASA, NATO, and UN. He has also taught university-level computer sciences courses in software engineering, software architecture, distributed information systems, and human-computer interaction. He is the author or co-author of more than 80 articles and papers in international journals, conferences, books and workshops, most recently a chapter Capture of Software Requirements and Rationale through Collaborative Software Development, a paper Knowledge Management in the Global Software Engineering Environment, and a paper Architectural Knowledge Management in Global Software Development.
He has written a number of editorials and prefaces, most recently for the book on Aligning Enterprise, System, and Software Architecture and the book on Agile Software Architecture. He has also written over 120 technical reports and presented over 70 scientific/technical talks. He has served in many program committees and panels of reputable international conferences and organized a number of scientific workshops, most recently two workshops on Knowledge Engineering in Global Software and Development at International Conference on Global Software Engineering 2009 and 2010 and IEEE International Workshop on the Future of Software Engineering for/in the Cloud (FoSEC) held in conjunction with IEEE Cloud 2011.He has been the guest-editor of IEE Proceedings Software: A special Issue on Relating Software Requirements and Architectures published by IEE in 2005 and the lead-editor of the book Rationale Management in Software Engineering published by Springer in 2006. He has been the co-author of the book Rationale-Based Software Engineering published by Springer in May 2008. He has been the lead-editor of the book Collaborative Software Engineering published by Springer in 2010, the book on Relating Software Requirements and Architectures published by Springer in 2011 and the lead-editor of the book on Aligning Enterprise, System, and Software Architectures published by IGI Global in 2012. He was the lead-editor of the Expert Systems Special Issue on Knowledge Engineering in Global Software Development and the co-editor of the JSS Special Issue on the Future of Software Engineering for/in the Cloud, both published in 2013. He was the co-editor for the book on Agile Software Architecture published in 2013. Currently, he is the lead-editor for the book on Economics-driven Software Architecture to be published in 2014.
Affiliations and Expertise
Nour Ali
Affiliations and Expertise
Rick Kazman
Affiliations and Expertise
John Grundy
Affiliations and Expertise
Bradley Schmerl
Affiliations and Expertise
Ratings and Reviews
There are currently no reviews for "Managing Trade-offs in Adaptable Software Architectures"