This book addresses the challenges in the software engineering of variability-intensive systems. Variability-intensive systems can support different usage scenarios by accommodating different and unforeseen features and qualities. The book features academic and industrial contributions that discuss the challenges in developing, maintaining and evolving systems, cloud and mobile services for variability-intensive software systems and the scalability requirements they imply. The book explores software engineering approaches that can efficiently deal with variability-intensive systems as well as applications and use cases benefiting from variability-intensive systems.
1 Variability-intensive Software Systems: Concepts and Techniques
Part I CONCEPTS AND MODELS
2 Observations from Variability Modelling Approaches at the Architecture Level
3 Context Modelling for Variability-intensive Systems During Requirements Engineering
4 Variability Incorporated Simultaneous Decomposition of Models UnderStructural and Procedural Views
Part II A NALYZING AND EVALUATING
5 Towards Self-securing Software Systems: Variability Spectrum
6 The Emerging Role of the Ecosystems Architect
7 Features and How to Find Them: A Survey of Manual Feature Location
8 A Debt-Aware Software Product Lines Engineering Using Portfolio Theory
9 Realising Variability in Dynamic Software Product Lines
Part III TECHNOLOGIES, EXPERIMENTS, AND STUDIES
10 A Feature Ontology to Power Enterprise-Level Product Line Engineering
11 Design of Variable Big Data Architectures for E-Government Domain
12 Refactoring Support for Variability-intensive Systems
13 Variability in Library Evolution: An Exploratory Study on Open-Source Java Libraries
14 Evolving Variability Requirements of IoT Systems
15 Outlook and Future Directions
Ivan Mistrík is a researcher in software-intensive systems engineering. He is a computer scientist who is interested in system and software engineering and in system and software architecture. 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.
Matthias Galster is a Senior Lecturer in the Department of Computer Science and Software Engineering at the University of Canterbury, New Zealand. Previously he received a PhD in Software Engineering. His current work aims at improving the way we develop high quality software, with a focus on software requirements engineering, software architecture, software development processes and practices, and empirical software engineering.
Bruce R. Maxim has worked as a software engineer, project manager, professor, author, and consultant for more than thirty years. His research interests include software engineering, human computer interaction, game design, AR/VR, social media, artificial intelligence, and computer science education. Bruce Maxim is associate professor of computer and information science at the University of Michigan-Dearborn. Rami Bahsoon is a Senior Lecturer in Software Engineering and founder of the 'Software Engineering for/in the Cloud' interest groups at the School of Computer Science, University of Birmingham, UK, working in areas related to cloud software engineering and economics-driven software engineering and architecture. Bahsoon had founded and co-organized the International Software Engineering Workshop series on Software Architecture and Mobility held in conjunction with ICSE and the IEEE International Software Engineering for/in the Cloud workshop in conjunction with IEEE Services.