Architectures for Adaptive Software Systems (Springer Berlin Heidelberg, 2020)