Issues in Software Architecture: Online Updates and Architectural Evaluation (Issues in software architectuur: dynamisch aanpassen van software en architectuur evaluatie)
Issues in Software Architecture: Online Updates and Architectural Evaluation
Michalik, Bartosz; R0225415
It is generally accepted that software architecture lays the foundationfor software qualities. In this dissertation we focus on two concrete engineering problems in which software architecture plays a primary role. In the first line of research we focus on online updates to Software Product Line (SPL) products. We consider coarse-grained updates of deployed products, which are performed by software integrators. Our concrete focus is on two key requirements of a successful update: correctness and optimal availability of the system under update. Oftenan important characteristic of the problem context in practice is a lack of accurate architecture models of deployed products and their execution environment. However, these models are required to perform update tasks. The goal of our research is to enable integrators to perform correctupdates with minimal interruption to the running processes when accurate architecture models are lacking. To achieve this goal we propose the architecture-centric approach which comprises two complementary parts: anupdate viewpoint and a supporting framework, which makes the update viewpoint operational. We apply the approach to an industrial SPL for logistics systems and an educational SPL for multi-player games. The results of an empirical experiment with the stakeholders of the industrial SPL show significant improvement in the quality of updates. In addition, we formally verified the properties of the architecture-centric approach with Alloy. In the second line of research we focus on supporting knowledge transfer of architecture evaluation to students and IT professionals, which is known to be hard. The goal of this research is to propose a method to facilitate the transfer of knowledge on architecture evaluation. To that end, we propose Technical Drama, an approach which consists of three acts that provide theoretical background, give an opportunity for training, and allow verification of the obtained skills. We evaluate the usefulness of the method in industrial and classroom case studies. The results of the studies indicate that Technical Drama is useful for teaching architecture evaluation with ATAM. However, additional assessment is required to to compare the benefits of Technical Drama with more traditional teaching styles.