Software adaptation in an open environment : a software architecture perspective /: a software architecture perspective. (2017)