
Managing Trade-offs in Adaptable Software Architectures
Morgan Kaufmann (Publisher)
Published on 11. August 2016
Book
Paperback/Softback
430 pages
978-0-12-802855-1 (ISBN)
Description
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.
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.
Reviews / Votes
Contributions Include:? Norha M. Villegas (Universidad Icesi, Colombia) discusses architecting software systems for runtime self-adaptation: concepts, models, instrumentation and challenges
? Mohamed Almorsy Abdelrazek (Deakin University, Australia) explores adaptive security for software systems
? Sam Malek (University of California, Irvine, USA) delves into automated inference techniques to assist with construction of adaptable software architectures
? Javier Camara (Carnegie Mellon University, USA) evaluates trade-offs of human involvement in self-adaptive systems
? Maria Salama (University of Birmingham, UK) presents a systematic mapping study on managing trade-offs in self-adaptive architectures
? Amel Bennaceur (The Open University, UK) examines the many facets of mediation: a requirements-driven approach for trading-off mediation solutions
? Claudia Raibulet (University of Milano-Bicocca, Italy) proposes an overview of quality evaluation mechanisms for self-adaptive systems
Plus Forewords from:
? David Garlan (Carnegie Mellon University, USA)
? Nenad Medvidovic (University of Southern California, USA) on the Golden Age of software architecture, that continues on in finding solutions to the problem of how quality trade-offs are managed in adaptable software architectures.
? Paris Avgeriou (University of Groningen, Netherlands) on the current problems and potential solutions in managing tradeoffs of quality attributes in self-adaptive architectures
? Rogerio De Lemos (University of Kent, UK)
And much more...
More details
Language
English
Place of publication
San Francisco
United States
Publishing group
Elsevier Science & Technology
Target group
Professional and scholarly
Product notice
Paperback (trade)
Dimensions
Height: 233 mm
Width: 189 mm
Thickness: 27 mm
Weight
914 gr
ISBN-13
978-0-12-802855-1 (9780128028551)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
Additional editions

Ivan Mistrik | Nour Ali | Rick Kazman
Managing Trade-offs in Adaptable Software Architectures
E-Book
08/2016
Morgan Kaufmann
€85.95
Available for download
Persons
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.
Nour Ali is a Senior Lecturer at the University of Brighton since December, 2012. She holds a PhD in Software Engineering from the Polytechnic University of Valencia-Spain for her work in Ambients in Aspect-Oriented Software Architecture. Her research area encompasses service oriented architecture, software architecture, model driven engineering and mobile systems. In 2014, the University of Brighton have awarded her a Rising Stars project in Service Oriented Architecture Recovery and Consistency. Rick Kazman is a Professor at the University of Hawaii and a Principal Researcher at the Software Engineering Institute of Carnegie Mellon University. His primary research interests are software architecture, design and analysis tools, software visualization, and software engineering economics. He also has interests in human-computer interaction and information retrieval. Kazman has created several highly influential methods and tools for architecture analysis, including the SAAM (Software Architecture Analysis Method), the ATAM (Architecture Tradeoff Analysis Method), the CBAM (Cost-Benefit Analysis Method) and the Dali architecture reverse engineering tool. John Grundy is Professor of Software Engineering, Dean of Software and Electrical Engineering and Director of the Centre for Computing and Engineering Software Systems at the Swinburne University of Technology. Previously he was Professor of Software Engineering and Head of Department for Electrical and Computer Engineering at the University of Auckland, New Zealand. He is Assistant Editor in Chief of IEEE Transactions on Software Engineering, and Associate Editor for IEEE Software and Automated Software Engineering. He is on the Steering Committee of the IEEE/ACM International Conference on Automated Software Engineering. Bradley Schmerl is a Senior Systems Scientist in the School of Computer Science at Carnegie Mellon University, USA. He has been involved in research in self-adaptive systems for over 20 years, starting with his Ph.D. at Flinders University in South Australia, which investigated using configuration management techniques to manage dynamically changing systems. He was a Lecturer at Flinders University and an Assistant Professor at Clemson University in South Carolina before joining CMU in 2000. At CMU he has been involved in research using software architecture models as a basis for reasoning about self-adapting systems, including using utility theory to select appropriate strategies that balance multiple quality and business priorities.
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.
Nour Ali is a Senior Lecturer at the University of Brighton since December, 2012. She holds a PhD in Software Engineering from the Polytechnic University of Valencia-Spain for her work in Ambients in Aspect-Oriented Software Architecture. Her research area encompasses service oriented architecture, software architecture, model driven engineering and mobile systems. In 2014, the University of Brighton have awarded her a Rising Stars project in Service Oriented Architecture Recovery and Consistency. Rick Kazman is a Professor at the University of Hawaii and a Principal Researcher at the Software Engineering Institute of Carnegie Mellon University. His primary research interests are software architecture, design and analysis tools, software visualization, and software engineering economics. He also has interests in human-computer interaction and information retrieval. Kazman has created several highly influential methods and tools for architecture analysis, including the SAAM (Software Architecture Analysis Method), the ATAM (Architecture Tradeoff Analysis Method), the CBAM (Cost-Benefit Analysis Method) and the Dali architecture reverse engineering tool. John Grundy is Professor of Software Engineering, Dean of Software and Electrical Engineering and Director of the Centre for Computing and Engineering Software Systems at the Swinburne University of Technology. Previously he was Professor of Software Engineering and Head of Department for Electrical and Computer Engineering at the University of Auckland, New Zealand. He is Assistant Editor in Chief of IEEE Transactions on Software Engineering, and Associate Editor for IEEE Software and Automated Software Engineering. He is on the Steering Committee of the IEEE/ACM International Conference on Automated Software Engineering. Bradley Schmerl is a Senior Systems Scientist in the School of Computer Science at Carnegie Mellon University, USA. He has been involved in research in self-adaptive systems for over 20 years, starting with his Ph.D. at Flinders University in South Australia, which investigated using configuration management techniques to manage dynamically changing systems. He was a Lecturer at Flinders University and an Assistant Professor at Clemson University in South Carolina before joining CMU in 2000. At CMU he has been involved in research using software architecture models as a basis for reasoning about self-adapting systems, including using utility theory to select appropriate strategies that balance multiple quality and business priorities.
Editor
Systems Engineering Researcher/Consultant, Heidelberg, Germany
Senior Lecturer, University of Brighton, UK
Professor at the University of Hawaii and a Principal Researcher at the Software Engineering, Institute of Carnegie Mellon University, USA
Pro Vice-Chancellor - ICT Innovation & Translation and Professor of Software Engineering, School of Information Technology, Faculty of Science Engineering
& Built Environment, Deakin University, Australia
& Built Environment, Deakin University, Australia
Senior Systems Scientist in the School of Computer Science at Carnegie Mellon University, USA
Content
1. Managing Trade-Offs in Adaptable Software Architectures
Part I: Concepts and Models for Self-Adaptive Software Architectures
2. Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges
3. A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Requirements
4. An Architecture Viewpoint for Modeling Dynamically Configurable Software Systems
5. Adaptive Security for Software Systems
Part II: Analyzing and Evaluating Trade-Offs in Self-Adaptive Software Architectures
6. Automated Inference Techniques to Assist With the Construction of Self-Adaptive Software
7. Evaluating Trade-Offs of Human Involvement in Self-Adaptive Systems
8. Principled Eliciting and Evaluation of Trade-Offs When Designing Self-Adaptive Systems Architectures
9. Analyzing the Architectures of Software-Intensive Ecosystems
10. Architectural Perspective for Design and Analysis of Scalable Software as a Service Architectures
Part III: Managing Trade-Offs in Self-Adaptive Software Architectures
11. Managing Trade-offs in Self-Adaptive Software Architectures: A Systematic Mapping Study
12. The Many Facets of Mediation: A Requirements-Driven Approach for Trading Off Mediation Solutions
Part IV: Quality Assurance in Self-Adaptive Software Architectures
13. An Overview on Quality Evaluation of Self-Adaptive Systems
14. Identifying and Handling Uncertainties in the Feedback Control Loop
Part I: Concepts and Models for Self-Adaptive Software Architectures
2. Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges
3. A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Requirements
4. An Architecture Viewpoint for Modeling Dynamically Configurable Software Systems
5. Adaptive Security for Software Systems
Part II: Analyzing and Evaluating Trade-Offs in Self-Adaptive Software Architectures
6. Automated Inference Techniques to Assist With the Construction of Self-Adaptive Software
7. Evaluating Trade-Offs of Human Involvement in Self-Adaptive Systems
8. Principled Eliciting and Evaluation of Trade-Offs When Designing Self-Adaptive Systems Architectures
9. Analyzing the Architectures of Software-Intensive Ecosystems
10. Architectural Perspective for Design and Analysis of Scalable Software as a Service Architectures
Part III: Managing Trade-Offs in Self-Adaptive Software Architectures
11. Managing Trade-offs in Self-Adaptive Software Architectures: A Systematic Mapping Study
12. The Many Facets of Mediation: A Requirements-Driven Approach for Trading Off Mediation Solutions
Part IV: Quality Assurance in Self-Adaptive Software Architectures
13. An Overview on Quality Evaluation of Self-Adaptive Systems
14. Identifying and Handling Uncertainties in the Feedback Control Loop